Appeler fonction avec NuSoap

Appeler fonction avec NuSoap - PHP - Programmation

Marsh Posté le 14-11-2006 à 11:38:21    

Bonjour,
 
voila je suis novice en ce qui concerne les Webservices, apres m'etre documenté, j'ai décidé d'utiliser NuSoap pour appeler une fonction distante. Je precise que je n'ai pas PHP5 installé sur mon serveur et donc que je ne peux pas utiliser les fonctions adequates.
 
La structure de la fonction que je dois appeler est celle la :
 
string Job(string param1, string param2, string param3, string flux, out int ReturnCode, out string ReturnMessage)
 
La parametre flux quant a lui est un flux XML que je généré moi même.
 
J'ai donc codé un truc du style :
 
<?php
$job = "MON_FLUX_XML"; //vous aurez compris que je ne vais pas taper tout mon flux ;)
 
require('nusoap-0.7.2/lib/nusoap.php');
 
$client = new soapclient("utl" ); //URL fournit par l'entreprise qui propose la fonction, url du style http://xx.xxxx.com/
 
$param1 = "toto";
$param2 = "tata";
$param3 = "titi";
 
// définition des parametres du Webservice (Requete SQL, Liste de serveurs, type de sortie)
$params = array('param1' => $param1, 'param2' => $param2, 'param3' => $param3, 'flux' => $job, 'ReturnCode'=> $ReturnCode, 'ReturnMessage'=> $ReturnMessage);
 
$result = $client->call('Job', $params);
 
Une fois que je lance ce script, je recupere une erreur du style :
 
[faultcode] => soap:Server
[faultstring] => Server was unable to process request. --> Object reference not set to an instance of an object.
 
Quelqu'un aurait il une idée, parce que la je commence vraiment a être bloqué  :??:  
 
Merci d'avance.

Reply

Marsh Posté le 14-11-2006 à 11:38:21   

Reply

Marsh Posté le 14-11-2006 à 12:12:45    

1/ utilise try/catch pour récupérer les erreurs, vérifie s'il y a une option nuSoap pour du genre "trace" pour avoir plus de détails sur l'erreur.
 
2/ donne l'url du wsdl
 
3/ d'après la description que tu donnes de ta fonction, elle reçoit 4 variables en entrée et te réponds ReturnCode et ReturnMessage

Reply

Marsh Posté le 14-11-2006 à 12:56:25    

misterpinguin a écrit :

1/ utilise try/catch pour récupérer les erreurs, vérifie s'il y a une option nuSoap pour du genre "trace" pour avoir plus de détails sur l'erreur.
 
2/ donne l'url du wsdl
 
3/ d'après la description que tu donnes de ta fonction, elle reçoit 4 variables en entrée et te réponds ReturnCode et ReturnMessage


 
Malheureusement, je n'ai pas d'url wsdl, j'avais essayé d'utiliser cette methode mais ca ne marchait pas :s

Reply

Marsh Posté le 14-11-2006 à 14:22:07    

Citation :

$client = new soapclient("utl" ); //URL fournit par l'entreprise qui propose la fonction, url du style http://xx.xxxx.com/


as tu essayé : url du style http://xx.xxxx.com/webservice?wsdl ?

Reply

Marsh Posté le 14-11-2006 à 14:53:19    

misterpinguin a écrit :

Citation :

$client = new soapclient("utl" ); //URL fournit par l'entreprise qui propose la fonction, url du style http://xx.xxxx.com/


as tu essayé : url du style http://xx.xxxx.com/webservice?wsdl ?


 
J'ai essayé, mais des lors j'ai une erreur 404
 
Voila un autre script que j'utilise avec cette fois ci un "mode" wsdl :
 
$l_oClient = new soapclient('http://xx.xxxx.com/webservices?wsdl', 'wsdl');
$l_oProxy  = $l_oClient->getProxy();
 
$l_stResult = $l_oProxy->Job("param1","param2","param3",$job, $retour, $retourmessage);
 
Seulement, cette fois ci j'ai une erreur php qui me dit :
Parse error: parse error in ....\nusoap-0.7.2\lib\nusoap.php(6983) : eval()'d code on line 1
 
Fatal error: Cannot instantiate non-existent class: soap_proxy_17579 in .....\nusoap-0.7.2\lib\nusoap.php(6985) : eval()'d code on line 1

 
Apparement ca bug lors de l'appel de la fonction getProxy() de NuSoap

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed