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 :
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;
}
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
 
 
<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>
voila si vous avez des infos pour passer un array d'objet en php et comment le recuperer, je suis preneur.
Merci