|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
MQCICS Bridge , CSQC723E Error for Pseudo Conversation |
« View previous topic :: View next topic » |
Author |
Message
|
raj_ebiz |
Posted: Tue Jan 28, 2003 6:45 am Post subject: MQCICS Bridge , CSQC723E Error for Pseudo Conversation |
|
|
Novice
Joined: 19 Oct 2002 Posts: 11
|
Hi All,
We are using the MQ-CICS Bridge to invoke a pseudo conv. 3270 txn on CICS.
The Mainframe environment is Z/OS V1.1,MQ 5.2 and CICS TS 2.1 .
The following is our scenario.
A message comes from a front-end application to WMQI. This message has all the necessary
information for the screens in the 3270 txn.
In WMQI we store the message contents in a DB2 table along with MsgId(say M1) and CorrelId.
WMQI sends a message to the CICS Bridge with a Receive vector with the following options.
MsgId is M1, CorrelId is MQCI_NEW_SESSION, MQCIH.Facility=MQCFAC_NONE,MQCIH.TransactionId=<tranid>,
MQCIH.FacilityKeepTime=1000,MQCIH.Format='CSQCBDCI',MQCIH.UOWControl=MQCUOWC_ONLY
Bridge invokes the transaction with the bridge exit and the bridge exit responds back with a Send MAP
Vector message with MsgId M1 and CorrelId M1.
WMQI looks up the DB2 table for MsgId M1 , gets the necessary data builds a inbound receive
Map Vector and sends a message to the bridge with the following options.
MsgId is M1,CorrelId is MQCI_NEW_SESSION, MQCIH.Facility=<From the previous Bridge response),
MQCIH.Format='CSQCBDCI',MQCIH.UOWControl=MQCUOWC_ONLY .
The Bridge now responds with a error message.
CSQC723E Bridge task, 0000542, found on starting or active chain but task is no longer active.
But instead of sending a MsgId of M1 , if i generate a new MsgId using MQMI_NONE, the bridge works fine
and i get a SEND MAP Vector back.
But our problem is we don't want to loose the MsgId as the MsgId is used as the selection criteria for
extracting the data from the DB2 table for further conversations.
Is this the normal operation of the Bridge , if so are there any workarounds.
Any ideas greatly appreciated.
Thanks,
Raj |
|
Back to top |
|
 |
bob_buxton |
Posted: Wed Jan 29, 2003 1:03 am Post subject: |
|
|
 Master
Joined: 23 Aug 2001 Posts: 266 Location: England
|
Each message does need to have a unique message id.
The CICS bridge keeps tracks of the work that it has started (by message id) so that it can clean up after transactions that abend/roll back or fail to start. If you manage to send another message with the same id before the bridge has had a chance to forget about the previous successful transaction with that message id it generates the CSQC723E.
Although the bridge require the message ids be unique it does not require them to be in the format generated by MQ so you could generate your own messages ids. If you created a unique id for your DB2 table entries that is shorter than 26 bytes you could suffix the db2id with a sequence number to create a unique msgid for each message to the bridge.
e.g. DB2 row: dbb2id, sequence no , M1, data
request 1 db2id.1 , new session, MQCIH, receive map
reply 1 db2id.1 , db2id.1 , MQCIH, send map
request 2 db2id.2 , new session, MQCIH, receive map
reply 2 db2id.2 , db2id.2 , MQCIH, send map _________________ Bob Buxton
Ex-Websphere MQ Development |
|
Back to top |
|
 |
raj_ebiz |
Posted: Wed Jan 29, 2003 6:07 am Post subject: |
|
|
Novice
Joined: 19 Oct 2002 Posts: 11
|
Thanks for the explanation. I was under the impression that the Bridge Monitor worries only about the CorrelId . I didnot know that the MsgId is used by bridge for cleanup. It all makes sense now.
Regards,
Raj |
|
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
|
|
|
|