Bonsoir
je cherche à passer des arrays sur mon web service, mais je n'y arrive pas.
cote client le code donne ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 class CRITERE{ public $champ; public $value; public function __construct(){ $this->champ = array('passe', 'jp'); $this->value = array('top', 'aaa'); } $data1 = new CRITERE(); $array= array('france','sourceEssai', 'numero', $data1); try { $client = new SoapClient( 'http://127.0.0.1/clientTest/fiche.wsdl', array ('trace'=>true)) ; $InfoResponse = $client->__soapCall("InsertUpdate",$array);///,NULL,$authHeader); foreach ($client->__getTypes() as $elem => $value){ echo '<br/> elem : '.$elem.' -- Value : '.$value; } echo $client->__getLastRequest(); echo '<br/>call : '.$InfoResponse; } catch (SoapFault $exception) { print($exception); }
Cote serveur :
le wsdl :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 class mySoapClass { public $passed; public $use; public $pass; public function headerAuthentify( $parameters){ $this->use = $parameters; $this->pass = $NewPart; if($parameters =="test"){ $this->passed = true; } else { $this->mySoapErr( ); } } public function mySoapErr(){ print "Erreur"; } public function InsertUpdate($p, $tn, $s, $array){ return "Valeur ".$val." string Pays : ".$p." _ Source : ".$tn." _ TypeNumero : ".$s." _ msisdn : ".$array->champ[0]; } } try { $server = new SoapServer('http://127.0.0.1/clientTest/fiche.wsdl', array('trace' => 1, 'soap_version' => SOAP_1_2)); $server -> setclass('mySoapClass'); $server->handle(); } catch (Exception $e) { echo $e; }
voila si vous avez des infos pour passer un array d'objet en php et comment le recuperer, je suis preneur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 <types> <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" > <xsd:complexType name="CRITERE"> <xsd:sequence> <xsd:element name="champ" type="xsd:string[]"/> <xsd:element name="value" type="xsd:string[]"/> </xsd:sequence> </xsd:complexType> </xsd:schema> </types> <message name="InsertUpdate"> <part name="pays" type="xsd:string"/> <part name="TypeNumero" type="xsd:string"/> <part name="source" type="xsd:string"/> <part name="critere" type="typens:CRITERE"/> </message> <message name="InsertUpdateResponse"> <part name="value" type="string"/> </message>
Merci
Partager