【问题标题】:PHP Soap Request works in SoapUI but not in PHPPHP Soap 请求在 SoapUI 中有效,但在 PHP 中无效
【发布时间】:2016-03-16 09:58:14
【问题描述】:

我必须执行很多 SOAP 请求。因此,我在 SoapUI 中构建了一个运行良好的请求。我点击了播放按钮,得到了预期的结果。

现在我想使用 PHP 创建相同的 SOAP 请求,但这不起作用。 WDSL 文件的“连接”有效。当我执行__getFunctions__getTypes 时,它会按预期工作。

PHP-代码:

$wdsl = "http://MYSERVER/v2?wsdl";        
$soap = new SoapClient($wdsl, array('soap_version'=>SOAP_1_2,"trace"=>1,'encoding' => 'UTF-8');
try {
    $x =$soap->getHotelProduct($req);
} catch (SoapFault $e) {
    echo $e->getMessage();
}
var_dump($x); 

$req 是(在 SoapUI 中)工作请求。

执行脚本时出现的错误是:

object(stdClass)#2 (2) { ["Error"]=> object(stdClass)#3 (2) { ["_"]=> string(40) "The request contains an unknown AuthKey." ["Code"]=> int(1) } ["Success"]=> bool(false) }  

但是:AuthKey 绝对正确!我什至从 SoapUI 中复制并粘贴了它。

希望这里的任何人都可以帮助我。

【问题讨论】:

    标签: php soap interface


    【解决方案1】:

    请尝试以下方法。尝试使用 __soapCall();

    try
    {       
       $x =$soap->__soapCall("getHotelProduct",array($req));
       $x = (array) $x;      //convert to array
    }
    // ..... //
    
    var_dump($x); 
    

    【讨论】:

    • 您好,非常感谢。这也行不通。 array(2) { ["Error"]=> object(stdClass)#3 (2) { ["_"]=> string(40) "请求包含未知的 AuthKey。" ["代码"]=> int(1) } ["成功"]=> bool(false) }
    猜你喜欢
    • 2023-04-05
    • 1970-01-01
    • 2016-10-25
    • 2017-05-03
    • 1970-01-01
    • 2013-08-25
    • 2017-10-19
    • 2016-07-11
    • 2020-07-26
    相关资源
    最近更新 更多