soapclient Parsing Schema: can't import schema

2019-05-11 16:51发布

Example Script :

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);
    }

Output :

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

I know wsdl file is correct. I checked wsdl file via http://www.soapclient.com/interop/interopTest.html and it is looking ok. but when i call the wsdl file from php it is giving above error.

Any idea/advice?

2条回答
时光不老,我们不散
2楼-- · 2019-05-11 17:27

We have also found SoapClient to be incapable of handling certain schemas, though not with the error you get. The least bad solution seems to be to use Java to interact with the SOAP service, with PHP-Java Bridge or Gearman to do the PHP-Java interop.

查看更多
啃猪蹄的小仙女
3楼-- · 2019-05-11 17:49

There are some bugs known in some versions of PHP, perhaps you're running an older PHP version?

查看更多
登录 后发表回答