Service web -> Problème d'objet non instancié

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 : Service web -> Problème d'objet non instancié

par ouckileou » 18 juil. 2006, 15:33

Donc, a mon avis, ce qui le chagrine, c'est le ["sdl"]=> resource(3) of type (Unknown) } ...mais comment je peux arranger ça ? :?
Pas forcément, puisque j'ai la même chose et que mon code fonctionne très bien
echo '# Création du client SOAP<br />';
$soapClient = new SoapClient("erracc.wsdl");	
echo '<pre>';
var_dump($soapClient);
echo '</pre>';

echo '# Fonctions <br />';
$fonctions = $soapClient->__getFunctions();
echo '<pre>';
print_r($soapClient);
echo '</pre>';
# Création du client SOAP

object(SoapClient)#1 (2) {
["_soap_version"]=>
int(1)
["sdl"]=>
resource(3) of type (Unknown)
}

# Fonctions

SoapClient Object
(
[_soap_version] => 1
[sdl] => Resource id #3
)
Franchement je sais pas du coup... tu es sûr de ton WSDL ?

par Thomas78 » 18 juil. 2006, 15:06

Arff, c'est moi en effacant le lien qui est effacé, par mégarde, l'apostrophe mais dans mon code, elle y est bien :)

par ouckileou » 18 juil. 2006, 14:55

Question bête :
$client = new soapclient(http://XXXXX/service.asmx?WSDL',array('trace' => false, 'exceptions' => false)); 
Il manquerait pas une apostrophe avant le "http" :?:

Que le service web soit fait en .Net, Java, CICS importe peu, c'est bien là tout l'intérêt d'un service web ;)

par thomas78 » 18 juil. 2006, 14:44

En activant, trace et exceptions dans la classe soapclient, j'obtiens le message d'erreur suivant :
object(SoapClient)#1 (4) { ["trace"]=> int(1) ["_encoding"]=> string(5) "UTF-8" ["_soap_version"]=> int(2) ["sdl"]=> resource(3) of type (Unknown) }
Donc, a mon avis, ce qui le chagrine, c'est le ["sdl"]=> resource(3) of type (Unknown) } ...mais comment je peux arranger ça ? :?

J'ai regardé sur php.net, il n'y a pas d'option pour le définir.
Aussi, je précise que le service web a était fait sous dotnet.

Si quelqu'un a une idée, je le remercie d'avance.

Service web -> Problème d'objet non instancié

par Thomas78 » 18 juil. 2006, 08:53

Bonjour,

J'essaie actuellement de mette en place un client pour un service web. Ce service est censé me renvoyer des informations clients d'après un id client reçu.

Mon code est le suivant :
<?php
try {
    $client = new soapclient(http://XXXXX/service.asmx?WSDL',array('trace' => false, 'exceptions' => false));
    
    $param = array("aClientCardID"=>"111111");
    $O =  $client -> __soapCall('wsGetClientProfile',$param);

    // Affichage du résultat
    print_r ($O);

} catch (SoapFault $fault) {
    echo $fault;
}
?>
Et malheuresement, j'ai comme message d'erreur :

"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."

Je précise que je suis sous PHP 5, j'utilise donc la librairie SOAP integré. J'ai aussi essayé avec NuSOAP et j'obtiens le même message d'erreur.

Si vous aviez une idée...je vous remercie d'avance,

Cordialement,