php - 通过 https 在 php 中调用 wsdl

标签 php https wsdl nusoap exchangewebservices

我正在尝试连接到下一个网络服务:

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

我还必须添加一个我已经创建的标题元素。

我可以只使用 PHP soapclientzend_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/

相关文章:

php - MySQL Limit 未设置为特定范围

PHP CURL CURLOPT_SSL_VERIFYPEER 被忽略

java - 为 Java 中的 WCF 服务生成代理和 PHP 重复消息错误

php - 将命名空间从 SOAP 信封根移动到 xml 负载

c# - Unity 使用带有输入字段的脚本

php - PHP 变量的 URL 中的问号使链接断开。知道为什么吗?

php - 对 MySQL 列和 PHP 数组进行排序

ruby-on-rails - 如何使用 nginx 配置 phusion passenger 以支持 rails 中的 ssl?

ruby-on-rails - Rails ActiveStorage/Cloudinary 不将图像请求重定向到 HTTPS

iphone - 无法使用 wsdl2Objc (IPhone) 从 WSDL 获取用于 Soap 服务的代码