示例脚本:
try {
$client = new SoapClient("http://webservices.sabre.com/wsdl/sabreXML1.0.00/GHT/HotelDirectUpdate.wsdl", array("trace" => 0));
} catch (Exception $ex) {
var_dump($ex->faultcode, $ex->faultstring, $ex->faultactor, $ex->detail, $ex->_name, $ex->headerfault);
}输出:
string(4) "WSDL"
string(216) "SOAP-ERROR: Parsing Schema: can't import schema from 'http://webservices.sabre.com/wsdl/sabreXML1.0.00/GHT/HotelDirectUpdateRQ.xsd', unexpected 'targetNamespace'='http://webservices.sabre.com/hgc/hoteldirectupdaterq'"
NULL
NULL
NULL
NULL我知道wsdl文件是正确的。我通过http://www.soapclient.com/interop/interopTest.html检查了wsdl文件,它看起来没问题。但是当我从php调用wsdl文件时,它给出了上面的错误。
有什么想法/建议吗?
发布于 2011-05-06 08:13:53
我们还发现SoapClient不能处理某些模式,尽管不会出现您得到的错误。最好的解决方案似乎是使用Java与SOAP服务交互,使用PHP-Java Bridge或Gearman实现PHP-Java互操作。
发布于 2011-05-06 07:54:04
在PHP的一些版本中有一些已知的错误,也许你运行的是一个较旧的PHP版本?
https://stackoverflow.com/questions/5905349
复制相似问题