Схема синтаксического анализа soapclient: невозможно импортировать схему из - PullRequest
3 голосов
/ 06 мая 2011

Пример сценария:

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 правильный. Я проверил файл wsdl через http://www.soapclient.com/interop/interopTest.html, и он выглядит нормально. но когда я вызываю wsdl-файл из php, он выдает ошибку выше.

Любая идея / совет?

Ответы [ 2 ]

1 голос
/ 06 мая 2011

Мы также обнаружили, что SoapClient не способен обрабатывать определенные схемы, но не с ошибкой, которую вы получаете.Наименее плохое решение, по-видимому, заключается в использовании Java для взаимодействия со службой SOAP, с PHP-Java Bridge или Gearman для взаимодействия PHP-Java.

0 голосов
/ 06 мая 2011

Есть некоторые ошибки, известные в некоторых версиях PHP, возможно, вы используете более старую версию PHP?

...