Author |
Message
|
Nizam |
Posted: Mon May 24, 2004 9:22 am Post subject: ESQL TO ADD MQCIH HEADER |
|
|
Disciple
Joined: 10 Feb 2004 Posts: 160
|
Hi,
I have this ESQL code to add MQCIH header to invoke DPL program using CICS bridge.
I am trying to put the messages using alternate user authority.
My messages end up in the failure queue when I try to add the MQCIH header information.
My flow is as follows
Local queue(MQInput) -> Compute -> Output queue(Remote Queue Def)
Do you have any comments on this code?
Thanks
CREATE PROCEDURE CopyEntireMessage() BEGIN
SET OutputRoot = InputRoot;
SET OutputRoot.MQMD.Format = MQFMT_CICS;
SET OutputRoot.MQMD.ReplyToQ ='CCC.REPLYTO.QUEUE';
SET OutputRoot.MQMD.MsgId = MQMI_NONE;
SET OutputRoot.MQMD.CorrelId = MQCI_NEW_SESSION;
SET OutputRoot.MQMD.MsgType = MQMT_REQUEST;
SET OutputRoot.MQMD.UserIdentifier = 'ICS0001';
SET OutputRoot.MQCIH.Format = MQFMT_STRING;
SET OutputRoot.MQCIH.Authenticator = 'DFDASC34';
SET OutputRoot.MQCIH.UOWControl = MQCUOWC_ONLY;
END; |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon May 24, 2004 9:24 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
What is the given error message when the messages end up on the failure queue? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
Nizam |
Posted: Mon May 24, 2004 10:07 am Post subject: |
|
|
Disciple
Joined: 10 Feb 2004 Posts: 160
|
The string I have sent from the input queue ends up in the failure queue. |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon May 24, 2004 10:10 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
And what error message is logged when the string ends up in the error queue? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
Nizam |
Posted: Mon May 24, 2004 10:27 am Post subject: |
|
|
Disciple
Joined: 10 Feb 2004 Posts: 160
|
These are the error messages I find in the application log
1.
( CCCBRK.smarri ) Error detected whilst processing a message in node 'CCCTransformFlow.CCC.TEST.RCIN'.
The message broker detected an error whilst processing a message in node 'CCCTransformFlow.CCC.TEST.RCIN'. An exception has been thrown to cut short the processing of the message.
See the following messages for details of the error.
2. ( CCCBRK.smarri ) Exception condition detected on input node 'CCCTransformFlow.CCC.IN'.
The input node 'CCCTransformFlow.CCC.IN' detected an error whilst processing a message. The message flow has been rolled-back and, if the message was being processed in a unit of work, it will remain on the input queue to be processed again. Following messages will indicate the cause of this exception.
Check the error messages which follow to determine why the exception was generated, and take action as described by those messages. |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon May 24, 2004 10:35 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
nizam wrote: |
Check the error messages which follow |
_________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
Nizam |
Posted: Mon May 24, 2004 11:53 am Post subject: |
|
|
Disciple
Joined: 10 Feb 2004 Posts: 160
|
I see the following error message
( CCCBRK.smarri ) Invalid message body/header sequence 'none'/'MQCICS' encountered by node 'CCCTransformFlow.CCC.IN'.
The message broker has encountered a message body of type 'none' followed by a message header of type 'MQCICS'. It is not valid to have message headers following message bodies.
Identify the source of the invalid message. |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon May 24, 2004 12:10 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
nizam wrote: |
I see the following error message
( CCCBRK.smarri ) Invalid message body/header sequence 'none'/'MQCICS' encountered by node 'CCCTransformFlow.CCC.IN'.
The message broker has encountered a message body of type 'none' followed by a message header of type 'MQCICS'. It is not valid to have message headers following message bodies.
Identify the source of the invalid message. |
This may be because you are executing the following steps in this order.
Code: |
SET OutputRoot = InputRoot;
SET OutputRoot.MQMD.Format = MQFMT_CICS; |
Try putting the Set OutputRoot = InputRoot; at the end of the procedure instead of the beginning.
Or switch to using the CopyHeader procedure and then manually setting the body of the message. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
|