在JBoss,maven和选择上实现Web服务

时间:2011-01-18 20:46:01

标签: java web-services jboss cxf

我要在运行Java 6的JBoss5中实现一个web服务。根据JBoss Documentation,选择要么使用JBoss本机实现,要么使用CXF或metro。因为本机不需要任何额外的库(CXF会引入Spring?)我认为这将是第一选择。

WS合同是在WSDL中给出的,所以我想从中生成存根。但是JBoss工具在WSDL上咆哮,而CXF wsdl2java很高兴地生成源代码。我可以使用这些源而不依赖于CXF但使用本机JBoss WS堆栈吗?生成的类中的注释甚至指向javax的东西(这可能是一个4.选择,因为我可以使用java 6创建一个没有其他依赖项的WS?)

如何配置网络服务?我还需要一个web.xml来定义一些servlet吗?我需要什么样的maven依赖?

对于所有这些显然很愚蠢的问题感到抱歉,但我做了很多搜索和阅读但是我读的越多,我就越困惑。公共jboss maven repo是一个混乱(一些WS的东西在jboss下,其他在org.jboss.jbossws下,甚至是org.jboss.ws下的其他文物)JBoss文档要么都是关于用java bean和注释和/或ant说明的。 ..)

非常欢迎任何指向howtos和/或文档的指针。

1 个答案:

答案 0 :(得分:3)

我会选择CXF,运行一个自包含的战争,并将jboss视为servlet容器,并完全忽略jboss试图提供的所有Web服务gunk。

然后,您只需按照常规的CXF说明进行wsdl第一次服务,最后得到一个漂亮的便携式.war文件。它将/应该在jboss中运行(jboss可能会尝试并提供一些额外的库本身,但你应该能够设置某种类加载器包含策略,以确保它首先从上下文加载,而不是从jboss firstt加载。

这会给你

  1. 很好干净wsdl第一次开发
  2. 要遵循的一套简单说明(只是cxf)
  3. 有意义的maven回购
  4. 还在使用jboss,因为有人认为这是个好主意。
  5. 使用java 6标准的webservices是一个选项,取决于你想在你的应用程序中使用什么。我已经开始使用弹簧,而CXF的弹簧集成比jaxws-commons弹簧部分更整洁,维护更好。此外,如果你使用股票jaxws-ri,从wsdl生成的maven工具会更复杂,维护更少。