您能否解释一下 SOAPHandler 接口中的getHeaders方法到底应该做什么?
http://docs.oracle.com/javaee/5/api/javax/xml/ws/handler/soap/SOAPHandler.html#getHeaders%28%29
我不确定它是否会创建额外的标头,或者它是否应该告诉运行时消息应该具有哪些标头。
我一直在网上搜索详细信息,但找不到任何信息。我认为它是如此基本和明显,以至于不需要文档大声笑:-)
谢谢
您能否解释一下 SOAPHandler 接口中的getHeaders方法到底应该做什么?
http://docs.oracle.com/javaee/5/api/javax/xml/ws/handler/soap/SOAPHandler.html#getHeaders%28%29
我不确定它是否会创建额外的标头,或者它是否应该告诉运行时消息应该具有哪些标头。
我一直在网上搜索详细信息,但找不到任何信息。我认为它是如此基本和明显,以至于不需要文档大声笑:-)
谢谢
您要查找的描述可以在 JAX-WS 2.2 规范中标题为“10.2.1 SOAP mustUnderstand Processing”的部分中找到。入站消息需要在正常处理程序处理开始之前发生的附加处理步骤。基本上,QName
从返回的实例集getHeaders
允许处理程序为节点理解的完整 SOAP 标头集做出贡献(完整集的其他贡献者在规范中记录)。如果入站 SOAP 标头包含mustUnderstand
值为1
or的属性true
,则如果无法将该标头标记为已理解,则会生成异常。
编辑:显然我错了,进一步阅读后我必须同意,因此请忽略这一点。
SOAP 消息是一个 HTTP 请求。HTTP 请求可以有许多不同的标头作为消息的一部分(例如,在 SOAP 1.1 中有一个称为 SOAPAction 的标头,它可以包含服务和操作的名称)。getHeaders 函数返回请求附带的所有标头 QName 的列表,因此在前面的示例中,您将获得一个包含值为“SOAPAction”的元素的列表。