Bonjour,
Tout d'abord, un excellente année à tous !
Et maintenant mon problème
j'ai créé un webservice en dotnet(c#) dans lequel j'ai une méthode (pushContact) qui reçoit un objet en paramètre.
Voici l'essentiel de mon code
A tous les coups, je reçois pushContact
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 class Contact { public $firstName; public $lastName; public function __construct() { } } $client = new SoapClient($WDSL, array( 'trace'=>true, "classmap"=>array('Contact'=>'Contact'), 'soap_version'=>SOAP_1_2, 'uri'=>$WS_NAMESPACE) ); $param = new SoapVar($contact, SOAP_ENC_OBJECT, "Contact"); //"c" est le nom du paramètre dans la définition de la méthode pushContact $result = $client->pushContact( new SoapParam($param,"c") ); //la méthode pushContact renvoie un booléen var_dump($result);
Dans le webservice, j'enregistre les erreurs, la voici
Après plusieurs recherches, je suis tombé sur le post http://fr.php.net/manual/en/function...call.php#76831, j'ai essayé de le comprendre et de l'appliquer à mon problème mais ça ne marche pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 La référence d'objet n'est pas définie à une instance d'un objet. //En anglais = Object reference not set to an instance of an object.
j'ai récupéré la dernière requête envoyé au webservice (avec $client->__last_request) et j'obtiens :
Avez-vous déjà été confronté à ce problème ?
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 <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://mon.webservice.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Header> <ns1:CredentialHeader> <ns1:login>philippe</ns1:login> <ns1:password>test</ns1:password> </ns1:CredentialHeader> </env:Header> <env:Body> <ns1:pushContact xsi:type="Contact"> <ns1:firstName>test</ns1:firstName> <ns1:lastName>test</ns1:lastName> </ns1:pushContact> </env:Body> </env:Envelope>
Pouvez-vous m'aider à le résoudre ?
grand merci,
Phil-
Partager