没有弹簧的CXF

是否可以在没有Spring的情况下使用CXF和Tomcat? 如果是这样,怎么样?

我想你的意思是用CFX创建一个可以在Tomcat中运行的Web服务? 这是完全可能的,Spring是可选的。 如果你不想,你不必使用它。

您可以在没有Spring的情况下以编程方式配置CXF 请参阅此处的代码示例。 将Web应用程序上下文路径与端点扩展一起放入 – 代码示例中的Greeter – 将在浏览器中显示一个摘要页面,其中包含指向WSDL的链接。

无需Spring,使CXF的占地面积非常小。 我找到了唯一必需的jar子(对于CXF 2.2.1):

  • XMLSchema的1.4.5.jar
  • CXF-2.2.3.jar
  • WSDL4J-1.6.2.jar

我相信neethi-2.0.4.jar也可能是某些配置所必需的,但我并不需要它。

玩的开心!

CXF适用于弹簧。 没有它你想要使用它很奇怪。

您可以尝试使用NoSpringServletServer并使用ServerFactoryBean或JaxWS API。

这是NoSpringServletServer的代码。

但你仍然需要spring作为依赖。 基本的JaxWS可以在没有弹簧的情况下完成。 但对于几乎任何其他东西,你至少需要spring-core.jar

我不认为在Tomcat中完全独立于spring可以使用CXF。

原因是当我为一个最小的CXF Web服务执行Maven依赖树列表(mvn依赖:树)时,列出了以下内容(表明它需要Spring)

+- org.apache.cxf:cxf-rt-core:jar:2.2.2:compile [INFO] | | +- com.sun.xml.bind:jaxb-impl:jar:2.1.9:compile [INFO] | | +- org.springframework:spring-core:jar:2.5.5:compile [INFO] | | +- org.apache.geronimo.specs:geronimo-javamail_1.4_spec:jar:1.6:compile org.apache.cxf:cxf-rt-transports-http:jar:2.2.2:compile [INFO] \- org.springframework:spring-web:jar:2.5.5:compile [INFO] +- commons-logging:commons-logging:jar:1.1.1:compile