1
votes

£ and ê in a XML message is parsed successfully in broker but when one of the Queue manager tries to put the output message in another Queue manager, It throws 'Unconvertable character' exception and message goes to dead letter queue.

Channel conversion is turned on and CCSID in both the queue managers is set to '819'.

What shall be done to avoid this? Need Help on this..!!

Update Nov 15

There is more thing that we can check If we are facing this issue.

I was posting the message from RFHUTIL, and in MQMD tab, value in code page field was set to 457. So this was one of the reasons in faillure.

I posted the same message again with code page value as 819 and then the same XML message worked fine.

So, if you are facing the same issue, you might wanna check the RFHUTIL settings as well.

2
How are you parsing the XML? Which parser are you using? - nitgeek

2 Answers

2
votes

The mentioned characters doesn't come under CCSID 819.

And as the channel conversion is ON, queue manager will try your message to convert the message into it's own CCSID(819), which will fail to do so as the characters are not supported.

Solutions could be:

1) Turn off channel conversion.

2) Change the CCSID of your queue managers to 1208.

1
votes

Huge topic data conversion, and it depends on the language you use. A general summary is make sure the codedcharsetid for the message in the MD matches the characters codepoints in the message. Then, make sure when you get the message you get/convert and make sure you are either running in a locale which can display those characters OR put a ccsid in the MD prior to the get. If you use .net or Java then there are implications although the same remains true.