Метод getHeaders из интерфейса SoapHandler

Не могли бы вы объяснить, что именно должен делать метод getHeaders из интерфейса SOAPHandler?

http://docs.oracle.com/javaee/5/api/javax/xml/ws/handler/soap/SOAPHandler.html

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

Я просматривал Интернет в поисках подробной информации, но я не смог ее найти. Я думаю, что это настолько просто и очевидно, что никакой документации не требуется LOL:-)

Спасибо

2 ответа

Решение

Описание, которое вы ищете, можно найти в спецификации JAX-WS 2.2 в разделе "10.2.1 SOAP mustUnderstand Processing". Входящие сообщения требуют дополнительного шага обработки, который происходит перед началом обычной обработки обработчика. В основном, набор QName экземпляры вернулись из getHeaders позволяет обработчику вносить вклад в полный набор заголовков SOAP, которые понимает узел (другие участники полного набора задокументированы в спецификации). Если входящий заголовок SOAP содержит mustUnderstand атрибут со значением 1 или же true, тогда будет сгенерировано исключение, если этот заголовок не может быть помечен как понятый.

РЕДАКТИРОВАТЬ: Очевидно, я был неправ, и после прочтения я должен согласиться, поэтому, пожалуйста, игнорируйте это.

SOAP-сообщение - это HTTP-запрос. HTTP-запросы могут содержать несколько разных заголовков в составе сообщения (например, в SOAP 1.1 был заголовок SOAPAction, который мог содержать имя службы и операции). Функция getHeaders возвращает список всех заголовков QNames, которые пришли с запросом, поэтому в случае предыдущего примера вы получите список, который будет содержать элемент со значением "SOAPAction".

Другие вопросы по тегам