Вызов wsdl в php через https - PullRequest
2 голосов
/ 11 июня 2010

Я пытаюсь подключиться к следующему веб-сервису:

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

Мне также нужно добавить элемент заголовка, который я уже создал.

Могу ли я назвать это просто используя PHP soapclient или zend_soap_client? Или я должен использовать nusoap_client?

Я пытаюсь что-то вроде:

$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);

Но теперь я получаю:

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-> в ответе есть содержимое ответа)

Я довольно новичок в этом, любая помощь будет приветствоваться!

Ответы [ 2 ]

7 голосов
/ 26 июня 2010

Вам нужно установить кодировку клиента SOAP на utf-8 вместо значения по умолчанию ISO-8859-1 перед вызовом метода на сервере.

, например

$soapclient = new nusoap_client(...);
$soapclient->soap_defencoding = 'UTF-8';
$soapclient->call(...);
5 голосов
/ 17 октября 2012
/**
* charset encoding for outgoing messages
*
* @var      string
* @access   public
*/
  var $soap_defencoding = 'UTF-8';
 //var $soap_defencoding = 'ISO-8859-1';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...