Java SpringWS客户端-如何在不使用Axis的情况下为WSDL创建映射POJO

Java SpringWS客户端-如何在不使用Axis的情况下为WSDL创建映射POJO,java,web-services,wsdl,axis,spring-ws,Java,Web Services,Wsdl,Axis,Spring Ws,我正在创建一个SpringWS客户端。我有一个来自第三方公司的巨大的WSDL。它们提供了一组通过Axis的WSDL2Java映射到其WSDL的类。我不想使用Axis或它们的任何依赖项 因为这是一个web服务客户端,所以我可以自由选择任何框架。我的问题是如何在不使用Axis的WSDL2Java的情况下为WSDL生成映射类。我是否一直在处理纯XML?请注意,我使用的是SpringWS 编辑: 如果服务提供商已经使用Axis 1构建了他们的服务,那么您基本上是在制作同样基于Axis 1的客户端,这是真

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

因为这是一个web服务客户端,所以我可以自由选择任何框架。我的问题是如何在不使用Axis的WSDL2Java的情况下为WSDL生成映射类。我是否一直在处理纯XML?请注意,我使用的是SpringWS

编辑:


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

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

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

顺便说一句,我可以通过Soap UI访问web服务。这取决于WSDL的样式。Axis1可以生成非stan糟糕的WSDL,没有其他东西可以与之交谈。啊哈…那太糟糕了。我怎么知道我的WSDL是不是非标准的WSDL?Soap UI能够用它发送消息。@chris:如果
wsimport
喜欢它,那就没关系了。谢谢skaffman。你帮了我大忙。让它继续吧:)谢谢你的快速响应。这给了我一个很好的方向:我刚刚从命令行尝试了wsimport,它创建了存根。