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 » Message with CCSID 1208 at Input -Parsing errors

Post new topic  Reply to topic
 Message with CCSID 1208 at Input -Parsing errors « View previous topic :: View next topic » 
Author Message
GeneRK4
PostPosted: Sat Mar 29, 2014 9:32 pm    Post subject: Message with CCSID 1208 at Input -Parsing errors Reply with quote

Master

Joined: 08 Jul 2013
Posts: 220

Hi experts,
I am facing a problem while receiving an XML message with special characters as below,
<Name>
<Service description="Estée Lauder" name="Estée Lauder" validity="1" />
<Service description="Fashion Fair" name="Fashion Fair" validity="0" />
<Service description="Lancôme" name="Lancôme" validity="1" />
</Name>

While I check the properties of the message in MQInput node ,the code page is 1208 and Encoding is 546.

I am getting XML parsing errors in the Input node,if I parse this message.
===========================================
The exact error is,
An XML parsing error ''An invalid XML character (Unicode: 0xffffffff) was found in the value of attribute "description".
This error was reported by the generic XML parser, and is usually the result of a badly formed XML message.
Other possible causes are:
1. A character that is not supported by XML occurs in the instance message data.
XML supports only a subset of control characters; therefore, ensure that no unsupported characters, such as X'00', appear in the document.
2. The Coded Character Set ID that is defined in the message header does not reflect the contents of the instance message.
If the XML document has an XML prologue, the WebSphere MQ CodedCharSetId should be consistent with the XML Encoding field.
3. A reserved XML character appears in the instance message data.
Characters that might be recognized as XML markup - for example, < and & - should be replaced with the corresponding XML entities - &lt; and &amp;
===========================================

However,I tried this option which is working fine for me.I saved the message ignoring headers.I place the message in input queue without setting any codepage.It takes the default 437.
This time the broker is able to understand the message and parse it.

My requirement is ,I need to parse the message at the MQInput node itself.I want to use XMLNSC parse at MQInput node.
My source is sending message with codepage 1208...

Not sure where to correct to fix this issue.Looks like,without this codepage specification itself,the broker is able to read the message very well.
So,how to ignore the source specification about CCSID in the input message?
If I do this,will I not loose any characters which are in code page 1208?
Please advice on good approach for this if I am not in the correct path.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Sat Mar 29, 2014 9:44 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

you're on the wrong track here.
Stop the flow and look at the message on the input queue.
Check the CCSID of the message and check the corresponding hex data. If the data in the message does not match the CCSID in the message descriptor (1208 i.e. UTF-8 ) tell the sender to fix the message.
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
smdavies99
PostPosted: Sat Mar 29, 2014 9:59 pm    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

The fact that your QMGR uses CCSID 437 is IMHO would be source of concern to me. In this day an age using anything but a CCSID that is not in UTF-8 etc is crazy. I use 1208 by defauly and have done for nearly 10 years.

However you may not be in a position to change it so how do you fault find the problem.

It is perfectly possible that the data in the original message is encoded with a CCSID that is different from the one in the MQMD.

So. Stop the flow and browse the message with a tool that will show you the HEX values of the characters. The WMQ utility amqsbcg is where I'd start.
Aremed with the output you need to find the problem characters and verify if the HEX values map correctly into the specificed CCSID Map. you can find all the different maps on the internet. If the mapping is wrong then the problem lies with the application that sent the data in the first place. I find that in many cases app devs have little or no understanding of Character Sets and their mappings and the possible problems getting them wrong can cause.
Also many people don't understand how simpley letting WMQ set the CCSID of the message (AS_QMGR_DEFAULT) is often not the right solution.

You can see your problem is common by the sheer frequency of posts like yours.

Your QMGR with CCSID 437 is using ISO-8859-1. ISO-8859-15 might be more suitable. Only careful examination of the data passing through the QMGR can give you the answer.

Finally, if the data is encoded with a different CCSID to the one in the MQMD then don't accept the standard answer from app devs 'we can't change it'. They have messed up and they need to fix it.

Edit to correct the wrong ISO number being used. A pure typo on my part
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.


Last edited by smdavies99 on Sun Mar 30, 2014 3:41 am; edited 1 time in total
Back to top
View user's profile Send private message
GeneRK4
PostPosted: Sun Mar 30, 2014 3:16 am    Post subject: Reply with quote

Master

Joined: 08 Jul 2013
Posts: 220

Thank you..I will check this again and if required will go back to the Source application.
Back to top
View user's profile Send private message
GeneRK4
PostPosted: Thu Apr 10, 2014 11:39 pm    Post subject: Reply with quote

Master

Joined: 08 Jul 2013
Posts: 220

Thanks to all who has helped me in this issue.
I have found the correct code page to be used.It was 819.Once it is set,the input message is parsed successfully.We are able to see the input characters properly.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Message with CCSID 1208 at Input -Parsing errors
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.