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 » WebSphere Message Broker (ACE) Support » UTF-8 with migrated MRM message set?

Post new topic  Reply to topic
 UTF-8 with migrated MRM message set? « View previous topic :: View next topic » 
Author Message
marko.pitkanen
PostPosted: Wed Dec 31, 2008 12:21 am    Post subject: UTF-8 with migrated MRM message set? Reply with quote

Chevalier

Joined: 23 Jul 2008
Posts: 440
Location: Jamsa, Finland

Hi,

I need some guidance here. Sorry if this has been discussed earlier.

I have broker version 6007 and we have migrated message set with xml wire format and quite a lot business logic in mapping from XML parser into it.

Now we want to send source messages in UTF-8 encoding.

If I send the message with self made Java application using JMS interface, everything goes fine. Special chars(for example Cyrillics) works fine and the output message will get UTF-8 encoding to the xml declaration part.

User trace from source message send with java/JMS
Quote:

(0x01000000):Properties = (
(0x03000000):MessageSet = ''
(0x03000000):MessageType = ''
(0x03000000):MessageFormat = ''
(0x03000000):Encoding = 273
(0x03000000):CodedCharSetId = 1208
(0x03000000):Transactional = TRUE
(0x03000000):Persistence = TRUE
(0x03000000):CreationTime = GMTTIMESTAMP '2008-12-29 20:31:52.670'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = -1
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'MQ'
(0x03000000):Topic = NULL
(0x03000000):ContentType = ''
)
(0x01000000):MQMD = (
(0x03000000):Transactional = TRUE
(0x03000000):Encoding = 273
(0x03000000):CodedCharSetId = 819
(0x03000000):Format = 'MQHRF2'
(0x03000000):Version = 2
(0x03000000):Report = 0
(0x03000000):MsgType = 8
(0x03000000):Expiry = -1
(0x03000000):Feedback = 0
(0x03000000):Priority = -1
(0x03000000):Persistence = 1
(0x03000000):MsgId = X'414d5120514d42524b3630202020202072d5584920004703'
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000'
(0x03000000):BackoutCount = 0
(0x03000000):ReplyToQ = ' '
(0x03000000):ReplyToQMgr = 'QMBRK60 '
(0x03000000):UserIdentifier = 'wmqiuid '
(0x03000000):AccountingToken = X'160105150000001525af474d64492e07e53b2beb03000000000000000000000b'
(0x03000000):ApplIdentityData = ' '
(0x03000000):PutApplType = 11
(0x03000000):PutApplName = 'ava\jre1.6.0_07\bin\java.exe'
(0x03000000):PutDate = DATE '2008-12-29'
(0x03000000):PutTime = GMTTIME '20:31:52.670'
(0x03000000):ApplOriginData = ' '
(0x03000000):GroupId = X'000000000000000000000000000000000000000000000000'
(0x03000000):MsgSeqNumber = 1
(0x03000000):Offset = 0
(0x03000000):MsgFlags = 0
(0x03000000):OriginalLength = -1
)
(0x01000000):MQRFH2 = (
(0x03000000):Version = 2
(0x03000000):Format = 'MQSTR '
(0x03000000):Encoding = 273
(0x03000000):CodedCharSetId = 1208
(0x03000000):Flags = 0
(0x03000000):NameValueCCSID = 1208
(0x01000000):mcd = (
(0x01000000):Msd = (
(0x02000000): = 'xmlnsc'
)
)
(0x01000000):jms = (
(0x01000000):Dst = (
)
(0x01000000):Tms = (
(0x02000000): = '1230582712677'
)
(0x01000000):Dlv = (
(0x02000000): = '2'
)
)
)
(0x01000000):XMLNSC = (
(0x01000400):XmlDeclaration = (
(0x03000100):Version = '1.0'
(0x03000100):Encoding = 'UTF-8'
)
(0x01000000):objects = (
(0x01000000):object = (


But in the real case message is send with application made with C and using native MQI interface. The application sets MQMD CCSID to 1208.

User trace from source message send by C application

Quote:
(0x01000000):Properties = (
(0x03000000):MessageSet = ''
(0x03000000):MessageType = ''
(0x03000000):MessageFormat = ''
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 1208
(0x03000000):Transactional = TRUE
(0x03000000):Persistence = TRUE
(0x03000000):CreationTime = GMTTIMESTAMP '2008-12-29 20:35:17.500'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = -1
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'MQ'
(0x03000000):Topic = NULL
(0x03000000):ContentType = ''
)
(0x01000000):MQMD = (
(0x03000000):Transactional = TRUE
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 1208
(0x03000000):Format = 'MQSTR '
(0x03000000):Version = 2
(0x03000000):Report = 0
(0x03000000):MsgType = 8
(0x03000000):Expiry = -1
(0x03000000):Feedback = 0
(0x03000000):Priority = -1
(0x03000000):Persistence = 1
(0x03000000):MsgId = X'414d5120514d42524b3630202020202072d5584920004802'
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000'
(0x03000000):BackoutCount = 0
(0x03000000):ReplyToQ = ' '
(0x03000000):ReplyToQMgr = 'QMBRK60 '
(0x03000000):UserIdentifier = 'wmqiuid '
(0x03000000):AccountingToken = X'160105150000001525af474d64492e07e53b2beb03000000000000000000000b'
(0x03000000):ApplIdentityData = ' '
(0x03000000):PutApplType = 11
(0x03000000):PutDate = DATE '2008-12-29'
(0x03000000):PutTime = GMTTIME '20:35:17.500'
(0x03000000):ApplOriginData = ' '
(0x03000000):GroupId = X'000000000000000000000000000000000000000000000000'
(0x03000000):MsgSeqNumber = 1
(0x03000000):Offset = 0
(0x03000000):MsgFlags = 0
(0x03000000):OriginalLength = -1
)
(0x01000000):XMLNSC = (
(0x01000400):XmlDeclaration = (
(0x03000100):Version = '1.0'
(0x03000100):Encoding = 'UTF-8'
)


I can see the special chars in the user trace after mapping
(0x03000000):XXXX = 'TÔLE'

but when message is serialized to the bitstream chars are poisoned
and the XML encoding will get something else than UTF-8 for example encoding="ibm-..."

I have no ideas what to try.

Marko

Oh, one more thing if I map from XML parser to XML parser everything works fine also with C application...
Back to top
View user's profile Send private message Visit poster's website
marko.pitkanen
PostPosted: Wed Dec 31, 2008 1:31 am    Post subject: Solved Reply with quote

Chevalier

Joined: 23 Jul 2008
Posts: 440
Location: Jamsa, Finland

Sorry,

I made(at last) some difference analysis of the user trace after mapping for outgoing messages and find that MQRFH2 header added by the flow --for the messages send with C -app/MQI-- were not correct.

Instead of the
CodedCharSetId = 1208
there was
CodedCharacterSetId = 1208.
A small but significant difference. It was quite a hard to find for me ;.)

Marko
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » UTF-8 with migrated MRM message set?
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.