我从一些现有的wsdl中生成了一些WebServices

我使用Maven来做到这一点,但是某些Web服务是通过

@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)

和其他人
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)

Jaxb或xjc会自动执行吗?因为我在wsdls中没有任何区别...

最佳答案

当“操作”名称,“消息”名称和“元素”名称在某种形状或形式上不同时,就会生成BARE Web服务。要自动将您的客户端或服务存根生成为WRAPPED,这三个元素都必须相同。

解决方法是编写自己的存根,并使用@ RequestWrapper/@ ResponseWrapper批注。

PS:所有portType操作必须具有“包装”样式的请求/响应。即使是最小的偏差,也将默认为BARE。

10-02 22:28