Author |
Message
|
Jamey |
Posted: Mon Jul 01, 2002 9:24 am Post subject: MQSeries IMS Bridge |
|
|
Newbie
Joined: 28 Jun 2002 Posts: 3
|
Hi all,
I am trying to send a message from MQSeries on windows-2000
thru the MQSeries IMS Bridge to Mainframe. This message is supposed to trigger an IMS process. The message never reaches the destination queue. It is always found in the dead letter queue and with a feedback code of 292 which means "A segment length field was negative in the
application data of the message". I am unable to make anything out of this. I am passing a valid string preceeded by an IMS header. If any of you can throw some light, it will be greatly appreciated. I am a novice to MQSeries and have been grappling with this problem for quite sometime now.
Thanks _________________ JJ |
|
Back to top |
|
 |
mrlinux |
Posted: Mon Jul 01, 2002 9:27 am Post subject: |
|
|
 Grand Master
Joined: 14 Feb 2002 Posts: 1261 Location: Detroit,MI USA
|
post the data portion of your message with the header info. _________________ Jeff
IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries |
|
Back to top |
|
 |
Jamey |
Posted: Tue Jul 02, 2002 6:35 am Post subject: |
|
|
Newbie
Joined: 28 Jun 2002 Posts: 3
|
The application data portion is clear but the header information is not visible. It starts with IIH and ends at 123456789
This is how it looks like.....
IIH T 0C USER01020702051710400001123456789
By browsing the message in MQS Windows-2000
49 49 48 20 01 00 00 00 IIH ....
54 00 00 00 00 00 00 00 T.......
00 00 00 00 20 20 20 20 ....
20 20 20 20 00 00 00 00 ....
20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20
00 00 00 00 00 00 00 00 ........
00 00 00 00 00 00 00 00 ........
20 30 43 20 55 53 45 52 0C USER
30 31 30 32 30 37 30 32 01020702
30 31 35 32 38 38 30 30 01528800
30 30 30 31 31 32 33 34 00011234
35 36 37 38 39 20 20 20 56789
20 20 20 20 20 20 20 20
The application data portion starts from USER010207......
Everything before that is the header portion.
This is how I am populating the IIH header if it is of any help
PutMsg.Format = MQFMT_IMS
PutMsg.WriteString ("IIH ")
PutMsg.WriteLong (1)
PutMsg.WriteLong (84)
PutMsg.WriteLong (0)
PutMsg.WriteLong (0)
PutMsg.WriteString (" ")
PutMsg.WriteLong (0)
PutMsg.WriteString (" ")
PutMsg.WriteString (" ")
PutMsg.WriteString (" ")
PutMsg.WriteString (" ")
For i = 0 To 15
PutMsg.WriteByte B(i) /**B(16) - B is a Byte array of size 16***/
Next
PutMsg.WriteString (" ")
PutMsg.WriteString ("0")
PutMsg.WriteString ("C")
PutMsg.WriteString (" ")
where PutMsg is my mqmessage object
Hope the information helps...
Thanks _________________ JJ |
|
Back to top |
|
 |
mrlinux |
Posted: Tue Jul 02, 2002 7:49 am Post subject: |
|
|
 Grand Master
Joined: 14 Feb 2002 Posts: 1261 Location: Detroit,MI USA
|
You appear not to be setting some critical fields; here is a list of fields
MQIIH.StrucId = MQIIH_STRUC_ID;
MQIIH.Version = MQIIH_VERSION_1;
MQIIH.StrucLength = MQIIH_LENGTH_1;
MQIIH.Format = MQFMT_IMS_VAR_STRING;
MQIIH.Flags = MQIIH_NONE;
MQIIH.LTermOverride = 'MASTER ';
MQIIH.MFSMapName = ' ';
MQIIH.ReplyToFormat = MQFMT_IMS_VAR_STRING;
MQIIH.Authenticator = ' ';
MQIIH.TranInstanceId = MQITII_NONE;
MQIIH.TranState = MQITS_NOT_IN_CONVERSATION;
MQIIH.CommitMode = MQICM_SEND_THEN_COMMIT;
MQIIH.SecurityScope = MQISS_CHECK;
MQIIH.Reserved = ' ';
--
e_LL = 16; ---length of the all the fields put together(LL-2B,ZZ-2B,Messagedata-5+7)
e_IMS_zz = 0; ---reserved field
e_MessageData = 'TRANID ' + TRANDATA -- The TRANID is your ims tran code and TRANDATA is your data for transaction
-- _________________ Jeff
IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries |
|
Back to top |
|
 |
Jamey |
Posted: Tue Jul 02, 2002 9:13 am Post subject: |
|
|
Newbie
Joined: 28 Jun 2002 Posts: 3
|
|
Back to top |
|
 |
mrlinux |
Posted: Tue Jul 02, 2002 9:50 am Post subject: |
|
|
 Grand Master
Joined: 14 Feb 2002 Posts: 1261 Location: Detroit,MI USA
|
That table describes the initital field values not the required field values _________________ Jeff
IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries |
|
Back to top |
|
 |
|