[Web Service] ComplexeType array SOAP
Bonsoir
Voila j'ai un pb avec un array que j'essaye de passer mais j'arrive pas a le recuperer cote serveur
donc voila le code du wsdl (uniquement les messages, les types,etc...)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
<?xml version="1.0"?>
<definitions name="CSP"
targetNamespace="urn:CSP"
xmlns:tns="urn:CSP"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:typens="urn:CSP"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" >
<xsd:complexType name="ArrayOfCRITERE">
<xsd:complexContent>
<xsd:restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:schema>
</types>
<message name="InsertUpdate">
<part name="pays" type="xsd:string"/>
<part name="source" type="xsd:string"/>
<part name="TypeNumero" type="xsd:string"/>
<part name="critere" type="xsd:ArrayOfCRITERE"/>
</message>
<message name="InsertUpdateResponse">
<part name="value" type="string"/>
</message>
<portType name="IUPortType">
<operation name="InsertUpdate">
<input message="InsertUpdate"/>
<output message="InsertUpdateResponse"/>
</operation>
</portType> |
Cote serveur
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
class mySoapClass {
public $passed;
public $use;
public $pass;
public function InsertUpdate($pays, $source, $TypeNumero, $array){
$this->headerAuthentify( $username, $password );
///return array('info' => 'Inconnu : '.$this->use, 'pays' => $pays, 'source'=>$source, 'TypeNumero'=>$TypeNumero);
return " string Pays : ".$pays." _ Source : ".$source." _ TypeNumero : ".$TypeNumero." _ msisdn : ".$array;///." _ hophop : ".$array['hophop'];
}
$server = new SoapServer('http://127.0.0.1/clientTest/fiche.wsdl', array('trace' => 1, 'soap_version' => SOAP_1_2));
$server -> setclass('mySoapClass');
$server->handle(); |
cote client
Code:
1 2 3 4 5 6 7
|
$array= array('yop','aaa');
$info = array('france','sourceEssai', 'numero', $array);
$client = new SoapClient( 'http://127.0.0.1/clientTest/fiche.wsdl', array ('trace'=>true));
$InfoResponse = $client->__soapCall("InsertUpdate",$info); |
Donc voila
je n'arrive pas a recuperer cote serveur les valeurs contenu dans $array
Merci pour votre aide