PHP Soap Request适用于SoapUI,但不适用于PHP

时间:2016-03-16 09:58:14

标签: php soap interface

我必须执行很多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复制并粘贴它。

希望有人在这里帮助我。

1 个答案:

答案 0 :(得分:0)

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

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

var_dump($x);