ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » IBM MQ API Support » 2354 (0932) (RC2354): MQRC_UOW_ENLISTMENT_ERROR

Post new topic  Reply to topic
 2354 (0932) (RC2354): MQRC_UOW_ENLISTMENT_ERROR « View previous topic :: View next topic » 
Author Message
drummerboyuk
PostPosted: Wed Feb 08, 2012 3:08 am    Post subject: 2354 (0932) (RC2354): MQRC_UOW_ENLISTMENT_ERROR Reply with quote

Newbie

Joined: 08 Feb 2012
Posts: 7

Hi,

I am getting the

2354 (0932) (RC2354): MQRC_UOW_ENLISTMENT_ERROR

error when running a COM+ (x86) (written in Delphi) on a Windows 2008 Server (64 bit) R2 server. The COM+ object has been ported from a Windows 2003 Server (32 bit) R2 server.
I am using v7.0.1.3 MQ Websphere client and the MQ Websphere server is also running on v7.

The problem appears to be happening when trying to get the message
from the queue. Does not seem to beable to read it.
-------------------------------------------------------------------------------
QueueSession := coMQSession.CreateRemote(FConfigInfo.Values[MQCOMPUTER_NAME]);

QueueManagerName := FConfigInfo.Values[MQMGR_NAME];
QueueManager := QueueSession.AccessQueueManager(QueueManagerName) as IMQQueueManager200;

Queue := QueueManager.AccessQueue(
FConfigInfo.Values[MQINBOUND_QUEUE],
MQOO_INPUT_AS_Q_DEF + MQOO_BROWSE, QueueManagerName, '', '') as IMQQueue200;

GetOptions := QueueSession.AccessGetMessageOptions as IMQGetMessageOptions200;

GetOptions.WaitInterval := StrToInt(FConfigInfo.Values[MQWAITINTERVAL]);
GetOptions.Options := MQGMO_WAIT + MQGMO_SYNCPOINT;

Queue.Get(MQMessage, GetOptions, 32000);

{$ifdef DEBUG}
TNTEventService.LogEventMessage('MQRead',
'Current queue message depth '+inttostr(Queue.CurrentDepth), EVENTLOG_INFORMATION_TYPE, 15900);
{$endif}

{$ifdef DEBUG}
TNTEventService.LogEventMessage('MQRead',
'MQMessage length '+inttostr(MQMessage.MessageLength), EVENTLOG_INFORMATION_TYPE, 15900);
{$endif}
-------------------------------------------------------------------------------
MessageLength is 0?
Queue message depth is -2? (but there is definitely a message on the queue)
and (Queue.CompletionCode = MQCC_OK) is obviously False.

I believe I have ported the COM+ objects correctly and the object timeout is set to 0.

The settings (checked) for the local DTC on the Windows 2008 server R2 (64 bit) are

Allow Remote Clients
Allow Remote Administration

Transaction Manager Communication
Allow inbound
Allow outbound

No Authentication Required

Enable XA Transactions
Enable SNA LU 6.2 Transactions

DTC logon Account
NetworkService

As a final question is it possible for me to perhaps build the COM+ objects as 64 bit components (in Delphi XE2) and get them to work? I am guessing this would this require the use of a different MQ dll?

I am pretty new to MQ Websphere so please forgive my lack of knowledge.

Any help of advice greatly appreciated (when trying to port this MQ code).
This all seems to work fine (reading from the same queues) on a Windows 2003 Server R2 (32 bit).

Thanks
Stef
Back to top
View user's profile Send private message
JasonE
PostPosted: Wed Feb 08, 2012 4:02 am    Post subject: Reply with quote

Grand Master

Joined: 03 Nov 2003
Posts: 1220
Location: Hursley

Try going to the mqm group and explicitly adding 'Network Service'... May or may not work (I am aware of an issue on Windows 7 around this for a different reason).
Back to top
View user's profile Send private message
drummerboyuk
PostPosted: Fri Feb 10, 2012 8:17 am    Post subject: Reply with quote

Newbie

Joined: 08 Feb 2012
Posts: 7

Thanks for your reply.

The error I reported initially has thankfully gone away. I rebooted the server and suddenly it started working. So I guess I can confirm as you suggested the old MQAX200.DLL does appear to work (be supported) on a Windows 2008 64 bit server (when using 32bit COM+).

