Spring Web Services:什么应该是好的起点?

时间:2010-09-09 02:50:21

标签: java web-services spring spring-ws

我对Spring Web Services完全不熟悉,所以我应该开始专注于什么概念,我应该在哪里寻找它们,一般来说,您建议采用哪些步骤来加快Spring Webservices模块的速度。

注意:我需要为不同的应用程序构建Web Service并使用Web Service,而我以前从未使用过Web Service,我正在寻找Spring WS选项因为这两个应用程序是使用Spring Framework开发的,这是一个很好的假设来寻找Spring WS吗?

任何有关讨论方法的指导和建议都将受到高度赞赏。

感谢。

3 个答案:

答案 0 :(得分:1)

  

(...)我正在研究Spring WS选项,因为这两个应用程序都是使用Spring Framework开发的,这是一个很好的假设来寻找Spring WS吗?

这不是一个错误的假设(Spring WS和Spring之间的错误集成将是一个完全讽刺)但你不应该排除你的应用程序使用Spring这一事实的其他堆栈。 JAX-WS堆栈(如Apache CFX或JAX-WS RI)也提供Spring集成。

就个人而言,我喜欢JAX-WS(我用于合同优先 Web服务),虽然如果没有更多有关您需求的详细信息,但很难更具体,我根本就不认为Spring WS提供了超过JAX-WS的任何优势,在你的情况下我可能会选择Apache CXF

也许看看别人在这个previous SO question中说些什么(请阅读所有答案,我认为接受的答案并不是很好)。

答案 1 :(得分:0)

您的协议要求是什么?您是否必须使用SOAP,或者您是否可以通过HTTP自由使用自己的XML编组(例如RESTful方法)?

如果必须使用SOAP,请参阅我写给Spring WS Web服务的this指南。如果您可以自由使用自己的轻量级RESTful Web服务,请参阅我在RESTful Web服务上编写的this示例。

答案 2 :(得分:0)

由于您提供的推理,我不会仅使用Spring WS。您需要确定更多功能性要求,例如:

  • 您可以使用标记(JSON,XML等)
  • 您是否应该提供内容协商
  • 您是否需要提供复杂的对象(即詹姆斯建议的SOAP)
  • 您是否提供RESTful服务

在过去的几年里我经常使用Web服务,似乎有一些主要的项目可以创建它们:

还有其他分支,例如Spring WS,甚至是Spring MVC,但你需要评估最适合的分支。

我个人经常使用Jersey,它也提供了Spring集成。 Jersey也有一个很棒的HTTP client用于消费服务,但不要混淆创建一个类似于使用Web服务的Web服务。它们是单独的工作流程,您可以为两者使用单独的第三方项目(例如Apache HTTP Client用于消费,而Jersey用于生产)。

Spring WS可能最适合您,但我的建议是不要仅仅因为其他应用程序使用它...使用最好的方法并满足您的要求。