来自SoapHandler接口的getHeaders方法

时间:2013-07-25 16:58:06

标签: java web-services soap jax-ws soaphandler

您能否解释一下SOAPHandler接口的方法 getHeaders 到底应该做什么?

http://docs.oracle.com/javaee/5/api/javax/xml/ws/handler/soap/SOAPHandler.html#getHeaders%28%29

我不确定它是否会创建额外的标头,或者它是否应该告诉运行时消息应该包含哪些标头。

我一直在网上寻找详细信息,但我找不到任何信息。我认为是如此基本和明显,不需要任何文件LOL: - )

由于

2 个答案:

答案 0 :(得分:6)

您正在寻找的描述可以在标题为“10.2.1 SOAP mustUnderstand Processing”的部分的JAX-WS 2.2规范中找到。入站消息需要在正常处理程序处理开始之前发生的其他处理步骤。基本上,从QName返回的getHeaders实例集允许处理程序贡献给节点理解的完整SOAP标头集(规范中记录了完整集的其他贡献者)。如果入站SOAP标头包含值为mustUnderstand1的{​​{1}}属性,则如果该标头无法标记为已理解,则会生成异常。

答案 1 :(得分:-2)

编辑:显然我错了,在进一步阅读后我必须同意,因此请忽略这一点。

SOAP消息是HTTP请求。 HTTP请求可以有许多不同的头作为消息的一部分(例如,在SOAP 1.1中有一个名为SOAPAction的头,它可以包含服务和操作的名称)。 getHeaders函数返回请求附带的所有头QNames的列表,因此在前面的示例中,您将获得一个包含值为“SOAPAction”的元素的列表。