|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Error posting messages in COM+ transaction via MQ Client |
« View previous topic :: View next topic » |
Author |
Message
|
philipb |
Posted: Tue Sep 17, 2002 9:19 am Post subject: Error posting messages in COM+ transaction via MQ Client |
|
|
Newbie
Joined: 17 Sep 2002 Posts: 1
|
We get the following error when posting via a COM+ component marked as "Requires" or "Requires New" transaction:
MQAX200.MQueue::Put CompletionCode = 2, ReasonCode = 2354, Reason Name = Not found in retcode translation table (932) (2354).
Here's the entry in the Application Event Log, raised by DTC:
-----------------------------------------------------------------------------------
The XA Transaction Manager attempted to load the XA resource manager DLL. The call to LOADLIBRARY for the XA resource manager DLL failed: DLL=d:\nt\com\com1x\dtc\dtc\xatm\src\xarmconn.cpp File=2407 Line=%3.
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
-----------------------------------------------------------------------------------
This occurs on a machine with the MQSeries client software only -- no server software. This same component works fine when marked as "supports" transactions. In addition, this error does not occur using the same component on a machine that has MQSeries server installed.
We've attempted increasing the DTC timeout as the help suggests, but this did not help. Any ideas or suggestions would be greatly appreciated. |
|
Back to top |
|
 |
zpat |
Posted: Mon Oct 25, 2004 7:16 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Anyone solved this one as we also seem to have hit the exact same?
I assume this is using the older ActiveX COM+ interface to MQ.
Would it make any difference to use the new MQ .NET support or not? |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Oct 25, 2004 8:07 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
I'm confused.
Why could MTS provide XA transactionality for the non XA compliant MQ Client? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
zpat |
Posted: Tue Oct 26, 2004 12:44 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
It can't but it is attempting to - that is the problem. We don't want a global transaction anyway, we want a local MQ transaction but it is somehow getting drawn into the MTS environment on the same system. |
|
Back to top |
|
 |
regblank |
Posted: Wed Jan 05, 2005 1:37 pm Post subject: COM+ and MQSeries |
|
|
Newbie
Joined: 05 Jan 2005 Posts: 1
|
My understanding is that the MQSeries Client automatically tries to enlist itself in a COM+ transaction when called from a COM+ object. The problem is that MQSeries refuses to elist in a Distributed COM+ transaction when posting from code that is running on a seperate computer than the MQSeries server. That is why it works when you run it locally on the MQSeries machine. (Note: MQSeries will elist in a Distributed COM+ transaction on remote reads though.)
So, here are some options for you.
1. If you don't care about the MQSeries Post enlisting in the COM+ transaction, then create a new DLL that is not a COM+ object, place all your MQSeries Posting logic in there. Then call this Non-COM+ dll to do the posting for you.
2. If you want to enlist the MQSeries post in the COM+ then it would be best to create another COM+ DLL that will handle the Posting logic, register this on the MQSeries Server and then make a DCOM call to the MQSeries server to handle the posting for you.
Good luck,
David Drake |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|