PHP - appel WebService

Petit nouveau ! | 3 Messages

24 août 2015, 14:52

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

Mammouth du PHP | 737 Messages

27 août 2015, 00:30

Bonsoir,

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

Mega
;)
Dyslexics are teople poo

Petit nouveau ! | 3 Messages

27 août 2015, 09:21

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.

Mammouth du PHP | 737 Messages

28 août 2015, 00:25

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
;)
Modifié en dernier par Megadeth le 28 août 2015, 10:28, modifié 1 fois.
Dyslexics are teople poo

Mammouth du PHP | 737 Messages

28 août 2015, 10:28

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
;)
Dyslexics are teople poo

Petit nouveau ! | 3 Messages

28 août 2015, 16:44

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 !