soapclient Parsing Schema:无法从中导入模式

时间:2011-05-05 23:49:04

标签: php soap-client

示例脚本:

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文件时,它给出了上述错误。

任何想法/建议?

2 个答案:

答案 0 :(得分:1)

我们还发现SoapClient无法处理某些模式,但不会出现错误。最不好的解决方案似乎是使用Java与SOAP服务进行交互,使用PHP-Java BridgeGearman来进行PHP-Java互操作。

答案 1 :(得分:0)

在某些版本的PHP中有一些已知错误,也许您正在运行较旧的PHP版本?