0

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

我已经看到了很多通过手动迭代整个肥皂信封来删除元素的方法,但是我需要一些方法来完全从存根或整个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 元素

4

1 回答 1

0

回答我自己的问题,在挖掘了axis2的源代码之后,我尝试在存根的服务客户端的选项中设置它并且它起作用了,现在从请求中删除了wsa元素。

        _serviceClient.getOptions().setProperty(org.apache.axis2.addressing.AddressingConstants.DISABLE_ADDRESSING_FOR_OUT_MESSAGES
            , Constants.VALUE_TRUE);
于 2021-01-28T09:19:52.720 回答