2010-06-11 6 views
2

Je suis en train de se connecter à la prochaine webservice:Appeler un wsdl en php sur https

https://grab.beta.agiv.be/Tools/CRABTools.svc?wsdl

Je dois aussi ajouter un élément d'en-tête que je l'ai déjà créé. Puis-je l'appeler simplement en utilisant PHP soapclient ou zend_soap_client? Ou dois-je utiliser nusoap_client?

J'essaie quelque chose comme:

$soapclient = new nusoap_client($wsdl); 
$header = "<o:Security s:mus... ../>"; // including my password and username 

$soapclient->call("FindGemeentenResult", 
array("houseNumberId" => 2306852), 
"https://grab.beta.agiv.be/Tools/CRABTools.svc", 
"http://ws.agiv.be/crabtools/ICRABTools/FindGemeentenResult", 
$header); 

Mais maintenant j'obtenir:

Error: HTTP Error: Unsupported HTTP response status 415 Cannot process the message because the content type 'text/xml; charset=ISO-8859-1' was not the expected type 'text/xml; charset=utf-8'. (soapclient-> réponse a contenu de la réponse)

Je suis assez nouveau à cela, tout l'aide serait la bienvenue!

Répondre

5
/** 
* charset encoding for outgoing messages 
* 
* @var  string 
* @access public 
*/ 
    var $soap_defencoding = 'UTF-8'; 
//var $soap_defencoding = 'ISO-8859-1'; 
7

Vous devez définir le codage du client SOAP sur utf-8 plutôt que sur ISO-8859-1 par défaut avant d'appeler la méthode sur le serveur.

par exemple.

$soapclient = new nusoap_client(...); 
$soapclient->soap_defencoding = 'UTF-8'; 
$soapclient->call(...); 
Questions connexes