zoukankan      html  css  js  c++  java
  • Jboss下jaxws的开发

    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.   
    17. <dependency>  
    18.     <groupId>org.apache.cxf</groupId>  
    19.     <artifactId>cxf-rt-frontend-jaxws</artifactId>  
    20. </dependency>  
    21. <dependency>  
    22.     <groupId>org.apache.cxf</groupId>  
    23.     <artifactId>cxf-rt-transports-http</artifactId>  
    24. </dependency>  
    25. <dependency>  
    26.     <groupId>org.apache.cxf</groupId>  
    27.     <artifactId>cxf-rt-ws-security</artifactId>  
    28. </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
  • 相关阅读:
    表单
    表格的应用
    图像与超链接
    HTML基础(部分标签的应用)
    DataFrame合并数据df.append
    DataFrame处理接口返回数据
    pandas读取excel文件
    数据加载、存储于文件格式:二进制数据格式pickle
    AttributeError: 'DataFrame' object has no attribute 'save'
    web信息收集:获取所有url
  • 原文地址:https://www.cnblogs.com/svennee/p/4075494.html
Copyright © 2011-2022 走看看