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
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);
A tous les coups, je reçois pushContact
Dans le webservice, j'enregistre les erreurs, la voici
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.
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.

j'ai récupéré la dernière requête envoyé au webservice (avec $client->__last_request) et j'obtiens :
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>
Avez-vous déjà été confronté à ce problème ?
Pouvez-vous m'aider à le résoudre ?

grand merci,

Phil-