JAX-WS Web服务提供者:省略“完整”的JAX-B绑定?

时间:2015-04-21 09:42:21

标签: java web-services jaxb jax-ws

我们有一个WSDL引用了一个复杂的XML模式。我们不想创建一个完整的JAX-B绑定,而是希望获得像DOMSource或SOAPElement等“unbinded”的XML。

在过去,我们手动更改了架构并交换了xs:any的特定消息类型。但我们对此感到非常不满。

通常,我们可以使用普通的Web服务注释:

@WebServiceProvider(serviceName = "AbcWebService", portName = "AbcWebServicePort", targetNamespace = "urn:bla.bla", wsdlLocation = "AbcService.wsdl")
@ServiceMode(Mode.MESSAGE)
public class AbcWebService implements Provider<SOAPMessage> {
 @Override
 public SOAPMessage invoke(SOAPMessage request) { /* ... */ }
}

但这可以通过一种Java方法为所有操作服务,我们必须自己调度所有ws操作。

相反,我们希望wsimport为每个操作生成一个Java方法,但仍然使用一些XML表示(DOMSource,SOAPElement等)而不是JAX-B绑定类。

知道如何实现这个目标吗?

0 个答案:

没有答案