How to send an array of complex type in PHP using Soap_Client?
Posted
by xaguilars
on Stack Overflow
See other posts from Stack Overflow
or by xaguilars
Published on 2010-04-09T15:20:28Z
Indexed on
2010/04/09
15:23 UTC
Read the original article
Hit count: 285
Hello I want to know how to send this array of complex data to a SOAP server (that uses .NET / IIS).
<xs:complexType name="SampleStruct">
<xs:sequence>
<xs:element name="title" type="xs:string"/>
<xs:element name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="SampleStruct_Array">
<xs:complexContent>
<xs:restriction base="soapenc:Array">
<xs:sequence/>
<xs:attribute ref="soapenc:arrayType" n1:arrayType="ns1:SampleStruct[]"/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
Would this code be ok? :
$data1 = new SampleStruct();
$data1->title="Hello world";
$data1->description="This is a sample description.";
$data2 = new SampleStruct();
$data2->title="Hello world 2";
$data2->description="This is a sample description 2.";
$client->__soapCall("sampleFunction", array(
new SoapParam(new SoapVar(array($data1, $data2) , SOAP_ENC_ARRAY, "SampleStruct_Array", "http://www.w3.org/2001/XMLSchema"), "theSampleFunctionParamName")
));
Am I doing it ok? I'm not very familiar with Web services...
Thank you
© Stack Overflow or respective owner