Author |
Message
|
santy |
Posted: Mon Jun 29, 2009 8:56 am Post subject: Problem with '_' (underscore) character when getting parsed. |
|
|
Centurion
Joined: 03 Nov 2006 Posts: 141
|
Hi, Is there any problem with '_' (underscore) character for XML parser, when I choose RCD with XML parser and Validation set to Content and Value? I'm getting below error. There is no message set used for this.
I'm getting this problem with 6.0 and 6.1.
Jun 29 17:28:17 dkssp032 WebSphere Broker v6102[18115]: [ID 702911 user.error] (BMSSIS03.MRM_EG3)[162]BIP5010E: XML Writing Errors have occurred. : BMSSIS03.c7bedc18-2001-0000-0080-827af08c45b3: /build/S610_P/src/MTI/MTIforBroker/GenXmlParser2/XmlImbParser.cpp: 441: XmlImbParser::refreshBitStreamFromElements: ComIbmMQInputNode: TEST#FCMComposite_1_8
Jun 29 17:28:17 dkssp032 WebSphere Broker v6102[18115]: [ID 702911 user.error] (BMSSIS03.MRM_EG3)[162]BIP5005E: There are 0 top level elements '' in the document. : BMSSIS03.c7bedc18-2001-0000-0080-827af08c45b3: /build/S610_P/src/MTI/MTIforBroker/GenXmlParser2/XmlImbParser.cpp: 909: XmlImbParser::checkForBodyElement: :
Jun 29 17:28:17 dkssp032 WebSphere Broker v6102[18115]: [ID 702911 user.error] (BMSSIS03.MRM_EG3)[162]BIP5005E: There are 0 top level elements '' in the document. : BMSSIS03.c7bedc18-2001-0000-0080-827af08c45b3: /build/S610_P/src/MTI/MTIforBroker/GenXmlParser2/XmlImbParser.cpp: 909: XmlImbParser::checkForBodyElement: : |
|
Back to top |
|
 |
harish_td |
Posted: Mon Jun 29, 2009 9:15 am Post subject: |
|
|
Master
Joined: 13 Feb 2006 Posts: 236
|
How did you arrive that _ was the culprit? There is nothing in the XML specifications which say that underscore is invalid.
Can the xml document open in a browser? Can you validate the xml file on a tool such as XML Spy? |
|
Back to top |
|
 |
santy |
Posted: Mon Jun 29, 2009 9:22 am Post subject: |
|
|
Centurion
Joined: 03 Nov 2006 Posts: 141
|
yes, the XML messages opens in the IE.
Even when I play the same messages witough '_' in it, it successfully gets parsed.
That's why the doubt. |
|
Back to top |
|
 |
harish_td |
Posted: Mon Jun 29, 2009 9:39 am Post subject: |
|
|
Master
Joined: 13 Feb 2006 Posts: 236
|
Quote: |
BIP5005E: There are 0 top level elements '' in the document. |
The error above is saying something. Can you post this xml that you are trying to parse? Did you hit the same issue with XMLNSC instead of XML parser? |
|
Back to top |
|
 |
santy |
Posted: Mon Jun 29, 2009 11:01 am Post subject: |
|
|
Centurion
Joined: 03 Nov 2006 Posts: 141
|
Sorry, my mistake, I'm getting this error when parsing against XMLNSC parser. |
|
Back to top |
|
 |
kimbert |
Posted: Mon Jun 29, 2009 12:15 pm Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Please take a user trace. Some message broker problems cannot be diagnosed using only the entries in the syslog. That is why IBM supplies the user trace facility. If you take a user trace you will
a) get a much more detailed error message
b) be able to report that error message to us, so that we can help more effectively.
Sorry for labouring the point, but it really is worth learning how to do it. |
|
Back to top |
|
 |
