|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
XML parsing error : invalid XML character (Unicode: 0x1f) |
« View previous topic :: View next topic » |
Author |
Message
|
wmbv7newbie |
Posted: Mon Nov 09, 2015 3:52 pm Post subject: XML parsing error : invalid XML character (Unicode: 0x1f) |
|
|
Centurion
Joined: 13 May 2014 Posts: 121
|
Hi,
I am trying to convert a BLOB to XMLNSC and getting this exception while parsing. Trace details below -
Code: |
( ['WSRoot' : 0x7fd82c58fe00]
(0x01000000:Name):Properties = ( ['WSPROPERTYPARSER' : 0x7fd82c3ada20]
(0x03000000:NameValue):MessageSet = '' (CHARACTER)
(0x03000000:NameValue):MessageType = '' (CHARACTER)
(0x03000000:NameValue):MessageFormat = '' (CHARACTER)
(0x03000000:NameValue):Encoding = 546 (INTEGER)
(0x03000000:NameValue):CodedCharSetId = 1208 (INTEGER)
(0x03000000:NameValue):Transactional = FALSE (BOOLEAN)
(0x03000000:NameValue):Persistence = FALSE (BOOLEAN)
(0x03000000:NameValue):CreationTime = GMTTIMESTAMP '2015-11-09 23:07:45.165598' (GMTTIMESTAMP)
(0x03000000:NameValue):ExpirationTime = -1 (INTEGER)
(0x03000000:NameValue):Priority = 0 (INTEGER)
(0x03000000:NameValue):ReplyIdentifier = X'000000000000000000000000000000000000000000000000' (BLOB)
(0x03000000:NameValue):ReplyProtocol = 'SOAP-AXIS2' (CHARACTER)
(0x03000000:NameValue):Topic = NULL
(0x03000000:NameValue):ContentType = 'text/xml; charset=utf-8' (CHARACTER)
(0x03000000:NameValue):IdentitySourceType = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceToken = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourcePassword = '' (CHARACTER)
(0x03000000:NameValue):IdentitySourceIssuedBy = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedType = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedToken = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedPassword = '' (CHARACTER)
(0x03000000:NameValue):IdentityMappedIssuedBy = '' (CHARACTER)
)
(0x01000000:Name):HTTPRequestHeader = ( ['WSREQHDR' : 0x7fd82c44cae0]
(0x03000000:NameValue):Content-Type = 'application/json; charset=utf-8' (CHARACTER)
(0x03000000:NameValue):Accept-Encoding = 'gzip,deflate' (CHARACTER)
(0x03000000:NameValue):SOAPAction = '"http://www....l/exchangerate/1/Request"' (CHARACTER)
(0x03000000:NameValue):User-Agent = 'Apache-HttpClient/4.1.1 (java 1.5)' (CHARACTER)
(0x03000000:NameValue):Host = 'www.oanda.com' (CHARACTER)
)
(0x01000000:Name):HTTPResponseHeader = ( ['WSRSPHDR' : 0x7fd82c3ae3f0]
(0x03000000:NameValue):X-Original-HTTP-Status-Line = 'HTTP/1.1 200 OK' (CHARACTER)
(0x03000000:NameValue):X-Original-HTTP-Status-Code = 200 (INTEGER)
(0x03000000:NameValue):Date = 'Mon, 09 Nov 2015 23:07:45 GMT' (CHARACTER)
(0x03000000:NameValue):Content-Type = 'text/xml; charset=utf-8' (CHARACTER)
(0x03000000:NameValue):Connection = 'close' (CHARACTER)
(0x03000000:NameValue):Server = 'nginx' (CHARACTER)
(0x03000000:NameValue):Vary = 'Accept-Encoding' (CHARACTER)
(0x03000000:NameValue):X-OANDA-Exchange-Rates-API-Version = '1.0.2' (CHARACTER)
(0x03000000:NameValue):X-Rate-Limit-Remaining = '0' (CHARACTER)
(0x03000000:NameValue):Set-Cookie = 'opc_id=AFBFA0C8-8736-11E5-8A82-F0928C5A53DC; path=/; Expires=Thu, 06-Nov-2025 23:07:45 GMT' (CHARACTER)
(0x03000000:NameValue):Content-Encoding = 'gzip' (CHARACTER)
)
(0x01000000:Name):BLOB = ( ['none' : 0x7fd82c0df4a0]
(0x03000000:NameValue):UnknownParserName = '' (CHARACTER)
(0x03000000:NameValue):BLOB = X'1f8b08000000000000038552c16a843010bdf72bf65eb689b6db451972e8a
5f4524ad9bba46684b046b32616faf71d13132a08951cf2665e66e6bd112674
761c1c8abbc301bea4c3a69da70987f647bcbe7c00db861692412f17365db1e
bb0f5fa1b1b2b27695c0c5342492f1b875e8c72501258c6e15d24a028392f8e
e104469821d455d86a23fbc6f6b245274a4a6f23a94ca7b157b92dd50d0161
b4b2a31e3cb088133dc2cc87db3cfa2c5853a7954885b20b6fef9fc032ca95f6
9f02dbb70426bccde87ce3b5597417a76341d2ab4bf958f373fd74bae7f401d
bd0422f70576d2daab4963c25b0fd0cb0b4a0286f15154112f89f3cdad7dff55
ccaa2e69cce3a6648272b92d9e2b97a3857d47e353ff602169c5ac07aa58116
a1e9b7fb05bc2e8b4f82020000' (BLOB)
)
)
( ['MQROOT' : 0x7fd82c2d2b90]
(0x01000000:Name):RecoverableException = (
(0x03000000:NameValue):File = '/build/slot1/S900_P/src/DataFlowEngine/MessageServices/ImbDataFlowNode.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 1155 (INTEGER)
(0x03000000:NameValue):Function = 'ImbDataFlowNode::createExceptionList' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmComputeNode' (CHARACTER)
(0x03000000:NameValue):Name = 'GetExchangeRates#FCMComposite_1_5' (CHARACTER)
(0x03000000:NameValue):Label = 'com.GetExchangeRates.CreateResponse' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 2230 (INTEGER)
(0x03000000:NameValue):Text = 'Node throwing exception' (CHARACTER)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 14 (INTEGER)
(0x03000000:NameValue):Text = 'com.GetExchangeRates.CreateResponse' (CHARACTER)
)
(0x01000000:Name ):RecoverableException = (
(0x03000000:NameValue):File = '/build/slot1/S900_P/src/DataFlowEngine/ImbRdl/ImbRdlStatementGroup.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 666 (INTEGER)
(0x03000000:NameValue):Function = 'SqlStatementGroup::execute' (CHARACTER)
(0x03000000:NameValue):Type = 'ImbESQLManager' (CHARACTER)
(0x03000000:NameValue):Name = 'ImbESQLManager' (CHARACTER)
(0x03000000:NameValue):Label = 'ImbESQLManager' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 2488 (INTEGER)
(0x03000000:NameValue):Text = 'Error detected, rethrowing' (CHARACTER)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'com.GetExchangeRatesFromOanda_CreateResponse.Main' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = '27.4' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'CREATE LASTCHILD OF Environment DOMAIN 'XMLNSC' PARSE(inBitStream2, InputRoot.Properties.Encoding, 1208, 'XMLNSC');' (CHARACTER)
)
(0x01000000:Name ):RecoverableException = (
(0x03000000:NameValue):File = '/build/slot1/S900_P/src/DataFlowEngine/ImbRdl/ImbRdlTreeStatements.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 402 (INTEGER)
(0x03000000:NameValue):Function = 'SqlCreateFieldStatement::execute' (CHARACTER)
(0x03000000:NameValue):Type = 'ImbESQLManager' (CHARACTER)
(0x03000000:NameValue):Name = 'ImbESQLManager' (CHARACTER)
(0x03000000:NameValue):Label = 'ImbESQLManager' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 2909 (INTEGER)
(0x03000000:NameValue):Text = 'Exception creating element' (CHARACTER)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'com.GetExchangeRatesFromOanda_CreateResponse.Main' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = '27.4' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'CREATE LASTCHILD OF Environment DOMAIN 'XMLNSC' PARSE(inBitStream2, InputRoot.Properties.Encoding, 1208, 'XMLNSC');' (CHARACTER)
)
(0x01000000:Name ):ParserException = (
(0x03000000:NameValue):File = '/build/slot1/S900_P/src/MTI/MTIforBroker/GenXmlParser4/ImbXMLNSCParser.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 1078 (INTEGER)
(0x03000000:NameValue):Function = 'ImbXMLNSCParser::parseFirstChild' (CHARACTER)
(0x03000000:NameValue):Type = '' (CHARACTER)
(0x03000000:NameValue):Name = '' (CHARACTER)
(0x03000000:NameValue):Label = '' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 5009 (INTEGER)
(0x03000000:NameValue):Text = 'XML Parsing Errors have occurred' (CHARACTER)
(0x01000000:Name ):ParserException = (
(0x03000000:NameValue):File = '/build/slot1/S900_P/src/MTI/MTIforBroker/GenXmlParser4/ImbXMLNSCDocHandler.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 702 (INTEGER)
(0x03000000:NameValue):Function = 'ImbXMLNSCDocHandler::handleParseErrors' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmSOAPInputNode' (CHARACTER)
(0x03000000:NameValue):Name = 'com.GetExchangeRatesRates#FCMComposite_1_8' (CHARACTER)
(0x03000000:NameValue):Label = 'GetExchangeRates.SOAP Input' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPmsgs' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 5004 (INTEGER)
(0x03000000:NameValue):Text = 'An XML parsing error has occurred while parsing the XML document' (CHARACTER)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 2 (INTEGER)
(0x03000000:NameValue):Text = '1504' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 2 (INTEGER)
(0x03000000:NameValue):Text = '2' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 2 (INTEGER)
(0x03000000:NameValue):Text = '1' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 2 (INTEGER)
(0x03000000:NameValue):Text = '1' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'An invalid XML character (Unicode: 0x1f) was found in the prolog of the document.' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = '/Root/XMLNSC' (CHARACTER)
)
)
)
)
)
)
) |
The API returns an XML as a BLOB in the response. I am trying to parse it to get the xml message for further conversions.
I can see that the xml has a character (Unicode: 0x1f) which seems to be invalid for XML1.0 but how do I check whether the provider is constructing XML 1.0 or 1.1?
Any leads would help. Thanks! |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Nov 09, 2015 8:38 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
I am really surprised you did not catch on earlier on this but your BLOB is not XML. First your BLOB is a hex representation of binary data.
However that binary data is not XML.
X'1f8b0800000000000003...' binary is not part of any XML I know of ... Unless it is a fragment of an xml document representing a hexbinary element and then your BLOB might represent that hexbinary content...
Note the hex 00 values. Those are not character values...
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
wmbv7newbie |
Posted: Tue Nov 10, 2015 3:15 pm Post subject: |
|
|
Centurion
Joined: 13 May 2014 Posts: 121
|
I am surprised too
I made some transformation changes and looks like the code is working now...and I am getting a proper XML using RCD node without having to parse in ESQL. The RCD was not working before though.
Thanks for making time to give a look. Appreciate the reply! |
|
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
|
|
|
|