Spring WS Client - 如何在不使用Axis的情况下为WSDL创建映射POJO

时间:2010-12-03 10:40:30

标签: java web-services wsdl axis spring-ws

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

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

修改

如果服务提供商已经使用Axis 1构建了他们的服务,那么你是否真的在制造一个同样基于Axis 1的客户端?我从这个答案JAX-WS client with Axis service中读到了它。我认为Web服务应该被解耦或者至少独立于它创建的平台,允许您从基于Java的客户端访问基于.Net的Web服务,反之亦然?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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