Posted: Wed Dec 10, 2008 4:23 am Post subject: root element of a XML is getting a value
Centurion
Joined: 14 Feb 2008 Posts: 100
Hi All,
In a WSDL , I am refering to a XSD say Envelope.xsd for the part name. The structure of the Envelope.xsd is such that it is divided in to two parts after the root element Example
<xs:complexType name="Envelope">
<xs:sequence>
<xs:element name="HeaderPart" type="Header" />
<xs:element name="BodyPart" type="Body" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="HeaderPart">
<xs:sequence>
<xs:element name="Name" type="Name" />
<xs:element name="No" type="No" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="BodyPart">
<xs:choice>
<xs:any />
</xs:choice>
</xs:complexType>
</xs:complexType>
Body part can take any xsd added to the message set. Now the problem is that say If I add EmpData.xsd for the any then after entering the flow (using SOAP Input node) the top level element(root element) of the EmpData.xsd is also getting populated with the value of its last child.
<Envelope>
<BodyPart>
<EmpData>xyz
<A>abc</A>
<B> xyz</B>
</EmpData>
</BodyPart>
</Envelope>
While the correct value should be like
<Envelope>
<BodyPart>
<EmpData>
<A>abc</A>
<B> xyz</B>
</EmpData>
</BodyPart>
</Envelope>
I am using Message Broker 6.1.0.2 with broker fp 6.1 in Windows XP.
Sounds wrong. Please insert a Trace node after the SOAPInput node and before the output ( SOAPReply?) node and set the pattern to '${Root}' on both. If that does not reveal the problem, then please post the input message and both trace node outputs here.
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