Ошибка создания PHP SoapClient: «Пространство имен не должно соответствовать охватывающей схеме»

#php #soap #soap-client

#php #soap #soap-клиент

Вопрос:

Я получаю ошибку «Пространство имен не должно соответствовать охватывающей схеме» при попытке создать объект SoapClient. Код прост:

 <?php $client = new SoapClient('http://www.server.com/Service?wsdl');
  

Как я могу создать объект, игнорируя эту ошибку?

Ответ №1:

Я не уверен, как выглядит WSDL, поэтому немного сложно сказать, можно ли избежать ошибки. Однако вы можете переключиться на создание SoapClient с использованием режима, отличного от WSDL:

 $client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                 'uri'      => "http://test-uri/"));
  

Где location и uri описываются как:

Массив опций. При работе в режиме WSDL этот параметр необязателен. При работе в режиме, отличном от WSDL, должны быть установлены параметры location и uri, где location — это URL для запроса, а uri — целевое пространство имен службы SOAP.

Источник: http://www.php.net/manual/en/soapclient.soapclient.php