Author |
Message
|
Senthamizh |
Posted: Mon Dec 21, 2009 6:12 am Post subject: Error during Migrating a MessageSet from V5.3 to V6.1 |
|
|
Apprentice
Joined: 21 Dec 2009 Posts: 47
|
Hi
I am migrating a messageSet from V5.3 to V6.1. But i get the following error during runtime. The user trace is pasted below
UserTrace BIP5494I: The logical tree is now being matched to the message model.
UserTrace BIP5564I: Item ''REFDATA'' from the logical tree has matched with the message model as ''[MESSAGE]_REFDATA/[MESSAGE]_REFDATA''.
UserTrace BIP5564I: Item ''Test_Message'' from the logical tree has matched with the message model as ''[MESSAGE]_REFDATA/[MESSAGE]_REFDATA/Test_Message(1 of unbounded)''.
UserTrace BIP5564I: Item ''Header_Holder'' from the logical tree has matched with the message model as ''[MESSAGE]_REFDATA/[MESSAGE]_REFDATA/Test_Message(1 of unbounded)/[SEQUENCE](1 of unbounded)/Header_Holder''.
UserTrace BIP5564I: Item ''Header_Data'' from the logical tree has matched with the message model as ''[MESSAGE]_REFDATA/[MESSAGE]_REFDATA/Test_Message(1 of unbounded)/[SEQUENCE](1 of unbounded)/Header_Holder/Header_Data''.
UserTrace BIP5605W: An open or open-defined element ''REFDATA'' has occurred inside a type or group of data element separation ''ALL ELEMENTS DELIMITED''. This data element separation type cannot contain open or open-defined elements. The data has been discarded, and the message will be written without it.
Confirm that the element matches that in the model, and that it is correctly described in the flow.
Collect debug-level user trace for more information on how the model is being matched.
UserTrace BIP4164I: Message propagated to the second terminal of the FlowOrder node 'TestFlow.SendMessageAndLog'.
The FlowOrder node has finished processing a message down the first terminal and has propagated it to the second terminal.
No user action required.
The structure of the messgae is
REFDATA (All Elements Delimited)
------Test_Message (TaggedFixedLength)
------------Header_Holder (FixedLength)
------------Event_Holder (FixedLength)
------------Tables_Data_Holder(FixedLength)
------------------TableData_1(TaggedFixedLength)
Any help on this would be much appreciated.
Thanks in advance. |
|
Back to top |
|
 |
kimbert |
Posted: Mon Dec 21, 2009 3:11 pm Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
The structure of the messgae is |
...much easier to read if you use [code] tags to preserve the indentation
I believe you are encountering a documented change of behaviour between v5 and v6. You should check the migration guide, or the section in the infocenter which deals with changes between v5 and v6. |
|
Back to top |
|
 |
Senthamizh |
Posted: Mon Dec 21, 2009 10:41 pm Post subject: |
|
|
Apprentice
Joined: 21 Dec 2009 Posts: 47
|
Hi Thanks for the reply.
I went through the migration notes available in Helpcontents, but couldn't relate to my error.
So I tried creating a new message set in V6, but even that had the same problem. It is giving out an 0kb message. I have pasted the mxsd below, could you please look into it and provide a few pointers.
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Headerone" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="WMQI_APPINFO">
<tdsElemRep length="5" messageSetDefaultRep="TDS1" precision="-1"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="Headertwo" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="WMQI_APPINFO">
<tdsElemRep length="4" messageSetDefaultRep="TDS1" precision="-1"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="Detailone" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="WMQI_APPINFO">
<tdsElemRep length="5" messageSetDefaultRep="TDS1" precision="-1"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="Detailtwo" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="WMQI_APPINFO">
<tdsElemRep length="4" messageSetDefaultRep="TDS1" precision="-1"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="Footerone" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="WMQI_APPINFO">
<tdsElemRep length="5" messageSetDefaultRep="TDS1" precision="-1"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="Footertwo" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="WMQI_APPINFO">
<tdsElemRep length="4" messageSetDefaultRep="TDS1" precision="-1"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DataHeader_t">
<xsd:sequence>
<xsd:element ref="Headerone"/>
<xsd:element ref="Headertwo"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="DataDetail_t">
<xsd:sequence>
<xsd:element ref="Detailone"/>
<xsd:element ref="Detailtwo"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="DataFooter_t">
<xsd:sequence>
<xsd:element ref="Footerone"/>
<xsd:element ref="Footertwo"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="DataHeader" type="DataHeader_t">
<xsd:annotation>
<xsd:appinfo source="WMQI_APPINFO">
<tdsElemRep messageSetDefaultRep="TDS1" precision="-1" tag="**"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="DataDetail" type="DataDetail_t">
<xsd:annotation>
<xsd:appinfo source="WMQI_APPINFO">
<tdsElemRep messageSetDefaultRep="TDS1" precision="-1" tag="00"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="DataFooter" type="DataFooter_t">
<xsd:annotation>
<xsd:appinfo source="WMQI_APPINFO">
<tdsElemRep messageSetDefaultRep="TDS1" precision="-1" tag="11"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="Holder_t">
<xsd:annotation>
<xsd:appinfo source="WMQI_APPINFO">
<tdsStructRep dataElementSeparation="TaggedFixedLength" messageSetDefaultRep="TDS1" tagLength="2"/>
</xsd:appinfo>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="DataHeader"/>
<xsd:element ref="DataDetail"/>
<xsd:element ref="DataFooter"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Holder" type="Holder_t"/>
<xsd:complexType name="MainType_t">
<xsd:annotation>
<xsd:appinfo source="WMQI_APPINFO">
<tdsStructRep dataElementSeparation="AllElementsDelimited" delimiter="<CR><LF>" messageSetDefaultRep="TDS1"/>
</xsd:appinfo>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="99999" minOccurs="0" ref="Holder"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="MainType" type="MainType_t"/>
<xsd:element name="TEST" type="MainType_t">
<xsd:annotation>
<xsd:appinfo source="WMQI_APPINFO">
<MRMessage messageDefinition="/0/TEST;XSDElementDeclaration=11$MRObject"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
</xsd:schema>
I am trying to parse with this message as pasted below
AAAAABBBBCCCCCDDDDEEEEEFFFF
and my expected output is
**AAAAABBBB00CCCCCDDDD11EEEEEFFFF
Thanks in advance. |
|
Back to top |
|
 |
