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]

Reply via email to