Author |
Message
|
jefflowrey |
Posted: Wed May 30, 2007 7:19 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
If InputRoot.BLOB.BLOB is populated with the MQRFH2 header, then something is wrong with the way the message itself is constructed. At least as far as I know.
Check that the MQMD.Format properly indicates that there is an MQRFH2 header on the message.
Check that the MQRFH2.Format properly indicates MQFMT_NONE or MQFMT_STRING. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
datspats |
Posted: Wed May 30, 2007 7:49 am Post subject: |
|
|
Voyager
Joined: 12 Apr 2007 Posts: 80 Location: Mumbai
|
Hi jeff,
MQMD.Format is of type for MQRFH2 header
MQRFH2.Format properly indicates MQFMT_STRING.
and most confusing thing is, only part of the MQRFH2 header fields are populated, but part of the MQRFH2 header is available in OutputRoot.MQRFH2.
I am trying following code in compute node after the RCD node in method CopyMessageHeader
Quote: |
IF InputRoot.BLOB.BLOB IS NOT NULL THEN
DECLARE I INTEGER;
DECLARE J INTEGER;
SET I = 1;
SET J = CARDINALITY(InputRoot.*[]);
WHILE I < J DO
SET OutputRoot.*[I] = InputRoot.*[I];
SET I = I + 1;
END WHILE;
ELSE
SET OutputRoot.Properties = InputRoot.Properties;
SET OutputRoot.MQMD = InputRoot.MQMD;
SET OutputRoot.MQRFH2 = InputRoot.MQRFH2;
SET OutputRoot.BLOB.BLOB = CAST('' AS BLOB CCSID InputRoot.Properties.CodedCharSetId ENCODING InputRoot.Properties.Encoding);
END IF; |
But InputRoot.BLOB.BLOB is never a null may br InputRoot.MRM has no tree generated.
regards |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed May 30, 2007 7:53 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
What does amqsbcg show for the message? could it be that the RFH2 is not built correctly - either with the wrong lengths, or with an invalid character in some field?
Where is the RFH2 broken apart? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
datspats |
Posted: Wed May 30, 2007 8:05 am Post subject: |
|
|
Voyager
Joined: 12 Apr 2007 Posts: 80 Location: Mumbai
|
Hi jeff,
RFH2 seems to be OK, only part of <usr> section of the MQRFH2 header, is moved to body.
By observation always only last section of the <usr> part of the MQRFH2 is moved to body. But initial few tags are available in MQRFH2 header.
All other section of the MQRFH2 are Ok |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed May 30, 2007 8:08 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Then it's a bug in how the usr folder is constructed. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
datspats |
Posted: Wed May 30, 2007 8:21 am Post subject: |
|
|
Voyager
Joined: 12 Apr 2007 Posts: 80 Location: Mumbai
|
Hi jeff,
when the InputBody is Not NULL in the compute node before RCD node everything is fine, All header go well.
Only problems occurs when the InputBody before RCD node is NULL.
To overcome this I m planning to keep MQRFH2 header in environment variable in Compute node before RCD.
Assign as
Quote: |
OutputRoot.MQRFH2 = Environment.MQRFH2 |
in the compute node after the RCD node. I need to make sure of when the Message body is null or not before RCD node.
For this i will check as
Quote: |
InputBody.* IS NULL |
Is this Ok jeff?
regards |
|
Back to top |
|
 |
|