XA_Transaction Issue for SQL Server

Product/components used and version/fix level:

Version: 10.15

Detailed explanation of the problem:

I am using XA_Transaction connection since I need to make calls to two different database adapter services (different servers). but I am getting the below error when I run the adapter service

Error messages / full error message screenshot / log file:

[SCC.126.109] Failed to enlist transaction resources from connection. Transaction will be aborted.

Hi Suma,

please provide an outline of your service as screenshot, with transaction handling services as well as your adapter services.

Are the connections to the databases configured properly?

Are the services only reading from the DB or do you plan to insert or update data in databases?
When you are only reading you can stick with NO_TRANSACTION connections, only for inserting and updating you will require transactional connections.

Regards,
Holger

I have attached the screenshot of the error that I get when I try to create a adapter service on the XA_Transaction connection.

Below is the screenshot of the XA_transaction connection.

Hi Suma,

please provide more details as the two screenshots refer to two different connections.

Can you check the error log of the IS for the details why resourceDomainLookupValues is failing?

Regards,
Holger

Hi Holger,

Thanks for your response. I’m very new to webMethods, my requirement is simple, where I need to call both READ & UPDATE to different DBs in a flow service. But when I use both READ & Update within a flow service I get the below error

“[ART.114.303] Adapter Runtime (Transaction): Unable to commit transaction.
[ART.117.4015] Adapter Runtime (Adapter Service): Error(s) occurred while closing adapter connections.
[ART.117.4015] Adapter Runtime (Adapter Service): Error(s) occurred while closing adapter connections.”

This is the screenshot of the flow service
image

I understand we can’t make both Read & Update in a LOCAL_Transaction, so I am trying to create XA_Transaction for UPDATE. But with XA_Transaction connection, I am not able to create the adapter service itself.

Below is the screenshot of the XA_Transaction connection that I have created.

Appreciate your any help on this.

Thanks,
Suma

You don’t really need a transaction for read and update. Transaction is only necessary when making multiple changes on to multiple tables. I assume ExportFieldData_Vendors service doesn’t update anything (cause I don’t see a roll back service in error handler) so you can just remove transactions.

Btw your getLastError service is in wrong block (again assuming first inner sequence is try and second one is error handler block (it is usually a good idea to add comments in those blocks)). Your try catch blocks are properly configured right? It should be like this
outter => exit on success
first inner => exit on failure
second inner => exit on done

1 Like

Hi, Thanks for your response.
I did remove the transactions as suggested, It works only for the first time then I get the below error message on subsequent Runs

Hi Suma,

please make sure that getLastError is ALWAYS the first step in second inner sequence.

Please note that services with explicit transactional handling cannot be debugged in Designer.

Please provide details, which of the three db services is connecting to which db and if it is read only or not?

Regards,
Holger

Please see the screenshot.

Issue is when I am having mixed DB connections, It errors out when I use multiple database connections pointing to different databases in a single flow service.
Flow service works fine when I do both Read & update on the same database.

Thanks,
Suma

Hi Suma,

in this scenarion you won´t need explicit tranasaction handling at all.
Use NO_TRANASACTION connections for reading from DB1 and DB2 and use a LOCAL_TRANSACTION connection for updating DB1 while using implicit transaction handling here.

Regards,
Holger

2 Likes

Thank you Holger! This worked!

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.