However unfortunately I now appear to have an issue with the MS DTC and am getting the 'New transaction cannot enlist in the specified transaction coordinator' (when the COM+ object running on the server tries to create a transaction). Does anyone have an experience of this issue on a Windows 2008 64 server?

Thanks for your help
Stef
Back to top
View user's profile Send private message
JasonE
PostPosted: Mon Feb 13, 2012 4:45 am    Post subject: Reply with quote

Grand Master

Joined: 03 Nov 2003
Posts: 1220
Location: Hursley

Anything in the mq logs (qmgr or system) or the system or application event viewer? What exact error do you get, and where do you see it. I am aware of one new issue on Window7 and probably 2008R2, but there is a specific error you should see in the qmgr error logs if that's the case.
Back to top
View user's profile Send private message
drummerboyuk
PostPosted: Thu Feb 16, 2012 9:39 am    Post subject: Reply with quote

Newbie

Joined: 08 Feb 2012
Posts: 7

This is the error in the event viewer....

Exception New transaction cannot enlist in the specified transaction coordinator

Errors in the CM trace files.....

02-16-2012 16:42:32:566 : [ 658. 418] 0x800706d9 [ TRACE_CM] [ TRACE_ERROR] CRpcIOManagerClient::SetRpcSecurity (d:\w7rtm\com\complus\dtc\dtc\cm\src\iomgrclt.cpp@559): [Remote:SW340355 e192f87d] Call to RpcEpResolveBinding failed
02-16-2012 16:42:32:566 : [ 658. 418] 0x80000171 [ TRACE_CM] [ TRACE_ERROR] CRpcIOManagerClient::SecurePokeWrapper (d:\w7rtm\com\complus\dtc\dtc\cm\src\iomgrclt.cpp@1127): [Remote:SW340355 e192f87d] Call to SetRpcSecurity failed
02-16-2012 16:42:32:566 : [ 658. 418] 0x80000171 [ TRACE_CM] [ TRACE_ERROR] CRpcIOManagerClient::Poke (d:\w7rtm\com\complus\dtc\dtc\cm\src\iomgrclt.cpp@1004): [Remote:SW340355 e192f87d] SecurePokeWrapper call failed
02-16-2012 16:42:32:566 : [ 658. 418] 0x00000000 [ TRACE_CM] [ TRACE_INFO] CRpcIOManagerClient::Poke (d:\w7rtm\com\complus\dtc\dtc\cm\src\iomgrclt.cpp@1047): Secure Poke failed for LRPC and falling back to unsecure mode... Setting RPC security again!
02-16-2012 16:42:32:566 : [ 658. 418] 0x800706d9 [ TRACE_CM] [ TRACE_ERROR] CRpcIOManagerClient::PokeWrapper (d:\w7rtm\com\complus\dtc\dtc\cm\src\iomgrclt.cpp@1186): [Remote:SW340355 e192f87d] Exception raised in the rpc call C_PokeW


Thanks for your help
Stef
Back to top
View user's profile Send private message
JasonE
PostPosted: Fri Feb 17, 2012 5:20 am    Post subject: Reply with quote

Grand Master

Joined: 03 Nov 2003
Posts: 1220
Location: Hursley

Sorry, out of ideas... If it were me I'd start with MQ trace, then DTC trace, then Proc Mon to try to work out what is going on, but its tough to do this if you havent dont it before...
Back to top
View user's profile Send private message
drummerboyuk
PostPosted: Tue Feb 28, 2012 9:36 am    Post subject: Reply with quote

Newbie

Joined: 08 Feb 2012
Posts: 7

Eventually sorted this problem after a lot of going round in circles trying things. Issue was with the Oracle client 32bit (10g) drivers. Installed a new 32bit Oracle client driver (11g) with the appropriate options and the problem thankfully went away. So perhaps the 32 bit 10g drivers have issues (when interfacing with the MS DTC) on Windows 2008 server 64 bit? More investigation would be needed to be sure. It may have just been the version of the drivers we were trying to use.
Back to top
View user's profile Send private message
JasonE
PostPosted: Tue Feb 28, 2012 10:10 am    Post subject: Reply with quote

Grand Master

Joined: 03 Nov 2003
Posts: 1220
Location: Hursley

For anyone reading this (and you'll all have to wait for it to close in order to see it outside of IBM), IC81688 is the known problem I was talking about for windows 7 / 2008R2 users having DTC issues.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » IBM MQ API Support » 2354 (0932) (RC2354): MQRC_UOW_ENLISTMENT_ERROR
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.