我正在尝试连接到下一个网络服务:
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);
但现在我得到:
错误:HTTP 错误:不受支持的 HTTP 响应状态 415 无法处理消息,因为内容类型为“text/xml; charset=ISO-8859-1' 不是预期的类型 'text/xml; charset=utf-8'.
(soapclient->response 有响应的内容)
我对此很陌生,欢迎任何帮助!
最佳答案
在服务器上调用该方法之前,您需要将 SOAP 客户端编码设置为 utf-8
而不是默认的 ISO-8859-1
。
例如
$soapclient = new nusoap_client(...);
$soapclient->soap_defencoding = 'UTF-8';
$soapclient->call(...);
关于php - 通过 https 在 php 中调用 wsdl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3021487/