之前用jaxws做web service开发,无论是axis2还是cxf的实现,在tomcat上均成功部署。偏偏项目用的是jboss,之前的方案都无法在jboss下成功部署。折腾了好长时间以后,总算找到有以下一套方法是可行的。
环境基于JDK1.6.0_35(64位),jboss6.0.0Final
1.首先蛋疼的jboss居然自带一个cxf,还不兼容其他的jaxws实现!(折腾了半天无果,请了解的朋友赐教)所以pom.xml里关于axis2或者cxf的jar包引用统统去掉。
以下是axis2或者cxf的配置,均要去掉(若是tomcat则需要二选一)
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-kernel</artifactId>
<version>${axis2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-jaxws</artifactId>
<version>${axis2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-adb</artifactId>
<version>${axis2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-ws-security</artifactId>
</dependency>
2.改web.xml,奇特的jboss居然直接把每个web service都当一个servlet来配
<servlet>
<servlet-name>MyService</servlet-name>
<servlet-class>com.xpen.webservice.MyServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyService</servlet-name>
<url-pattern>/MyService</url-pattern>
</servlet-mapping>
而原来在tomcat下跑的axis2或者cxf则分别如下配置
<servlet>
<servlet-name>AxisServlet</servlet-name>
<display-name>Apache-Axis Servlet</display-name>
<servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
如此两点配好就ok了,jboss6.0.0上能运行了,但在eclipse里通过插件启动jboss仍然会报一个警告,WARNING [com.sun.xml.bind.v2.runtime.reflect.opt.Injector] duplicate class definition bug occured? Please report this : java.lang.ClassFormatError: Illegal class name
,但不影响正常运行。
但是jboss-6.1.0.Final死活不行,报错
java.lang.IllegalStateException: Endpoint already registered
分享到:
相关推荐
资源名称:JBoss 管理与开发核心技术:第三版内容简介:本书的主要目的是从配置和架构这两个角度弄清楚标准JBoss 3.2.x的架构组件。使用JBoss的开发者将理解如何配置标准的组件。其中,需要开发者注意的是,本书不是...
JBoss 管理与开发核心技术.pdf
Eclipse下Jboss_ESB开发环境搭建
使用Eclipse+Jboss+MySql开发EJB
JBoss管理与开发核心技术_第三版电子书
JBoss管理与开发核心技术.第3版.part1.rar
JBOSS开发人员指南 JBOSS开发人员指南 JBOSS开发人员指南 JBOSS开发人员指南
JBOSS的J2EE开发实践4
Eclipse+JBoss+MySQL开发环境设置.pdf
Jboss管理与开发核心技术(第三版) pdf格式,简体中文版
JBoss管理与开发核心技术.第3版.pdf.7z
JBossTools实践系列:JBossESB服务开发入门
JBoss管理与开发核心技术.第3版.part3.rar
jboss 6.0 上开发 MDB 点对点,及 广播形式
jboss4 开发指南,指引大家了解jboss并逐渐熟悉jboss的强大之处
002《JBoss 管理与开发核心技术》第三版 电子书下载 完整版 这是第二部分,第一部分也在我空间里,注意下载哈
JBoss管理与开发核心技术(第三版,原厂技术手册).pdf
NULL 博文链接:https://fruitking.iteye.com/blog/562868
搭建JBoss_ESB开发环境过程,有图片
通过阅读本书,JBoss开发者可以深入理解标准组件的架构、集成,以及扩展或替代标准组件,从而满足其基础信息框架需求。同时,本书也将指导开发者如何获得JBoss源码,并在此基础上构建和调试JBoss服务器。