веб-сервисы, использующие nusoap

#php #nusoap

Вопрос:

я использую nusoap для веб-сервисов для интеграции api отеля в свое веб-приложение.

Я создаю soapclient и вызываю веб-сервис. запрос есть

POST /API/xyz.asmx HTTP/1.0
Агент пользователя: NuSOAP/0.6.3
Ведущий: xyz.com
Авторизация: xyz
Тип содержимого: текст/xml; кодировка="ISO-8859-1"
Содержание-Длина: 646
Мыльное действие: "xyz"

<?версия xml="1.0" кодировка="ISO-8859-1"?><?версия xml="1.0" кодировка="ISO-8859-1"?><SOAP-ENV:Конверт SOAP-ENV:Стиль кодирования="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:si="http://soapinterop.org/xsd"><SOAP-ENV:Конверт SOAP-ENV:Стиль кодирования="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:si="http://soapinterop.org/xsd"><SOAP-ENV:Тело>
<имя пользователя xsi:тип="xsd:строка">xyz<имя пользователя xsi:тип="xsd:строка"></имя пользователя>xxx000000</имя пользователя></hotel_id></hotel_id></ns1:getwebservice>

и реакция такая

HTTP/1.1 200 ОК
Контроль кэша: приватный, максимальный возраст=0
Тип содержимого: текст/xml; кодировка=utf-8
Сервер: Microsoft-IIS/7.5
X-AspNet-Версия: 2.0.50727
Дата: Вт, 31 мая 2011 07:18:28 GMT
Соединение: закрыть
Содержание-Длина: 387

<?версия xml="1.0" кодировка="utf-8"?><?версия xml="1.0" кодировка="utf-8"?><soap:Конверт xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><мыло:Конверт xmlns:мыло="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><мыло:Тело><мыло:Тело><Get_hotel_infoResponse xmlns="http://tempuri.org/"><Get_hotel_infoResponse xmlns="http://tempuri.org/"><getwebservice><getwebservice><отели xmlns="" /><отели xmlns="" /></getwebserviceResult></getwebserviceResult></мыло:Тело></мыло:Тело></мыло:Конверт>
</SOAP-ENV:Тело></SOAP-ENV:Тело></SOAP-ENV:Конверт>

Я получаю xml-ответ пустым в ответе ,то есть, как я мог получить xml — данные в ответ.

Я не получаю ссылку xmlns в ответ. так как же это произойдет?

Комментарии:

1. проверьте документацию для этого конкретного api, независимо от того, что вы используете.

2. В своем запросе вы, похоже, не закрыли свои <SOAL-ENV:Envelope> <SOAP-ENV:body> теги или. Или вы просто скопировали вставили его неправильно?

3. извините,что я вставил его неправильно, просто отредактировал, посмотрите на этот код.

4. кстати, вам не нужно использовать <pre> теги и сущности, чтобы код отображался в вопросах SO; просто сделайте отступ в коде на 4 пробела, и он будет хорошо отформатирован для вас.

Ответ №1:

Не используйте NuSOAP, он давно мертв. Используйте встроенный PHP SoapClient .

Комментарии:

1. для меня SoapClient из PHP действительно плох. только ошибка (чем SOAPUI без ошибок) с тем же wsdl. NuSOAP-это хорошо