禁用axis2 (v 1.5.6)生成的存根中的web服务寻址属性



我有一个使用wsdl2java生成的axis2 (v 1.5.6)存根,从存根生成的请求包含请求中不需要的soap web服务寻址(wsa)属性,接收此请求的端点不支持此属性。

我见过很多通过手动遍历整个soap信封来删除元素的方法,但我需要一些方法从存根或整个axis2本身完全禁用它。下面是请求中生成的元素。

PS: wsdl甚至没有定义wsa是必需的。

感谢您的回答。

<soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">

<wsa:To>url</wsa:To>
<wsa:MessageID>F94EAE5F6CECC13E7F1610961403620</wsa:MessageID>
<wsa:Action>Upload</wsa:Action>

完全手动删除wsa元素

回答我自己的问题在深入研究了axis2的源代码之后,我尝试在存根的服务客户机的选项中设置它,并且成功了,wsa元素现在从请求中删除了。

_serviceClient.getOptions().setProperty(org.apache.axis2.addressing.AddressingConstants.DISABLE_ADDRESSING_FOR_OUT_MESSAGES
, Constants.VALUE_TRUE);

最新更新