提问人:nechmi bader 提问时间:10/8/2023 最后编辑:Brian Tompsett - 汤莱恩nechmi bader 更新时间:10/8/2023 访问量:41
PHP SOAP 调用空响应(授权标头)
PHP SOAP call empty response (Authorization header)
问:
我想调用一个soap API,将数据保存到Sage X3版本12。 我正在使用以下代码:
$options = array(
'login' => $username,
'password' => $password,
);
$api = parent::__construct($url, $options);
$result = parent::__soapCall($function_name, $arguments, $options, $input_headers, $output_headers);
return parent::__getLastResponse();
我的PHP类扩展SoapClient
我正在使用带有抢占式身份验证的基本身份验证,但我总是得到一个空响应。 我的代码中是否有任何问题,为什么我得到一个空响应?
答:
0赞
Markus Zeller
10/8/2023
#1
你需要把参数放在一个额外的数组中,就像这样
try {
$result = parent::__soapCall($function_name, [$arguments], $options, $input_headers, $output_headers);
} catch (SoapFault $exception) {
echo $exception->getMessage();
}
如果这不起作用,请签出 SoapFault 异常并查看错误消息。
您还应该查看客户端创建。在这里,您可以输入 WSDL 的凭据,并在选项跟踪和异常中进行控制。如果您禁用了它,请启用它。通常,默认情况下它是启用的。
评论
0赞
nechmi bader
10/8/2023
我已经添加了一个捕获,但没有消息
0赞
Markus Zeller
10/8/2023
因为你发布了一个新问题,询问如何解析,这个答案对你有帮助吗?
0赞
A programmer who has no money
10/8/2023
#2
soap协议的本质是http协议。您可以在 PHP 中输出通过 soap 操作请求的 XML 信息,然后通过 postman 调用该接口,并将 xml 内容放入 postman 中查询响应结果。请记住在 postman 中设置 raw 选项。,数据格式为 xml。我以前一直在以这种方式进行故障排除。很抱歉,我没有记录PHP如何输出soap请求的XML,但我确信它可以导出。
评论