2012-03-16 3 views
1
POST http://xxx/test HTTP/1.1 
Accept-Encoding: gzip,deflate 
Content-Type: text/xml;charset=UTF-8 
SOAPAction: "" 
User-Agent: Jakarta Commons-HttpClient/3.1 
Host: xxx:1041 
Content-Length: 1911 

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prop="http://..."> 
    <soapenv:Header> 
    ..... 
    </soapenv:Header> 
    <soapenv:Body> 
     ..... 
    </soapenv:Body> 
</soapenv:Envelope> 

Когда я смотрю через интерфейс SOAP, я вижу, что Accept-Encoding является gzip, deflate. Это означает, что полезная нагрузка SOAP застряла перед отправкой через http? и на стороне сервера распаковали как часть протокола HTTP?HTTP SOAP полезная нагрузка Кодировка

Благодаря

ответ

3

Accept-Encoding является заголовок запроса и в вашем конкретном случае означает, что партия только в состоянии принять архивный содержание. В свою очередь, ответный заголовок Content-Encoding показывает, действительно ли сообщение было gzip.

1

Accept-Encoding является HTTP заголовок, который определяет кодировку, что клиент будет принимать в качестве ответа. Это не означает, что запрос был закодирован с использованием любого из этих значений только для того, чтобы сервер мог ответить на них.

Для более подробно см Hypertext Transfer Protocol -- HTTP/1.1 (RFC 2616 Section 14.3)

-1

Accept-Encoding указывает, что клиент, отправляющий запрос, может принимать закодированные ответы, определенные как значение этого параметра.

К запросам Gzip вам необходимо установить Content-Encoding: gzip parameter. Вы можете сделать это, используя SOAP-клиент, такой как SOAPUI для тестирования.

Чтобы отправить запрос Gzipped с использованием интерфейса SOAP.

Кликните по File --> Preferences.

Вкладка «Настройки HTTP» будет выбрана по умолчанию. Вы заметите опцию Chunking Threshold. По умолчанию этот параметр установлен в пустую, поэтому блокировка отключена для любого HTTP-запроса.

Обновить это поле с отрицательным целым значением (например: - 1) и повторно отправить запрос. Вы увидите закодированный запрос, как показано ниже.

POST http://<.....>n HTTP/1.1 
Content-Encoding: gzip 
Accept-Encoding: gzip,deflate 
Content-Type: text/xml;charset=UTF-8 
SOAPAction: "" 
Content-Length: 206 
Host: amazona-bs4anhc:4400 
Connection: Keep-Alive 
User-Agent: Apache-HttpClient/4.1.1 (java 1.5) 
Смежные вопросы