Author |
Message
|
shyam_sharma01 |
Posted: Thu Sep 30, 2010 11:47 pm Post subject: Encoding And CCSID values for Z/OS system |
|
|
Newbie
Joined: 30 Sep 2010 Posts: 5
|
Hi
I am sending an xml message from Broker to MQ which is running on Z/OS system. But when it reaches there, it becomes unreadable. I have used encoding as 785 and CCSID as 437.
Please suggest where I am going wrong.
Thanks. |
|
Back to top |
|
 |
zpat |
Posted: Fri Oct 01, 2010 12:05 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Unreadable? This usually means it is in ASCII and someone is viewing it in EBCDIC or vice-versa.
Make sure their MQGET uses the option MQGMO_CONVERT.
Most MQ message tools support this convert option such as MO71.
MQ cannot function as a cross-platform system until people code MQGET with CONVERT. I wish this was the default, it has always been a problem that people forget to do this.
The MQMD.Format must be "MQSTR", i.e. MQFMT_STRING for convert to work. |
|
Back to top |
|
 |
Mr Butcher |
Posted: Fri Oct 01, 2010 12:51 am Post subject: |
|
|
 Padawan
Joined: 23 May 2005 Posts: 1716
|
the other possibility is, that the application uses ascii on the mainframe too (we do have this kind of applications). in that case, there should not be any conversion, not by the channel and not by the application. we use mqfmt_none in the message to prevent any conversion.
in that case its maybe just the utility you are using that does not display properly (as zpat already mentioned). _________________ Regards, Butcher |
|
Back to top |
|
 |
shyam_sharma01 |
Posted: Fri Oct 01, 2010 3:07 am Post subject: |
|
|
Newbie
Joined: 30 Sep 2010 Posts: 5
|
Thanks
Now after setting the the Format to 'MQSTR ' (along with 3 spaces following MQSTR) , z/os system is receiving the message but with encoding changed to 273 and CCSID to 819. I wonder if this is reset by the channel properties.
Also we are setting the replyToQ ans QMgr which is reset to blank once it reaches z/os MQ. |
|
Back to top |
|
 |
zpat |
Posted: Fri Oct 01, 2010 5:25 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
MQ itself will not change the CCSID of a message delivered to a destination queue, unless a sender channel on the way to the final destination has the attribute CONVERT(YES).
Probably your queue viewing tool is PC based and is converting the message to ASCII before you see it.
Try switching conversion off in this tool (you can optionally do this in MO71 queue browse).
How are you viewing this message (which what tool on what platform)? |
|
Back to top |
|
 |
shyam_sharma01 |
Posted: Fri Oct 01, 2010 5:59 am Post subject: |
|
|
Newbie
Joined: 30 Sep 2010 Posts: 5
|
Using RFHUTIL I am viewing the message.
And the message is seen in EBCDIC format (Unreadable message) by default. I have to choose ASCII to convert it to readable message. YES there is a channel in between the broker and Remote Queue manager.
below is the message as seen using RFHUTIL
00000000 ....çÁÊÁ.ÂÁÅÑ>Ë.ÈÇÁ.ì(<.À/È/....
00000032 ..&/ÊÈ`ñ>Ã?Ê_/ÈÑ?>êÁËø?>ËÁ......
00000064 .(ÁËË/ÅÁ..........è`øÁ.ÄÍËÈ?_ÁÊë
00000096 Á/ÊÄÇêÁËø?>ËÁ..è`øÁ..........îÁÊ
00000128 ËÑ?>......îÁÊËÑ?>..........ë?ÍÊÄ
00000160 Á.&ñä%ÑÁ>È..ë?ÍÊÄÁ..........àÁËÈ
00000192 Ñ>/ÈÑ?>.â ëë..àÁËÈÑ>/ÈÑ?>.......
00000224 .(ÁËË/ÅÁ.......êÁÉÍÁËÈëÈ/ÈÍË....
00000256 ......ä?ÀÁ......ä?ÀÁ..........ëÁ
00000288 ÎÁÊÑÈ`.êÁÉÍÁËÈ.&Ê?ÄÁËËÁÀ.ëÍÄÄÁËË
00000320 ÃÍ%%`..ëÁÎÁÊÑÈ`..........&/Ê/_ÁÈ
00000352 ÁÊË...&/Ê/_ÁÈÁÊË..........äÍÊÊÁ>
00000384 ÈèÑ_ÁËÈ/_ø......................
00000416 .......äÍÊÊÁ>ÈèÑ_ÁËÈ/_ø........ê
00000448 ÁÉÍÁËÈëÈ/ÈÍË.......êÁËø?>ËÁ.....
00000480 .....ä?>ÈÊ?%%Ñ>ÅñÀ.!.êñèå...]ñ.ñ
00000512 â(.[.ãä..ä?>ÈÊ?%%Ñ>ÅñÀ..........
00000544 êÁÄ?ÊÀ................äÍËÈ?_ÁÊêÁ
00000576 Ä?ÊÀ................... ÍÀÑÈ....
00000608 ..................áÃÃÁÄÈÑÎÁèÑ_ÁË |
|
Back to top |
|
 |
zpat |
Posted: Fri Oct 01, 2010 6:16 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
A well-written application will use MQGET with MQGMO_CONVERT.
As long as the CCSID value correct matches the message data contents then (i.e. don't label an ASCII message as EBCDIC or vice-versa).
Of course there is a channel to z/OS - what is the convert setting on it?
What is your actual problem here? What is meant to get the message? |
|
Back to top |
|
 |
shyam_sharma01 |
Posted: Fri Oct 01, 2010 7:23 am Post subject: |
|
|
Newbie
Joined: 30 Sep 2010 Posts: 5
|
Data conversion property of channel is set to "Conversion'
I am setting the MQMD properties in the compute node.
But as soon as it reaches the queue, the MQMD properties are reset.
for example, MQMD.Format is reset to 'SoapRoot' instead of 'MQSTR ' as set in compute node before. Also replyToQ and QMgr are reset to BLANK. |
|
Back to top |
|
 |
shyam_sharma01 |
Posted: Mon Oct 04, 2010 4:43 am Post subject: |
|
|
Newbie
Joined: 30 Sep 2010 Posts: 5
|
The problem is resolved now. The problem was with the httpInputHeader. It was resetting all the MQMD headers. Setting it to null solved the problem. |
|
Back to top |
|
 |
|