Java 哪种框架比CXF或Spring WS更好?

Java 哪种框架比CXF或Spring WS更好?,java,web-services,cxf,spring-ws,Java,Web Services,Cxf,Spring Ws,我正在研究/比较CXF和SpringWS for web服务?我需要同时充当WS的提供者和使用者。简而言之,我被告知SpringWS更易于配置,但CXF更易于启动和运行。这个问题是主观的,但有助于指导我的研究 您对这两种框架都有什么经验 您是否在这两种框架中都遇到过陷阱 您是否发现其中一方提供的有用功能可能是另一方没有提供的 我认为最大的区别是Spring WS的只是“合同优先”,而我认为CXF通常是“合同最后” Contract last是从Java代码开始的,因此通常更容易开始 但是,它

我正在研究/比较CXF和SpringWS for web服务?我需要同时充当WS的提供者和使用者。简而言之,我被告知SpringWS更易于配置,但CXF更易于启动和运行。这个问题是主观的,但有助于指导我的研究

  • 您对这两种框架都有什么经验
  • 您是否在这两种框架中都遇到过陷阱
  • 您是否发现其中一方提供的有用功能可能是另一方没有提供的

我认为最大的区别是Spring WS的只是“合同优先”,而我认为CXF通常是“合同最后”

Contract last是从Java代码开始的,因此通常更容易开始


但是,它创建的WSDL往往更脆弱。

我们对它的前身有经验,我可以推荐它作为可靠、快速(WS-creating and executing)和可靠的框架

关于您在CXF中遇到的问题,请参阅我的帖子 我同意,框架之间最大的区别在于意识形态:第一个代码(即接口)或契约(即wsdl)是什么。请参见此处的一些详细信息:


CXF不会以任何方式阻止您从合同(WSDL)开始。我使用这两种产品来构建web服务

在CXF中,我使用了Maven和Maven插件,调用wsimport目标生成SEI(接口),然后实现了该接口。在实现包含实际服务逻辑的接口并配置bean实现beans.xml之后,我让Maven将其打包到war文件中进行部署。整个演习再简单不过了

我不认为SpringWS提供了超过JAX-WS不足的任何优势。CXF已经允许您使用Spring连接Bean,并且还具有JAX-WS的完整实现。

关于Apache CXF:

  • CXF支持多个标准,包括SOAP、WSI基本配置文件、WSDL、WS-Addressing、WS-Policy、WS-ReliableMessaging、WS-Security、WS-SecurityPolicy和WS-SecureConversation
  • ApacheCXF提供了契约优先(从Java开始)和契约优先(从WSDL开始)两种方法
  • ApacheCXF实现JAX-WS和JAX-RS
关于Spring WS:

  • SpringWS首先提供“仅”契约,从XSD模式开始
  • SpringWS支持SOAP、WS-Security和WS-Addressing

所以,在最后,我看到Spring WS是一个<强>最小< /强> Web服务框架,但是考虑到它并没有(在我看来)比Apache CXF(它与Spring集成得非常好)有任何优势。在这两者之间,我会选择Apache CXF。

< P>请查看相关帖子:

< P>另一个在这个比较中考虑的选项是:


特别是如果您喜欢先从Java开始。

JAX-WS支持契约优先的方法,我相信这就是进行严肃开发的人们使用它的方式。因此,这绝对不是区分JAX-WS堆栈和SpringWS的好方法。实际上,SpringWS与JAX-WS不可相比,SpringWS只是一个简单的WS堆栈。