|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Invalid character (Unicode: 0x1A) |
« View previous topic :: View next topic » |
Author |
Message
|
Cappucino |
Posted: Sun Nov 28, 2010 12:45 pm Post subject: Invalid character (Unicode: 0x1A) |
|
|
Newbie
Joined: 28 Nov 2010 Posts: 1
|
All,
I have a message flow that receives XML from a Windows based application and we have WMB running on AIX. We have some error messages in the queues with the "Invalid character (Unicode: 0x1A)" error.
<Insert>
<Type>5</Type>
<Text>DECLARE refPropertyData REFERENCE TO InputRoot.XML.APPLICATION.PROPERTY;</Text>
</Insert>
<ParserException>
<File>/build/S500_P/src/MTI/MTIforBroker/GenXmlParser2/XmlImbParser.cpp</File>
<Line>464</Line>
<Function>XmlImbParser::parseRightSibling</Function>
<Type></Type>
<Name></Name>
<Label></Label>
<Text>XML Parsing Errors have occurred</Text>
<Catalog>BIPv500</Catalog>
<Severity>3</Severity>
<Number>5009</Number>
<ParserException>
<File>/build/S500_P/src/MTI/MTIforBroker/GenXmlParser2/XmlBrokerAsgardParser.cpp</File>
<Line>843</Line>
<Function>XmlBrokerAsgardParser::error</Function>
<Type></Type>
<Name></Name>
<Label></Label>
<Text>An error has been reported by the BIPXML4C component.</Text>
<Catalog>BIPv500</Catalog>
<Severity>3</Severity>
<Number>5004</Number>
<Insert>
<Type>2</Type>
<Text>214</Text>
</Insert>
<Insert>
<Type>5</Type>
<Text></Text>
</Insert>
<Insert>
<Type>2</Type>
<Text>1</Text>
</Insert>
<Insert>
<Type>2</Type>
<Text>4409</Text>
</Insert>
<Insert>
<Type>5</Type>
<Text>Invalid character in attribute value ProductDescription (Unicode: 0x1A)</Text>
</Insert>
<Insert>
<Type>5</Type>
<Text>PRODUCT_DATA</Text>
</Insert>
</ParserException>
</ParserException>
I have gone through previous posts on this subject in this forum and it looks like the consuming application is either sending 0x1A or 0x1A being a substitute character, they are sending a character that is not valid.
Before I contact the consuming application, I thought I would look at the error message in the queue to see what they are sending us. When an exception happens we store both the InputExceptionList Tree and the InputRoot.XML Tree in the ERR queue.
I am not able to see 0x1A in the original message in the error queue and furthermore when I extract the original message from the error queue and send it through the input queue again, it works fine.
I am not able to understand how this is possible. The original message in the error queue should have the Invalid character and it should fail again when I try to reprocess it. Is it not?
Thanks! |
|
Back to top |
|
 |
mqjeff |
Posted: Sun Nov 28, 2010 12:51 pm Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
You appear to be doing a number of things wrong.
First, you appear to be running the entirely out of support Broker version 5.
Second, you appear to be using the deprecated XML domain rather than the XMLNS or XMLNSC domain - part of that could be explained by trying to use Broker v5 (which I think didn't have the XMLNSC domain, but my brain refuses to remember that far back)
Thirdly, you appear to be trying to replay a message that has already been modified by broker, in that you are saving it to an error queue after it has been parsed. But it's not clear, as you say "the original message". Are you using a BACKOUT queue and allowing the MQInput node to roll back the message to the BOQUEUE after it has passed the BOTHRESH number of retries?
Unless you can be clear that you have really preserved intact the original message, you are not going to be clear that you can solve the problem. |
|
Back to top |
|
 |
rekarm01 |
Posted: Sun Nov 28, 2010 3:16 pm Post subject: Re: Invalid character (Unicode: 0x1A) |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 1415
|
Cappucino wrote: |
I have gone through previous posts on this subject in this forum and it looks like the consuming application is either sending 0x1A or 0x1A being a substitute character |
Consuming application? Wouldn't that be the message flow itself?
Cappucino wrote: |
I am not able to see 0x1A in the original message in the error queue |
Stop the message flow, and examine the original message while it's still on the input queue, using something like rfhutil or amqsbcg0, that can display header contents, and message bytes in hex. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|