Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Services Web
Services Web Forum d'entraide pour les services Web en PHP, qui permettent de créer et de consommer facilement des webservices (génération de WSDL etc.). Exemples : SOAP, NuSOAP, REST, SCA-SDO... Avant de poster -> Cours webservices
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/12/2010, 17h40   #1
Candidat au titre de Membre du Club
 
Inscription : janvier 2008
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 44
Points : 14
Points : 14
Par défaut Soap utilisation des arrays

Bonsoir
je cherche à passer des arrays sur mon web service, mais je n'y arrive pas.

cote client le code donne ca :
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
 
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 :
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 :
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
sebxid est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h46.


 
 
 
 
Partenaires

Hébergement Web