Hi everybody.
I have included some more details of the problem
First... this is a rpc/encoded service so I'm using Axis (1)
The problem is that I have this SOAP message (I've attached both messages):
The only difference in the messages is the position of the element "<return
href="#1"/>"
When axis tries to get the first element and start the deserialization it
gets the first element in the first position (NS2:Par1) and solve all the
references fine.
But when it reach the end it finds the element "<return href="#1"/>" and it
cannot deserialize it (and it should not because it would create an infinite
loop). I think that the obvious solution would be to fix the (get first
element from axis)
Now if the element "<return href="#1"/>" is at the begging (like in the
good.xml) axis can deserialize the whole message with no problem
So I have a couple of questions:
First: Is this XML well formed in both cases? I mean the position of the
elements really matters?
Second: What would be better try to implement support in axis2 for
rpc/encoded or fix axis(1) to support this message?
Thank you!
-Pablo Melchi
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body SOAP-ENC:encodingStyle="http://schemas.xmlsoap.org/soap/envelope/">
<NS1:MethodResponse xmlns:NS1="http://namespace1" xmlns:NS2="http://namespace2">
<return href="#1"/>
<NS2:Par1 id="1" xsi:type="NS2:Par1">
<Code xsi:type="xsd:int">0</Code>
<Items xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="NS2:Par2[2]">
<item href="#2"/>
<item href="#3"/>
</Items>
<PlanCode xsi:type="xsd:string"/>
</NS2:Par1>
<NS2:Par2 id="2" xsi:type="NS2:Par2">
<Category xsi:type="xsd:string">A</Category>
<Description xsi:type="xsd:string">Some text 1</Description>
</NS2:Par2>
<NS2:Par2 id="3" xsi:type="NS2:Par2">
<Category xsi:type="xsd:string">B</Category>
<Description xsi:type="xsd:string">Some text 2</Description>
</NS2:Par2>
</NS1:MethodResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body SOAP-ENC:encodingStyle="http://schemas.xmlsoap.org/soap/envelope/">
<NS1:MethodResponse xmlns:NS1="http://namespace1" xmlns:NS2="http://namespace2">
<NS2:Par1 id="1" xsi:type="NS2:Par1">
<Code xsi:type="xsd:int">0</Code>
<Items xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="NS2:Par2[2]">
<item href="#2"/>
<item href="#3"/>
</Items>
<PlanCode xsi:type="xsd:string"/>
</NS2:Par1>
<NS2:Par2 id="2" xsi:type="NS2:Par2">
<Category xsi:type="xsd:string">A</Category>
<Description xsi:type="xsd:string">Some text 1</Description>
</NS2:Par2>
<NS2:Par2 id="3" xsi:type="NS2:Par2">
<Category xsi:type="xsd:string">B</Category>
<Description xsi:type="xsd:string">Some text 2</Description>
</NS2:Par2>
<return href="#1"/>
</NS1:MethodResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]