我从一些现有的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。