Intereting Posts
Есть ли способ отключить ссылку href при щелчке на n дней использовать файлы cookie в JavaScript Неустранимая ошибка: вызов функции-члена get () для не-объекта в C: \ wamp \ www \ ci \ application \ models \ site_model.php в строке 6 данные быстрой синхронизации данных ядра базы данных mysql Контроллер Codeigniter не возвращает запрошенную функцию Объект класса mysqli_result не может быть преобразован в строку в Символы Unicode становятся вопросительными знаками после вставки в базу данных Как удалить 3 символа в конце строки в php? password_verify не возвращает true / false введите код в зависимости от времени суток CodeIgniter – доступ к переменной $ config PHP IDE с лучшим завершением кода? Я не могу подключить свою страницу PHP к моему тестовому серверу SQL и базе данных Удалить расширение домена Как защитить загружаемые файлы в удаленном каталоге от не-премиум-пользователей (в php?) PHP mysql select concat

тип контента 'text / xml; charset = utf-8 'не был ожидаемым типом' application / soap + xml; кодировка = UTF-8'

Я давно пытаюсь отправить правильный запрос на soap-сервер. Я продолжаю получать сообщение об ошибке.

Вот мой xml

ПОЛУЧИТЬ ПОСЛЕДНИЙ ЗАПРОС (добавлены новые строки):

<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tempuri.org/"> <SOAP-ENV:Body><ns1:TestData1><ns1:iVal>1</ns1:iVal></ns1:TestData1></SOAP-ENV:Body> </SOAP-ENV:Envelope> 

ПОСЛЕДНИЙ ОТВЕТ:

ЗАПРОСЫ:

 POST /DPWebService/CardsService.svc/ICardsService HTTP/1.1 Host: d67v7tg1 Connection: Keep-Alive User-Agent: PHP-SOAP/5.2.9-1 Content-Type: text/xml; charset=utf-8 SOAPAction: "http://tempuri.org/ICardsService/TestData1" Content-Length: 254 

Вот ответ.

 object(SoapFault)#2 (8) { ["message:protected"]=> string(142) "Cannot process the message because the content type 'text/xml; charset=utf-8' was not the expected type 'application/soap+xml; charset=utf-8'." ["string:private"]=> string(0) "" ["code:protected"]=> int(0) ["file:protected"]=> string(32) "C:\localhost\www\test5\index.php" ["line:protected"]=> int(208) ["trace:private"]=> array(3) { [0]=> array(4) { ["function"]=> string(11) "__doRequest" ["class"]=> string(10) "SoapClient" ["type"]=> string(2) "->" ["args"]=> array(5) { [0]=> string(254) " 1 " [1]=> string(59) "http://d67v7tg1/DPWebService/CardsService.svc/ICardsService" [2]=> string(42) "http://tempuri.org/ICardsService/TestData1" [3]=> int(1) [4]=> int(0) } } [1]=> array(4) { ["function"]=> string(6) "__call" ["class"]=> string(10) "SoapClient" ["type"]=> string(2) "->" ["args"]=> array(2) { [0]=> string(9) "TestData1" [1]=> array(1) { [0]=> array(2) { ["iVal"]=> int(1) ["strVal"]=> string(5) "Proba" } } } } [2]=> array(6) { ["file"]=> string(32) "C:\localhost\www\test5\index.php" ["line"]=> int(208) ["function"]=> string(9) "TestData1" ["class"]=> string(10) "SoapClient" ["type"]=> string(2) "->" ["args"]=> array(1) { [0]=> array(2) { ["iVal"]=> int(1) ["strVal"]=> string(5) "Proba" } } } } ["faultstring"]=> string(142) "Cannot process the message because the content type 'text/xml; charset=utf-8' was not the expected type 'application/soap+xml; charset=utf-8'." ["faultcode"]=> string(4) "HTTP" } 

ПОСЛЕДНИЙ ОТВЕТ:

ЗАПРОСЫ:

 POST /DPWebService/CardsService.svc/ICardsService HTTP/1.1 Host: d67v7tg1 Connection: Keep-Alive User-Agent: PHP-SOAP/5.2.9-1 Content-Type: text/xml; charset=utf-8 SOAPAction: "http://tempuri.org/ICardsService/TestData1" Content-Length: 254 

Натуральное расширение SOAP от PHP является неотъемлемым двоичным блоком ужасов.

Согласно этому комментарию в руководстве по PHP , он жестко запрограммирован на отправку SOAP-запросов с помощью application/soap+xml типа MIME-типа application/soap+xml .

Кажется, ваш SOAP-сервер отклонил этот тип контента, ожидая только text/xml .

Согласно этому стандарту SOAP 1.2 , раздел 7.1.4 на SOAP через HTTP:

Соответствующие реализации этой привязки:

  1. ДОЛЖНА быть способна отправлять и получать сообщения, сериализованные с использованием типа носителя «application / soap + xml», правильное использование и параметры которого описаны в A. Тип приложения / мыла + xml Media .

Сервер SOAP, который вы используете, не является жалобой в стандарте 1.2.

(Для записи это первый раз, когда я когда-либо видел кого-нибудь с вопросом о расширении PHP SOAP, где проблема была не с самим расширением!)

Кажется, это исправило это для меня.

 $client = new SoapClient($this->url, array('soap_version' => SOAP_1_2));