Hello.
I have a problem. I use Axis2.0 at client side (Java) and PHP SOAP at server side. The problem is that when I send from client an array of objects, at server side only first object is seen as object not an array.

My request is
<xsd:complexType name="AddDealerInfoRequest">
       <xsd:complexContent>
           <xsd:extension base="tns:Request">
               <xsd:sequence>
<xsd:element name="bondProvisions" type="ws:BondProvision"
                       minOccurs="0" maxOccurs="unbounded"  />
<xsd:element name="clientId" type="xsd:int" nillable="false" />
               </xsd:sequence>
           </xsd:extension>
       </xsd:complexContent>
   </xsd:complexType>

Schema
   <xsd:complexType name="BondProvision">
       <xsd:sequence>
<xsd:element name="BondProvisionId" type="xsd:int" nillable="true">
            </xsd:element>
<xsd:element name="DealerInfoId" type="xsd:int" nillable="false">
            </xsd:element>
<xsd:element name="ContractOptionId" type="xsd:int" nillable="false">
            </xsd:element>
<xsd:element name="BondProvisionAmount" type="xsd:float" nillable="true">
            </xsd:element>
<xsd:element name="BondProvisionVersionTs" type="xsd:dateTime" nillable="true" />
       </xsd:sequence>
   </xsd:complexType>

Encoded soap message is (only important part)
(...)
<soapenv:Body>
       <AddDealerInfoRequest href="#id0" />
       <multiRef id="id0" soapenc:root="0"
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
           sessionId="4usqg2kj5p8lafmtefvl97n6n0"
           xsi:type="ns1:AddDealerInfoRequest"
           xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
           xmlns:ns1="http://autoguard.pl/ac2/ws/rq";>
           <bondProvisions href="#id2" />
           <bondProvisions href="#id3" />
           <clientId href="#id6" />
       </multiRef>
(...)

And at php's side message is seen as an stdClass but only first BondProvision object is available like this

array(sessionId="4usqg2kj5p8lafmtefvl97n6n0",
   bondProvisions=array(........values.....),
   clientId=1,
);
I expect to see bondProvisions as an array of BondProvision objects.
Please help.

--
*Bartlomiej Zdanowski*
Programmer
Product Research & Development Department
AutoGuard S.A.

Place of registration: Regional Court for the Capital City of Warsaw
Registration no.: 0000287629
Share capital: 1 059 000 PLN
Polish VAT and tax ID no.: PL1132219747
Omulewska 27 street
04-128 Warsaw
Poland
phone +48 22 611 69 23
www.autoguard.pl <http://www.autoguard.pl>

Reply via email to