kimbert |
Posted: Tue Dec 22, 2009 1:10 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
I have pasted the mxsd below, could you please look into it and provide a few pointers.
|
Not until you edit that last post, and put [code] tags around the mxsd. You can't expect free help from us if you make your questions hard to read. |
|
Back to top |
|
 |
Senthamizh |
Posted: Sun Dec 27, 2009 9:08 pm Post subject: |
|
|
Apprentice
Joined: 21 Dec 2009 Posts: 47
|
Hi Kimbert.
Sorry about that.
Here is the indented mxsd.
Code: |
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Headerone" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="WMQI_APPINFO">
<tdsElemRep length="5" messageSetDefaultRep="TDS1" precision="-1"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="Headertwo" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="WMQI_APPINFO">
<tdsElemRep length="4" messageSetDefaultRep="TDS1" precision="-1"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="Detailone" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="WMQI_APPINFO">
<tdsElemRep length="5" messageSetDefaultRep="TDS1" precision="-1"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="Detailtwo" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="WMQI_APPINFO">
<tdsElemRep length="4" messageSetDefaultRep="TDS1" precision="-1"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="Footerone" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="WMQI_APPINFO">
<tdsElemRep length="5" messageSetDefaultRep="TDS1" precision="-1"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="Footertwo" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="WMQI_APPINFO">
<tdsElemRep length="4" messageSetDefaultRep="TDS1" precision="-1"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="DataHeader_t">
<xsd:sequence>
<xsd:element ref="Headerone"/>
<xsd:element ref="Headertwo"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="DataDetail_t">
<xsd:sequence>
<xsd:element ref="Detailone"/>
<xsd:element ref="Detailtwo"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="DataFooter_t">
<xsd:sequence>
<xsd:element ref="Footerone"/>
<xsd:element ref="Footertwo"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="DataHeader" type="DataHeader_t">
<xsd:annotation>
<xsd:appinfo source="WMQI_APPINFO">
<tdsElemRep messageSetDefaultRep="TDS1" precision="-1" tag="**"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="DataDetail" type="DataDetail_t">
<xsd:annotation>
<xsd:appinfo source="WMQI_APPINFO">
<tdsElemRep messageSetDefaultRep="TDS1" precision="-1" tag="00"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="DataFooter" type="DataFooter_t">
<xsd:annotation>
<xsd:appinfo source="WMQI_APPINFO">
<tdsElemRep messageSetDefaultRep="TDS1" precision="-1" tag="11"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="Holder_t">
<xsd:annotation>
<xsd:appinfo source="WMQI_APPINFO">
<tdsStructRep dataElementSeparation="TaggedFixedLength" messageSetDefaultRep="TDS1" tagLength="2"/>
</xsd:appinfo>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="DataHeader"/>
<xsd:element ref="DataDetail"/>
<xsd:element ref="DataFooter"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Holder" type="Holder_t"/>
<xsd:complexType name="MainType_t">
<xsd:annotation>
<xsd:appinfo source="WMQI_APPINFO">
<tdsStructRep dataElementSeparation="AllElementsDelimited" delimiter="<CR><LF>" messageSetDefaultRep="TDS1"/>
</xsd:appinfo>
</xsd:annotation>
<xsd:sequence>
<xsd:element maxOccurs="99999" minOccurs="0" ref="Holder"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="MainType" type="MainType_t"/>
<xsd:element name="TEST" type="MainType_t">
<xsd:annotation>
<xsd:appinfo source="WMQI_APPINFO">
<MRMessage messageDefinition="/0/TEST;XSDElementDeclaration=11$MRObject"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
</xsd:schema>
|
I was able to find the answer for the 0kb message. Actually the problem was with the way i accessed the messageSet in V6.
In this case, in V6, the "message name" has to be ignored.
Eg :
In V5 i accessed like
"SET OutputRoot.MRM.TEST.Holder.DataHeader.Headerone = 'AAAAA';"
In V6 it should be accessed like
"SET OutputRoot.MRM.Holder.DataHeader.Headerone = 'AAAAA';"
By this way I got the expected output.
Thanks for your replies. |
|
Back to top |
|
 |
kimbert |
Posted: Mon Jan 04, 2010 2:32 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Glad you got it working. But you should be aware of the following point:
Quote: |
In V5 i accessed like
"SET OutputRoot.MRM.TEST.Holder.DataHeader.Headerone = 'AAAAA';"
In V6 it should be accessed like
"SET OutputRoot.MRM.Holder.DataHeader.Headerone = 'AAAAA';" |
Your v5 message set was wrong. There has not been any change to the MRM tree structure since v2.1. |
|
Back to top |
|
 |
|