santy |
Posted: Tue Jun 30, 2009 3:07 am Post subject: |
|
|
Centurion
Joined: 03 Nov 2006 Posts: 141
|
Here is the information from user trace -
2009-06-30 12:00:33.229732 162 RecoverableException BIP2488E: ('.BuildNack.Main', '7.3') Error detected whilst executing the SQL statement ''PROPAGATE TO TERMINAL 'out' FINALIZE DEFAULT DELETE NONE;''.
The message broker detected an error whilst executing the given statement. An exception has been thrown to cut short the SQL program.
See the following messages for details of the error.
2009-06-30 12:00:33.229804 162 RecoverableException BIP2230E: Error detected whilst processing a message in node 'TEST.Transformed Output'.
The message broker detected an error whilst processing a message in node 'TEST.Transformed Output'. An exception has been thrown to cut short the processing of the message.
See the following messages for details of the error.
2009-06-30 12:00:33.229878 162 ParserException BIP5010E: XML Writing Errors have occurred.
Errors have occurred during writing of XML.
Review further error messages for an indication to the cause of the errors.
2009-06-30 12:00:33.229946 162 ParserException BIP5005E: There are 0 top level elements '''' in the document.
There should be only one top level element in an XML message.
Check that the message is well formed and adheres to the XML specification in that it has only one top level element.
2009-06-30 12:00:34.233520 162 UserTrace BIP2631I: Backed out message being propagated to failure terminal; node 'TEST.Input'.
Node 'TEST.Input' has received a message which has previously been backed out because of a processing error in the message flow. The MQMD 'backoutCount' of the message exceeds (or equals) the 'backoutThreshold' defined for the WebSphere MQ input queue. The message broker is propagating the message to the failure terminal of the node.
Examine the other messages and the message flow to determine why the message is being backed out. Correct this situation if possible. Perform any local error recovery processing required. |
|
Back to top |
|
 |
WMBDEV1 |
Posted: Tue Jun 30, 2009 3:13 am Post subject: |
|
|
Sentinel
Joined: 05 Mar 2009 Posts: 888 Location: UK
|
Is "Test.Transformed Output" a compute node? Are you building the output tree correctly?
To me this suggests there is nothing coming out of the compute node:
Quote: |
BIP5010E: XML Writing Errors have occurred
|
Quote: |
BIP5005E: There are 0 top level elements '''' in the document. |
|
|
Back to top |
|
 |
