Spring-ws VS Apache cxf VS Apache Axis2 VS Metro

时间:2012-07-06 22:40:21

标签: java jax-ws cxf axis2 spring-ws

我需要创建soap web服务。我已经有了wsdl和接口和实现(作为pojo)。

我现在在subj之间做出选择。 我需要框架工作:

  • 在servlet容器中作为servlet工作
  • 我的web.xml中只需要一个servlet映射
  • 有良好的spring集成(因为我的服务实现是spring bean)
  • 无需我添加注释。我的界面或实现没有注释。

  • Spring-ws:看起来很酷,但据我所知,这迫使我直接处理XML,我不想这样做。我希望框架反序列化消息并将其作为参数传递给我的POJO。

  • Apache cxf功能强大且具有spring集成功能,但如果我使用Jax-WS前端,我将不得不使用注释,而且我不想触摸我的POJO。简单的前端怎么样?

  • Metro是Jax-WS RI,所以它依赖于注释。

Axis2似乎是我的选择。你会选择什么?


想告诉我要做的事情: 我们的应用程序使用SOAP连接到远程服务。他们给了我们WSDL,我们已经生成了代理类和DTO,所有这些东西都打包在jar中并存储在VCS中。现在我需要为这个Web服务编写模拟。而且我不想生成新的DTO。

1 个答案:

答案 0 :(得分:1)

我认为根据您的要求,Spring WS非常适合您。您不需要直接处理XML。 Spring将序列化/反序列化许多类型的对象,包括所有数据传输对象。它们应该只是带注释的JAXB实体。查看此信息:http://static.springsource.org/spring-ws/sites/2.0/reference/html/server.html#d5e1063

如果您已有WSDL,则可以从该WSDL生成DTO对象。有几种工具可以做到这一点,包括大多数IDE。