http://xpenxpen.iteye.com/blog/1695069之前用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则需要二选一)

Xml代码  
  1. <dependency>
  2. <groupId>org.apache.axis2</groupId>
  3. <artifactId>axis2-kernel</artifactId>
  4. <version>${axis2.version}</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>org.apache.axis2</groupId>
  8. <artifactId>axis2-jaxws</artifactId>
  9. <version>${axis2.version}</version>
  10. </dependency>
  11. <dependency>
  12. <groupId>org.apache.axis2</groupId>
  13. <artifactId>axis2-adb</artifactId>
  14. <version>${axis2.version}</version>
  15. </dependency>
  16. <dependency>
  17. <groupId>org.apache.cxf</groupId>
  18. <artifactId>cxf-rt-frontend-jaxws</artifactId>
  19. </dependency>
  20. <dependency>
  21. <groupId>org.apache.cxf</groupId>
  22. <artifactId>cxf-rt-transports-http</artifactId>
  23. </dependency>
  24. <dependency>
  25. <groupId>org.apache.cxf</groupId>
  26. <artifactId>cxf-rt-ws-security</artifactId>
  27. </dependency>

2.改web.xml,奇特的jboss居然直接把每个web service都当一个servlet来配

Xml代码  
  1. <servlet>
  2. <servlet-name>MyService</servlet-name>
  3. <servlet-class>com.xpen.webservice.MyServiceImpl</servlet-class>
  4. </servlet>
  5. <servlet-mapping>
  6. <servlet-name>MyService</servlet-name>
  7. <url-pattern>/MyService</url-pattern>
  8. </servlet-mapping>

而原来在tomcat下跑的axis2或者cxf则分别如下配置

