2010-12-03 65 views
2

我正在创建一个Spring WS客户端。我有一个来自第三方公司的巨大的 WSDL。它们提供了一组通过Axis的WSDL2Java映射到其WSDL的类。我不想使用Axis或它们的任何依赖关系。Spring WS客户端 - 如何在不使用轴的情况下为WSDL创建映射POJO

由于这是一个Web服务客户端,我可以自由选择任何框架。我的问题是如何在不使用Axis的WSDL2Java的情况下为WSDL生成映射类。我坚持操纵纯XML吗?记下我正在使用Spring WS。

编辑:

是不是真的,如果服务供应商已建立自己的服务与轴1,你基本上坚持让这也是基于轴1客户端?我从这个答案JAX-WS client with Axis service中读到。我认为Web服务应该与其创建的平台分离或至少独立,允许基于.Net的Web服务从基于Java的客户端访问,反之亦然?

+0

顺便说一下,我可以通过Soap UI访问Web服务。 – chris 2010-12-03 10:46:35

+0

它取决于WSDL的风格。 Axis1 *可以*生成非标准的WSDL,这是没有别的可以与之交谈的。 – skaffman 2010-12-03 10:47:09

回答

3

如果你想使用Spring-WS,那么你最好的办法是使用Java 6附带的wsimport工具(或者如果你使用Java5的话使用JAX-WS RI)。这将为Web服务生成JAX-WS存根。包含在这些存根中的将是WSDL模式的标准JAXB绑定,并且这些可以与Spring-WS一起使用(wsimport将生成其他服务存根,而Spring-WS将不需要这些存根)。

1

如果您只想从WSDL生成POJO,我认为您可以从WSDL获取XSD并使用XJC工具生成仅JAXB bean。这将避免生成无用的JAX-WS存根。

相关问题