【问题标题】:PHP/Laravel looks like we got no XML document when making soapcallPHP/Laravel 看起来在进行肥皂调用时我们没有 XML 文档
【发布时间】:2019-04-01 09:41:45
【问题描述】:

我正在尝试打一个肥皂电话,但我不断收到以下错误:

看起来我们没有 XML 文档

编辑错误信息

这是一个在我的 SOAP UI 中运行良好的示例

这是我发送到我的 soapCall 的数组:

$params = [
    'id' => '0000002721',
    'options' => [
                    'returnAttachments' => 'false',
                    'returnPictures'    => 'false',
                    'returnContract'    => 'false'
                 ]
];

这是我如何进行soap调用的代码

try {
    $options = array(
        'ssl' => array(
            'verify_peer' => false,
            'verify_peer_name' => false,
            'allow_self_signed' => true
        )
    );

    $context = stream_context_create($options);

    $soapClient = new SoapClient(__DIR__ . '/Soap.wsdl', [
        'stream_context' => $context,
        'login' => 'login',
        'password' => 'password',
        'trace' => 1,
            'exceptions' => true,
    ]);

    $soapClient->__setLocation('url');

    $this->soapClient = $soapClient;
} catch (\SoapFault $e) {
    var_dump($e); exit;
}

try {
    $result = $this->soapClient->__soapCall('getMaintenanceObject', $params);
} catch (\SoapFault $e) {
    var_dump($e); exit;
}

【问题讨论】:

    标签: php laravel soap soapui soap-client


    【解决方案1】:

    SoapClient 在显示错误时可能不是很有表现力,添加以下内容:

    var_dump($this->soapClient->__getLastRequestHeaders()); var_dump($this->soapClient->__getLastResponseHeaders());

    【讨论】:

    • 不幸的是,这没有任何作用。
    • 它是否显示任何内容?我以前遇到过类似的问题,如果您遇到身份验证问题或任何类似问题,这些问题将被隐藏,并且您将获得像您所拥有的空 XML,而实际响应只能通过使用我发布的行来可视化。
    • 我添加了我在浏览器中得到的结果的屏幕截图
    • 添加我在} catch (\SoapFault $e) { 之后发布的两条var_dump 行,看看你是否得到一些信息。由于引发了 SoapFault,因此未转储信息。
    猜你喜欢
    • 1970-01-01
    • 2017-01-29
    • 2013-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多