Bonjour,
Je dois utiliser un webservice dont on m'a fourni l'url WSDL.
Ce web service doit prendre en entrée un chaîne de caractères et me renvoyer également une chaîne de caractères en sortie.
J'ai réussi bien à lister les fonctions et les types du webservice mais des que j'utilise la fonction __soapCall pour appeler une méthode j'ai une fatal error.
voici le code que j'utilise :
Le Client PHP :
La sortie de ce code :
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 <?php // Pour supprimer le cache du web-service ini_set('soap.wsdl_cache_enabled', 0); //Exemple d'input $inputxml='<?xml version="1.0" encoding="UTF-8"?><inputs><input><hasid>33040</hasid></input></inputs>'; // Nouvelle instance de la classe soapClient $client = new SoapClient('http://********/services/dispatch?wsdl' ); $functions = $client->__getFunctions(); echo "FONCTIONS<pre>"; print_r($functions); echo "</pre>"; $types = $client->__getTypes(); echo "TYPE<pre>"; print_r($types); echo "</pre>"; // Appel de la méthode $outputxml = $client -> __soapCall('ws1', array('arg0' => $inputxml)); echo $outputxml; ?>
FONCTIONS
Array
(
[0] => confirmResponse confirm(confirm $confirm)
[1] => loginResponse login(login $login)
[2] => logoutResponse logout(logout $logout)
[3] => ws1Response ws1(ws1 $ws1)
[4] => ws2Response ws2(ws2 $ws2)
[5] => ws3Response ws3(ws3 $ws3)
[6] => ws4Response ws4(ws4 $ws4)
)
TYPE
Array
(
[0] => struct login {
string arg0;
string arg1;
}
[1] => struct loginResponse {
boolean return;
}
[2] => struct logout {
}
[3] => struct logoutResponse {
boolean return;
}
[4] => struct ws1 {
string arg0;
}
[5] => struct ws1Response {
string return;
}
[6] => struct Exception {
string message;
}
[7] => struct ws2 {
string arg0;
}
[8] => struct ws2Response {
base64Binary return;
}
[9] => struct ws3 {
string arg0;
}
[10] => struct ws3Response {
string return;
}
[11] => struct ws4 {
string arg0;
}
[12] => struct ws4Response {
string return;
}
[13] => struct confirm {
string arg0;
}
[14] => struct confirmResponse {
}
)Fatal error: Uncaught SoapFault exception: [env:Server] java.lang.NullPointerException in C:**********\webservices\clientWS1.php:22 Stack trace: #0 C:*************\webservices\clientWS1.php(22): SoapClient->__soapCall('ws1', Array) #1 {main} thrown in C:********\webservices\clientWS1.php on line 22
Avez -vous une idée car la je bloque une peu ? Est-ce mes appels qui sont incorrects ou cela vient il du serveur ?
Merci
Partager