Author |
Message
|
lrasalas01 |
Posted: Tue Aug 05, 2008 2:33 am Post subject: SOLVED: Problem with MRM domain message: null root at Input |
|
|
Novice
Joined: 16 Jul 2008 Posts: 14
|
Hi,
I am stuck with following issue.
I am using a message flow to convert input XML message into fixed length string using MRM domain. So I have a input node, a compute node for xml to fixed length text conversion and an output node.
When I put a test message, I get following error in trace log.
Code: |
- <ParserException timestamp="2008-08-05 07:39:54.221240" thread="35" function="XMLHandler::error" type="" name="" label="" text="XMLHandler::error reported from the Xerces parser" catalog="BIPv500" number="5117" file="/build/S000_P/src/cpi/pwf/xml/xmlhandler.cpp" line="969">
<Insert type="integer">182</Insert>
<Insert type="string">Null pointer</Insert>
<Insert type="integer">1</Insert>
<Insert type="integer">1</Insert>
<Insert type="string">Invalid document structure</Insert>
<Insert type="string">SiebelMessage</Insert>
<Insert type="string" />
<Insert type="string" />
</ParserException> |
My input XML is
Code: |
<?xml version="1.0" encoding="UTF-16"?>
<?Siebel-Property-Set EscapeNames="false"?>
<SiebelMessage MessageId="1-2MWT" IntObjectName="CRAC1130 Action Interface" MessageType="Integration Object" IntObjectFormat="Siebel Hierarchical">
<ListOfAction>
<Action>
....
</Action>
</ListOfAction>
</SiebleMessage>
|
I also took the trace of root element at catch node of input and found that node is not being generated at all. Can somebody please tell me possible cause?
Code: |
<Insert type="string">( (0x01000000):Properties = ( (0x03000000):MessageSet = 'H6FVLAK002001' (0x03000000):MessageType = 'SiebelMessage' (0x03000000):MessageFormat = 'XML' (0x03000000):Encoding = 273 (0x03000000):CodedCharSetId = 1208 (0x03000000):Transactional = TRUE (0x03000000):Persistence = FALSE (0x03000000):CreationTime = GMTTIMESTAMP '2008-08-05 10:14:19.670' (0x03000000):ExpirationTime = -1 (0x03000000):Priority = 0 (0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000' (0x03000000):ReplyProtocol = 'MQ' (0x03000000):Topic = NULL ) (0x01000000):MQMD = ( (0x03000000):SourceQueue = 'CRST.1050' (0x03000000):Transactional = TRUE (0x03000000):Encoding = 273 (0x03000000):CodedCharSetId = 1208 (0x03000000):Format = 'MQSTR ' (0x03000000):Version = 2 (0x03000000):Report = 0 (0x03000000):MsgType = 8 (0x03000000):Expiry = -1 (0x03000000):Feedback = 0 (0x03000000):Priority = 0 (0x03000000):Persistence = 0 (0x03000000):MsgId = X'414d5120514d4343303120202020202048966ef92000f501' (0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000' (0x03000000):BackoutCount = 0 (0x03000000):ReplyToQ = ' ' (0x03000000):ReplyToQMgr = 'QMCC01 ' (0x03000000):UserIdentifier = 'mqm ' (0x03000000):AccountingToken = X'0000000000000000000000000000000000000000000000000000000000000000' (0x03000000):ApplIdentityData = ' ' (0x03000000):PutApplType = 28 (0x03000000):PutApplName = 'Websphere MQ Client for Java' (0x03000000):PutDate = DATE '2008-08-05' (0x03000000):PutTime = GMTTIME '10:14:19.670' (0x03000000):ApplOriginData = ' ' (0x03000000):GroupId = X'000000000000000000000000000000000000000000000000' (0x03000000):MsgSeqNumber = 1 (0x03000000):Offset = 0 (0x03000000):MsgFlags = 0 (0x03000000):OriginalLength = -1 ) (0x01000021):MRM = )</Insert>
|
I checked the input xml for validity against message sets. There is no issue.
Thanks.
Last edited by lrasalas01 on Tue Aug 05, 2008 5:02 am; edited 1 time in total |
|
Back to top |
|
 |
kimbert |
Posted: Tue Aug 05, 2008 2:41 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Take a debug-level user trace and look for parsing exceptions. |
|
Back to top |
|
 |
lrasalas01 |
Posted: Tue Aug 05, 2008 3:14 am Post subject: |
|
|
Novice
Joined: 16 Jul 2008 Posts: 14
|
kimbert wrote: |
Take a debug-level user trace and look for parsing exceptions. |
I did. I have another parser exeption just before exeption written above.
Code: |
- <ParserException timestamp="2008-08-05 07:39:54.221208" thread="35" function="MtiImbParser::parseFirstChild" type="ComIbmMQInputNode" name="IFOM200I_MSG_FLOW#FCMComposite_1_1" label="IFOM200I_MSG_FLOW.CRST.1050" text="ImbRecoverableException caught from worker->parseFirst." catalog="BIPv500" number="5285" file="/build/S000_P/src/MTI/MTIforBroker/MtiImbParser2/MtiImbParser.cpp" line="348">
<Insert type="string">IFOM200I_INBOUND_MSG_SET</Insert>
<Insert type="integer">1</Insert>
<Insert type="string">XML</Insert>
<Insert type="string">SiebelMessage</Insert>
<Insert type="string">IFOM200I_MSG_FLOW.CRST.1050</Insert>
</ParserException> |
I looked up both BIP5285 and BIP5177 but both indicate badly-formed XML message which is not the case.
This is the complete XML used for input.
Code: |
<?xml version="1.0" encoding="UTF-16"?><?Siebel-Property-Set EscapeNames="false"?><SiebelMessage
MessageId="1-2MXE"
IntObjectName="CRAC1130 Action Interface"
MessageType="Integration Object"
IntObjectFormat="Siebel Hierarchical"
><ListOfAction
><Action
><QmgrName
></QmgrName
><Qname
></Qname
><Flag
></Flag
><SystemName
></SystemName
><UserName
></UserName
><TimeStamp
></TimeStamp
><TraceFlag
></TraceFlag
><UserArea
></UserArea
><ReserveArea
></ReserveArea
><MessageID
></MessageID
><RequestQName
></RequestQName
><RequestQmgrName
></RequestQmgrName
><IDPFQname
></IDPFQname
><IDPFQmgrName
></IDPFQmgrName
><ErrorID
></ErrorID
><ErrorFlag
></ErrorFlag
><ErrorMessage
></ErrorMessage
><Sequence
></Sequence
><IDPFReserveArea1
></IDPFReserveArea1
><IDPFReserveArea2
></IDPFReserveArea2
><XOrderMasterType
></XOrderMasterType
><XSearchType
></XSearchType
><XContractNum
>N081102745</XContractNum
><XCurrentMonthlyAttestationId
></XCurrentMonthlyAttestationId
><XEmlAccount
></XEmlAccount
><XHostName
></XHostName
><XPageOnAccount
>XPageOnAccount-</XPageOnAccount
><XPageOnHostName
>XPageOnHostName---------</XPageOnHostName
><XPhoneNumber050
>050-1234-5678</XPhoneNumber050
><XPhoneNumber0AJ
>0AJ-1234-5678</XPhoneNumber0AJ
><XGeneralPurposeJPDomain
></XGeneralPurposeJPDomain
></Action
></ListOfAction
></SiebelMessage
> |
|
|
Back to top |
|
 |
kimbert |
Posted: Tue Aug 05, 2008 4:10 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
It looks well-formed to you. I assume that you have checked it using a web browser or some other XML parser. But message broker thinks that it is not well-formed. The most likely explanation is that message broker is not seeing the same characters as you are seeing.
Check your code page and encoding settings. I see both UTF-16 and 1208 mentioned in the above log extracts. |
|
Back to top |
|
 |
lrasalas01 |
Posted: Tue Aug 05, 2008 4:50 am Post subject: |
|
|
Novice
Joined: 16 Jul 2008 Posts: 14
|
kimbert wrote: |
Check your code page and encoding settings. I see both UTF-16 and 1208 mentioned in the above log extracts. |
You are right! It was about encoding of the actual xml file we used to create message data. The file was saved in UTF-16 but CCSID 1208 is UTF-8.
I saved the xml data files with UTF-8, changed the xml tags to UTF-8 and it works!
Thanks a lot! |
|
Back to top |
|
 |
|