Vitor |
Posted: Tue Jun 30, 2009 3:15 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
santy wrote: |
yes, the XML messages opens in the IE.
Even when I play the same messages witough '_' in it, it successfully gets parsed.
|
How can you say the XML message opens in the IE, when the error is for an outbound message? You can't have seen what's causing the error, because this error prevents it being written out.
What you've noticed is when the inbound message contains an underscore, the logic of your compute node fails to correctly assemble an outbound message tree.
That's where you should start looking for the problem, and the user trace will be your starting point again. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Jun 30, 2009 3:17 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
santy wrote: |
2009-06-30 12:00:33.229732 162 RecoverableException BIP2488E: ('.BuildNack.Main', '7.3') Error detected whilst executing the SQL statement ''PROPAGATE TO TERMINAL 'out' FINALIZE DEFAULT DELETE NONE;''.
|
It's also worth checking that, even though this PROPAGATE has a DELETE NONE, any previous logic you go through (especially with an underscore in the input) isn't clearing the tree out unexpectedly. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
santy |
Posted: Tue Jun 30, 2009 3:29 am Post subject: |
|
|
Centurion
Joined: 03 Nov 2006 Posts: 141
|
Hi,
Vitor, thanks for suggesting that, I have got correct cause for that error now.
Compute node was not formating it correctly.
But now I'm facing one more problem -
When I select Message Domain property of RCD nmode as XMNSC and select the check box below it, and Validation property as Content and Validation and sends the XML message, I'm getting below error.
There is one thing to say, this is happening only for WMB 6.1, because the same message runs for 6.0
==================================
2009-06-30 12:18:44.233520 162 RecoverableException BIP2230E: Error detected whilst processing a message in node 'TEST.Reset To XML'.
The message broker detected an error whilst processing a message in node 'TEST.Reset To XML'. An exception has been thrown to cut short the processing of the message.
See the following messages for details of the error.
2009-06-30 12:18:44.233592 162 ParserException BIP5028E: The XMLNSC parser cannot find a deployed message set with name ''NBNECJG002001''.
The XMLNSC parser is attempting to validate an XML message or a message tree, but the specified message set cannot be located in this execution group. This situation can arise for one of the following reasons:
- The message set has not been deployed to this execution group.
- In the message set properties, XMLNSC is not the 'Default message domain' and is not a 'Supported message domain'.
- The message set has been identified using its 13-character identifier; you must use the message set name.
- There was an error during the preprocessing of the XML schemas in the message set.
Check that the specified message set has been successfully deployed.
Check that the MessageSet property contains the name, not the identifier, of the message set.
In the message set, check that XMLNSC is either the default message domain or a supported message domain.
2009-06-30 12:18:45.235732 162 UserTrace BIP2631I: Backed out message being propagated to failure terminal; node 'TEST.Input'.
Node 'TEST.Input' has received a message which has previously been backed out because of a processing error in the message flow. The MQMD 'backoutCount' of the message exceeds (or equals) the 'backoutThreshold' defined for the WebSphere MQ input queue. The message broker is propagating the message to the failure terminal of the node.
Examine the other messages and the message flow to determine why the message is being backed out. Correct this situation if possible. Perform any local error recovery processing required. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Jun 30, 2009 3:31 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
santy wrote: |
Validation property as Content and Value and sends the XML messages,, I'm getting below error. |
Seems fairly clear:
santy wrote: |
he XMLNSC parser cannot find a deployed message set with name ''NBNECJG002001''. |
Have you checked:
santy wrote: |
- The message set has not been deployed to this execution group.
- In the message set properties, XMLNSC is not the 'Default message domain' and is not a 'Supported message domain'.
- The message set has been identified using its 13-character identifier; you must use the message set name.
- There was an error during the preprocessing of the XML schemas in the message set.
Check that the specified message set has been successfully deployed.
Check that the MessageSet property contains the name, not the identifier, of the message set.
In the message set, check that XMLNSC is either the default message domain or a supported message domain.
|
_________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
kimbert |
Posted: Tue Jun 30, 2009 3:36 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
Vitor, thanks for suggesting that, I have got correct cause for that error now.
Compute node was not formating it correctly. |
That sounds a bit casual. I hope that in future you will
- always disconnect the debugger and take a user trace when you get a parsing or writing exception
- always insert Trace nodes to check the exact contents of the message tree
An experienced message broker developer would have diagnosed and fixed this problem within 1 hour.
Quote: |
But now I'm facing one more problem |
...and it has a very good error message. It offer four possible reasons for the error, and it tells you to check three things.
How many of those things have you checked so far? |
|
Back to top |
|
 |
santy |
Posted: Tue Jun 30, 2009 3:56 am Post subject: |
|
|
Centurion
Joined: 03 Nov 2006 Posts: 141
|
I have checked 3 of these things
- The message set has been deployed to this execution group.
- In the message set properties, XMLNSC is the 'Default message domain' and is a 'Supported message domain'.
- I have used the message set name.
I doubt on this - "There was an error during the preprocessing of the XML schemas in the message set" - and no idea how can I dignose this.
Also as I have said we have only migrated the message flows and message sets from 6.0 to 6.1 without any flow changes or message set changes.
if I would have found the cause of this error by checking this reasons I wouldn't have posted this problem here. |
|
Back to top |
|
 |
santy |
Posted: Tue Jun 30, 2009 4:01 am Post subject: |
|
|
Centurion
Joined: 03 Nov 2006 Posts: 141
|
To add more analysis to it - when I select the Validation property of RCD node to "None", the messages gets processed successfully. |
|
Back to top |
|
 |
|