ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » IBM MQ Java / JMS » JMS, VB and CCSID

Post new topic  Reply to topic Goto page Previous  1, 2
 JMS, VB and CCSID « View previous topic :: View next topic » 
Author Message
PeterPotkay
PostPosted: Wed Feb 24, 2010 11:27 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

Solved!

On the putting side it was acting weird because we are dealing with a bug in MQ.
http://www-01.ibm.com/support/docview.wss?uid=swg1IZ64472&myns=swgws&mynp=OCSSFKSJ&mync=E

Quote:
Error description
If MQMessage.characterSet is not explicitly set by the putting
application, it defaults to the Coded Character Set ID (CCSID)
of the queue manager. The message body can become corrupt if
the queue manager's CCSID is different to that of the client and
a conversion is carried out when the message is retrieved from
the queue.


I got a hold of the getting applications code and they weren't using MQGMO_CONVERT. How they were getting a conversion error is beyond me, but once they set the convert option the QM converted the messages from 1208 to 437 before sending them down to the client, and now it works.

Phew!
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Sat Mar 20, 2010 4:04 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

I had a call with the L3 in Hursley and here are the meeting minutes taken from the PMR:

Quote:

For a JMS Client, there are 3 CCSIDs in play:
.
1. The Client and QM's "service messages". You never see these
really.
.
2. The MQMD's, which is what encoding will be used for the
following data, be it message payload or an RFH2 header
.
3. The RFH2 Header's CCSID
.
.
In the JMS Object (QCF and Destination), you cannot set 0 for
CCSID. The Base Java and C client API do allow 0, which means
give me the QM CCSID, which really means for MQ Clients give
me the CCSID of the platform I am on (but see below about the
current exception in this behavior for base Java MQ 7 clients).
.
If you don't specify a CCSID in your JMSAdmin input, you get a
1208 in MQ 6 and MQ 7 as the defaults.
.
If you are using Base Java and you don't specify a CCSID, the
default for MQ 6 is 819 and the default for MQ 7 is 1208.
.
The JMS Destination CCSID is used for the RFH2 CCSID, if present.
If no RFH2 header is requested (Target Client = MQ), then the
Destination CCSID goes into theMQMD CCSID.
.
The QCF CCSID is used for the 1st Control message CCSID, and then
it picks up the QM CCSID. This CCSID is used for the MQMD CCISD
if there is an RFH2 header.
.
.
In base Java (not JMS), in MQ 7.0, when u put a message, and you
do not specify a CCSID, you get 0, which is allowed. That means
give me the QM CCSID. Typically for MQ Clients this really means
use the CCSID of the client platform and not the QM, which makes
sense - you want the CCSID to match the CCSID of the data coming
from the client. But the bug in MQ 7.0 means for a Java MQ client
(not JMS) you get the QM's actual CCSID, which is contrary to
MQ 6 and contrary to how the C Client works in MQ 7. This will
be fixed in 7.0.1.3 (probably, depends when the APAR makes it
into the release cycle) so the MQ 7 base Java MQ Client
acts like it did in MQ 6 and like the C client does.
.
.
JMS does allow a convert on put. If you set the Destination
CCSID to a value other than the client platform's CCSID, and the
JVM supports the CCSID you chose, then the message wil be converted
on the put. The IBM JVM supports a lot more CCSIDs than the SUN
JVM. If you specify a valid CCSID but one the JVM does not support,
you will get an exception before the MQPUT is even attempted.

_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page Previous  1, 2 Page 2 of 2

MQSeries.net Forum Index » IBM MQ Java / JMS » JMS, VB and CCSID
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.