NuSoap call error

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : NuSoap call error

Re: NuSoap call error

par Iris » 21 août 2009, 17:37

Merci sauf que cette fonction ne fonctionne pas avec la lib NuSoap. Je suis encore avec php4 :roll:

Re: NuSoap call error

par Yosh » 21 août 2009, 17:31

Re: NuSoap call error

par Iris » 21 août 2009, 16:51

OK merci
Mais je n'ai pas accès aux codes coté serveur. Y at'il un fonction soap qui me permet de lister ttes les fonctions du webservice ?

Re: NuSoap call error

par Yosh » 21 août 2009, 16:43

Effectivement, d'ailleurs l'erreur renvoyé par Soap informe que c'est le serveur qui génère une erreur et pas le client.

Il faut que tu vérifie le code du serveur ainsi que le WSDL, pour voir si la méthode est correctement référencé.

Re: NuSoap call error

par Iris » 21 août 2009, 16:36

J'ai essayé avec
$result = $client->call('Sujet', 'test');
et tjrs la même erreur !

en utilisant une autre fonction qui ne prend pas de parametre ça fonctionne bien
	$result = $client->call(Liste);
	if ($client->fault) {
		echo '<h2>Fault</h2><pre>'; print_r($result); echo '</pre>';
	} else {
		$err = $client->getError();
		if ($err) {
			echo '<h2>Error</h2><pre>' . $err . '</pre>';
		} else {
			echo '<h2>Result</h2><pre>'; print_r($result); echo '</pre>';
		}
	}

Re: NuSoap call error

par Yosh » 21 août 2009, 16:26

Il te faut mettre des ' dans l'appel de la méthode du Web Service:
$client->call('Sujet', 'test');
A titre d'exemple, l'appel d'un de mes web service se fait comme ci-dessous:
$client = new SoapClient(SERVER_URL . "wsdl/IntegrationData.wsdl.php", array('trace' => 1, 'soap_version' => SOAP_1_1));
		//Appel de la methode wsResultIntegrationData du service web
		$result = $client->__soapCall('wsResultIntegrationData', $parametres);

NuSoap call error

par Iris » 21 août 2009, 14:13

Bonjour

Avec le script ci-dessous (fonctionnant avec NuSoap) j'arrive bien à me connecter au webservice mais par contre lorsque je fais le 'call' cela me retour l'erreur suivante. Savez vous ce que cela peut vouloir dire ?
Merci de votre aide...

Code : Tout sélectionner

Fault Array ( [faultcode] => soap:Server [faultstring] => Le serveur n'a pas pu traiter la demande. --> La référence d'objet n'est pas définie à une instance d'un objet. [detail] => )
require_once('include/lib/nusoap.php');
$options        = array(
'compression'=>true,
'exceptions'=>false,
'trace'=>true
);
$client = new soapclient("http://www.exemple.com/test.asmx?WSDL", $options);
$err = $client->getError();
if ($err) {
	echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
	echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->getDebug(), ENT_QUOTES) . '</pre>';
	exit();
} else {
	$result = $client->call(Sujet, "test");
	if ($client->fault) {
		echo '<h2>Fault</h2><pre>'; print_r($result); echo '</pre>';
	} else {
		$err = $client->getError();
		if ($err) {
			echo '<h2>Error</h2><pre>' . $err . '</pre>';
		} else {
			echo '<h2>Result</h2><pre>'; print_r($result); echo '</pre>';
		}
	}
}