【问题标题】:How to ignore or inspect "SOAP-ERROR: Encoding: Violation of encoding rules" in PHP如何在 PHP 中忽略或检查“SOAP-ERROR: Encoding: Violation of encoding rules”
【发布时间】:2014-11-20 05:19:48
【问题描述】:

嗨,我在我的 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()

包含漂亮的服务器响应,根据其他问题,可能存在值类型不匹配。

是否可以找出导致此错误的值或是否可以禁用此检查?

【问题讨论】:

  • 你搞清楚了吗?
  • 如果我没记错的话,其中一位 api 开发人员在他们的 api 中进行了更正
  • 答案的更新将是黄金.. :)

标签: php soap


【解决方案1】:

您可能是对的,问题出在服务器响应中,我遇到了类似的问题,返回的 XML 格式正确且看起来不错,但它没有通过架构验证。

我不知道如何在 PHP 中调试它,我也想知道如何忽略这个验证(和错误抛出),但这个答案帮助我找到了问题的回应:https://stackoverflow.com/a/12171635/3999906

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-27
    • 1970-01-01
    • 2020-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-01
    相关资源
    最近更新 更多