我在我的php应用程序中进行肥皂调用
$options = array(
'soap_version' => SOAP_1_1,
'exceptions' => true,
'trace' => 1,
'cache_wsdl' => WSDL_CACHE_NONE,
'local_cert' => 'my.key',
);
$client = new SoapClient('http://domain.com/my.wsdl', $options);
var_dump($client->functionName($args));
导致异常
SOAP-ERROR: Encoding: Violation of encoding rules
我猜问题是服务器响应,因为
$client->__getLastResponse()
包含一个外观漂亮的服务器响应,根据其他问题,可能存在值类型不匹配。
是否可以找出导致此错误的值或是否可以禁用此检查?
答案 0 :(得分:1)
您可能是对的,并且问题出在服务器响应中,我遇到了类似的问题,返回的XML格式正确且看起来不错,但未通过架构验证。
我不知道如何在PHP中调试它,我也想知道如何忽略此验证(和错误抛出),但是此答案帮助我找到了问题所在:https://stackoverflow.com/a/12171635/3999906 >