我从一些现有的 wsdl 中生成一些 WebServices
我使用 Maven 来执行此操作,但使用
生成了一些 Web 服务@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
和其他人用
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
Jaxb 或 xjc 会自动执行此操作吗?因为我对wsdls没有任何区别...
最佳答案
当“操作”名称、“消息”名称和“元素”名称在某些形状或形式上不同时,会生成 BARE Web 服务。要将您的客户端或服务 stub 自动生成为 WRAPPED,所有这三个元素都必须相同。
解决方法是编写自己的 stub 并使用@RequestWrapper/@ResponseWrapper 注释。
PS:所有 portType 操作都必须具有“包装”样式的请求/响应。即使是最轻微的偏差,它也会默认为 BARE。
关于java - 网络服务 : bare vs wrapped?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5324051/