谁能解释下saaj 1.2中headerelement的relay属性到底有什么用啊

SAAJ1.2中的SOAPHeaderElement有个属性叫relay. javaEETutorial5里的解释是:
If it is set to true, it indicates that the SOAP header block must not be processed by any node that is targeted by the header block, but must only be passed on to the next targeted node.

我字面的理解是:如果该值被设为true,它意味着这个SOAP header块不能被任何由header block指定的节点处理,而是只能被发送到下一个目标节点。

我的疑问是,"指定的节点","目标"节点指的不是role(saaj1.1 中叫actor)属性指定的吗,应该只有一个。既然不由指定节点处理,还能发向哪个所谓"targeted node"啊?

javaDoc对这个属性的解释是:
SOAP relay 属性设置为 true 指示 SOAP 头块必须通过其指定的所有节点进行中继,但实际并不处理该头块。此属性在 mustUnderstand 属性设置为 true 或被最终接收者(默认)指定的头块处被忽略。此属性的默认值为 false。

对这个说法,我的疑问是,每个节点都不处理这个头块,谁来处理呢。role指定的节点也不处理吗?

既然每个headerelement只能有一个role值。以上说法中的"node that is targeted by the header block", "next targeted node","其指定的所有节点"分别指什么呢。

你可能感兴趣的:(SOAP)