Подтвердить что ты не робот

Заголовки SOAP и HTTP-заголовки

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

Я хочу спросить, эквивалентно ли это размещать эти данные как заголовки SOAP или HTTP-заголовки?

4b9b3361

Ответ 1

Заголовки SOAP содержат информацию о приложении, относящуюся к сообщению SOAP. Они обычно содержат информацию о маршрутизации, информацию аутентификации, семантику транзакций и т.д. Они специфичны для сообщения SOAP и не зависят от транспорта, который использует SOAP (в рамках этого сообщения: HTTP).

HTTP-заголовки определяют рабочие параметры транзакции HTTP, такие как тип содержимого того, что передается, длина содержимого, директивы кэша для клиентов или доверенных лиц и т.д. Они специфичны для HTTP и независимы от того, что фактически передается с HTTP (в данном случае SOAP XML).

Вы могли бы, конечно, использовать как заголовки HTTP, так и заголовки SOAP для предоставления конкретной информации о SOAP-сообщении. HTTP-заголовок SOAPAction был шагом в этом направлении для SOAP 1.1. Хотя для серверов было полезно эффективно направлять сообщения без необходимости заглядывать внутрь SOAP XML (иногда невозможно, если сообщение зашифровано, и только конечный приемник знает, как его расшифровать), это в основном вызвало путаницу и впоследствии было удалено в SOAP 1.2 (и вместо него является необязательным параметром action в application/soap+xml media type, который снова является значением в заголовках HTTP... о хорошо...: D).

Как вывод, заголовки SOAP и заголовки HTTP не совпадают. Хотя в какой-то степени вы можете заменить заголовки SOAP пользовательскими настраиваемыми заголовками HTTP, это в большинстве случаев плохая идея.

Если данные для веб-службы, то они должны быть размещены внутри заголовков SOAP. Заголовки HTTP обычно останавливаются на веб-сервере, в то время как сообщение SOAP в нем целиком будет передаваться вниз по потоку до конечного получателя, которому нужны данные (возможно, даже через большее количество посредников, которым они также могут понадобиться).