Spring-WS wsa:to元素不是可选的

时间:2018-07-26 12:16:35

标签: spring-ws ws-addressing

为什么org.springframework.ws.soap.addressing.client.ActionCallback.getTo()初始化wsa:to属性?

WS-Addressing 1.0 W3C Recomendationwsa:to属性是可选的:

  

/ wsa:收件人

     

此OPTIONAL元素(其内容的类型为xs:anyURI)提供[destination]属性的值。如果这个元素是   不存在,则[destination]属性的值是   “ http://www.w3.org/2005/08/addressing/anonymous”。


即使如此,如Spring-WS WSA header contains hardcoded mustUnderstand attribute所述,AbstractAddressingVersion.addAddressingHeaders(),也将mustUnderstand = true设置为元素:

if (map.getTo() != null) {
    SoapHeaderElement to = header.addHeaderElement(getToName());
    to.setText(map.getTo().toString());
    to.setMustUnderstand(true);
}

因此得到的消息是:

<SOAP-ENV:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
    <wsa:To SOAP-ENV:mustUnderstand="1">https://example.com/ws/bla</wsa:To>
    ...
</SOAP-ENV:Header>

我不希望wsa:to属性出现在邮件中,或者不包含mustUnderstand="1"

0 个答案:

没有答案