Page 1 sur 1

PHP - appel WebService

Posté : 24 août 2015, 14:52
par Nico79
Bonjour à tous,

J'ai déjà réalisé plusieurs appels de webService en php (plutôt simple) et là, je suis un appel plus compliqué (avec des objets) et je n'arrive pas à le faire fonctionner. Voici l'architecture de mon wsdl :
<wsdl:types>
<xs:schema elementFormDefault="unqualified" targetNamespace="http://toto.com/" version="1.0">
<xs:element name="processRequests" type="tns:processRequests"/>
<xs:element name="processRequestsResponse" type="tns:processRequestsResponse"/>
<xs:complexType name="processRequests">
<xs:sequence><xs:element minOccurs="0" name="laRequette" type="tns:laRequests"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="laRequests">
<xs:sequence><xs:element minOccurs="0" name="laDate" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="requests" nillable="true" type="tns:laRequests"/><xs:element name="count" type="xs:int"/>
</xs:sequence></xs:complexType>
<xs:complexType name="laRequest">
<xs:sequence><xs:element minOccurs="0" name="identifiant" type="xs:string"/>
<xs:element minOccurs="0" name="heure" type="xs:string"/></xs:sequence></xs:complexType>
<xs:complexType name="processRequestsResponse"><xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:laResponse"/></xs:sequence></xs:complexType>
<xs:complexType name="laResponse">
<xs:sequence><xs:element maxOccurs="unbounded" minOccurs="0" name="errors" nillable="true" type="tns:testError"/>
<xs:element minOccurs="0" name="processedPoliciesCount" type="xs:int"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="unknownPolicies" nillable="true" type="xs:string"/></xs:sequence></xs:complexType>
<xs:complexType name="testError"><xs:sequence><xs:element minOccurs="0" name="errorDescription" type="xs:string"/><xs:element minOccurs="0" name="identifiant" type="xs:string"/></xs:sequence></xs:complexType></xs:schema></wsdl:types>

J'ai essayé en appelant le webService de cette façon :

Code : Tout sélectionner

//$res = $client->processRequests(array('laDate' => '20160820','identifiant' => 'xxxxx','heure' => '13:50','count' => 1));
Fatal error: Uncaught SoapFault exception: [soap:Server] Fault occurred while processing.


J'ai ensuite essayé en créant deux objets, un objet laRequest contenant 2 attributs (identifiant, heure) et une classe laRequette contant 3 attributs (laDate, count, objetlaRequest) et voici mon appel :

Code : Tout sélectionner

$res = $client->processRequests(array('laRequette' => $oReq));
Fatal error: Uncaught SoapFault exception: [soap:Server] Fault occurred while processing.

Pouvez vous m'aider, je ne vois pas du tout mon problème. Merci à vous

Re: PHP - appel WebService

Posté : 27 août 2015, 00:30
par Megadeth
Bonsoir,

Avez-vous réussi à faire avancer votre appel ?
Qu'est-ce que ça donne si vous créez le projet sous soapUI ?

Mega
;)

Re: PHP - appel WebService

Posté : 27 août 2015, 09:21
par Nico79
Bonjour,

Merci pour votre retour. Malheureusement je n'ai pas avancé, je suis toujours bloqué. Sous SoapUI, ça fonctionne très bien. Le problème provient forcément du code que j'ai mis en place.

Si quelqu'un pouvait m'aider ça serait super.

Merci.

Re: PHP - appel WebService

Posté : 28 août 2015, 00:25
par Megadeth
je jetterai un oeil demain à mes exemples.

Autrement es-tu sur de ça => name="heure" type="xs:string" et ton 13:50 ?

d'autres options sur ce lien :
http://php.net/manual/fr/soapfault.soapfault.php

Mega
;)

Re: PHP - appel WebService

Posté : 28 août 2015, 10:28
par Megadeth
Re,

De mon côté le premier appel c'est :

Code : Tout sélectionner

$this->temp["varvoulue"]=array("URL"=>"http://"...":8080/MonService?wsdl","ID"=>array("login"=>LOGIN,"password"=>PWD,"trace"=>TRUE));
Plus haut tu appelles bien ton webservice ?

Mega
;)

Re: PHP - appel WebService

Posté : 28 août 2015, 16:44
par Nico79
Concernant l'heure, effectivement ça pouvait être source d'erreur. Donc le champ étant optionnel je ne l'ai pas renseigné.

Je viens de regarder avec Wireshark et l'appel du webService est bien ko et ensuite le déroulement de ma page PHP s'arrête. Je vais continuer mais là, je sèche ça fait 2 jours que je suis sur le problème !