Xml代码  
  1. <servlet>
  2. <servlet-name>AxisServlet</servlet-name>
  3. <display-name>Apache-Axis Servlet</display-name>
  4. <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
  5. <load-on-startup>1</load-on-startup>
  6. </servlet>
  7. <servlet-mapping>
  8. <servlet-name>AxisServlet</servlet-name>
  9. <url-pattern>/services/*</url-pattern>
  10. </servlet-mapping>
Xml代码  
  1. <servlet>
  2. <servlet-name>CXFServlet</servlet-name>
  3. <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
  4. </servlet>
  5. <servlet-mapping>
  6. <servlet-name>CXFServlet</servlet-name>
  7. <url-pattern>/services/*</url-pattern>
  8. </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下jaxws的开发的更多相关文章

  1. JAX-WS + Spring 开发webservice

    通过几天的时间研究了下使用jax-ws来开发webservice,看了网上的一些资料总结出jax-ws的开发大概分为两种. 以下项目使用的spring3.0,jar包可以到官网下载 第一种:使用独立的 ...

  2. 【开发软件】 在Mac下配置php开发环境:Apache+php+MySql

    本文地址 原文地址   本文提纲: 1. 启动Apache 2. 运行PHP 3. 配置Mysql 4. 使用PHPMyAdmin 5. 附录   有问题请先 看最后的附录   摘要: 系统OS X ...

  3. mac os 下搭建android开发环境

    mac os 下搭建android开发环境 周银辉 mac os 下搭建android环境比较方便, 如下几个步骤: 1,安装jdk 先搞清楚自己是否已经安装,在命令行下:java -version, ...

  4. Ubuntu下的PHP开发环境架设

    Ubuntu下的PHP开发环境架设   今天重新装了ubuntu那么就吧过程记录下. 打开终端,也就是命令提示符. 我们先来最小化组建安装,按照自己的需求一步一步装其他扩展.命令提示符输入如下命令: ...

  5. Windows下USB磁盘开发系列二:枚举系统中所有USB设备

    上篇 <Windows下USB磁盘开发系列一:枚举系统中U盘的盘符>介绍了很简单的获取系统U盘盘符的办法,现在介绍下如何枚举系统中所有USB设备(不光是U盘). 主要调用的API如下: 1 ...

  6. eclipse下的webservice开发

    关于eclipse下的webservice开发,有非常多的教程,这里只记下学习过程中的弯路: 1.无论是CXF模式还是AXIS模式,在出现start server之后,点击next报错:"s ...

  7. Linux下使用Eclipse开发Hadoop应用程序

    在前面一篇文章中介绍了如果在完全分布式的环境下搭建Hadoop0.20.2,现在就再利用这个环境完成开发. 首先用hadoop这个用户登录linux系统(hadoop用户在前面一篇文章中创建的),然后 ...

  8. Mac下搭建php开发环境教程

    方案一:原生安装 这篇文章主要介绍了Mac下搭建php开发环境教程,Mac OS X 内置了Apache 和 PHP,这样使用起来非常方便.本文以Mac OS X 10.6.3为例,需要的朋友可以参考 ...

  9. 【原创】windows下搭建vue开发环境+IIS部署

    [原创]win10下搭建vue开发环境  如果要转发,请注明原作者和原产地,谢谢! 特别说明:下面任何命令都是在windows的命令行工具下进行输入,打开命令行工具的快捷方式如下图:     详细的安 ...

随机推荐

  1. [CODE FESTIVAL 2016]Distance Pairs

    题意:有一个未知的边权为$1$的图,给定所有点到$1$的最短路$a_i$和到$2$的最短路$b_i$,问是否存在这样的图,如果存在,问图中最少有多少条边 先考虑$a_i$,有$a_1=0,a_i\ne ...

  2. 【动态规划】CDOJ1651 Uestc的命运之旅

    要处理从四个角出发的答案.最后枚举那个交点,然后讨论一下来的方向即可. #include<cstdio> #include<algorithm> using namespace ...

  3. NOIP模拟·20141105题解

    [A.韩信点兵] 结论题+模板题,用到了中国剩余定理,维基百科上讲的就比较详细,这里就不再赘述了…… 对于这题,我们先利用中国剩余定理($x \equiv \sum{(a_i m_i (m_i^{-1 ...

  4. Python学习笔记 | 关于python数据对象 hashable & unhashable 的理解

    文章目录 写在前面 hashable & unhashable mutable & immutable 实例检测 后续思考 参考文章 写在前面 Hash(哈希.散列)是一个将大体量数据 ...

  5. React事件系统入门

    React基于虚拟DOM实现了一个合成事件层,我们所定义的事件处理器会接受到一个合成事件层对象的实例,它完全符合W3C标准,不会存在任何IE标准的兼容性问题.并且和原生的浏览器事件一样拥有同样的接口, ...

  6. YS私有通信协议安全整改方案

    1.背景: YS私有通信是hk研发的一款用于探测或设置hk设备的设备网络搜索软件,其基于hk的私有多播或广播协议实现.由于其自身拥有和hk同样长久的历史,早期在设计时未考虑到安全性因素,导致该协议存在 ...

  7. Android Activtity Security(转)

    Android四大组件之一--Activity安全详解. 原帖地址:http://drops.wooyun.org/tips/3936 0x00 科普 Android每一个Application都是由 ...

  8. Ajax同步异步的区别

    1,什么是Ajax Ajax:  asynchronous  javascript  and  xml (异步javascript和xml) 其是可以与服务器进行(异步/同步)交互的技术之一. Aja ...

  9. 探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 构建记事本应用23

    前言 首先说明这并不是一个教程贴,而记事本应用是网上早有的案例,对于学习 vuex 非常有帮助.我的目的是探索 vuex 2.0 ,然后使用 vuejs 2.0 + vuex 2.0 重写这个应用,其 ...

  10. JS isNaN()函数

    1.作用 isNaN() 函数用于检查其参数是否是非数字值. 2.JS <script> document.write(isNaN(123)); document.write(isNaN( ...