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?
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.
There are some bugs known in some versions of PHP, perhaps you're running an older PHP version?