之前用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
分享到:
相关推荐
2. **jbossws-jaxws-ext.jar**:这个扩展库包含了一些额外的功能和API,可能包含了对JAX-WS的特定增强或特定环境下的适配,比如JBoss AS的集成和优化。 3. **jbossws-jaxrpc.jar**:这是基于Java API for XML ...
根据提供的部分内容,问题的解决方法是将三个特定的JAR包——`jboss-jaxrpc.jar`, `jboss-jaxws.jar`, `jboss-saaj.jar`——拷贝到JBoss安装目录下的`lib/endorsed`目录。这些JAR包包含了JBoss对Java API for XML ...
6. **JAR文件**:"jaxws-api-2.1-1.jar"是包含JAX-WS API的库文件,它包含了所有必要的类和接口,使得开发者可以在他们的项目中使用JAX-WS进行Web服务开发。 7. **许可证文件**:"jaxws-2.1-license.txt"通常包含了...
- **jboss-jaxws.jar**:JBoss的JAX-WS实现,提供Web服务客户端和服务器端的API支持。 - **jboss-jaxrpc.jar**:JBoss的JAX-RPC实现,用于处理RPC风格的Web服务。 - **jboss-saaj.jar**:JBoss的SAAJ实现,用于...
本教程“5天学会jaxws-webservice编程”旨在帮助你快速掌握JAX-WS的核心概念和技术,以便在短短五天内能够熟练地运用到实际项目中。 首先,我们需要了解Web服务的基础。Web服务基于开放标准,如SOAP(Simple Object...
9. **jboss-jaxws.jar**:此库包含JBoss对Java API for XML Web Services (JAX-WS)的实现,用于创建和消费基于SOAP的Web服务。在EJB 3.0中,JAX-WS常用于服务导向架构(SOA)的实现。 通过这些库,开发者可以构建...
它提供了一系列接口和类,使得开发者能够在JBoss环境下开发和部署EJB应用。 `trove.jar`:Trove是一个快速的Java集合框架,提供了各种类型的固定大小的数据结构,如哈希表和数组列表。在EJB 3.0中,Trove可能被用来...
- 部署服务:将服务部署到支持JAX-WS的服务器,如Tomcat或JBoss。 - 创建客户端:利用WSDL文件或工具自动生成客户端代理类。 总结来说,JAX-WS 1.1.1和`@Path`注解是Java平台构建Web服务的重要组成部分,提供了高效...
总之,jbossws-metro-3.3.1.GA.zip是JBoss ESB的重要组件,它提供了强大的Web服务支持,使得开发和部署基于Java EE的应用变得更加简单和高效。通过解压并按照提供的文档进行配置,开发者可以充分利用这个工具集在...
- 应用服务器(如Tomcat、JBoss、WebLogic)提供了更全面的功能,包括事务管理、安全性、EJB容器、JMS支持等,适合部署复杂的J2EE应用程序。 - Web服务器(如Apache HTTP Server)主要处理HTTP请求,提供静态资源...
4. 部署服务:将服务打包成WAR或EAR文件,部署到应用服务器(如Tomcat、JBoss等)。 **Java WSDL客户端**: 为了消费WSDL服务,Java客户端使用JAX-WS的`Service`类来创建代理对象,通过这个代理对象可以调用远程...
8. **部署和运行**:在服务器上部署SOAP服务通常涉及将WAR文件(Web应用程序归档)部署到应用服务器,如Tomcat、JBoss或WebLogic。服务端的jar文件应包含在类路径中,以确保服务正常运行。 9. **测试工具**:为了...
XFire 是一个 Java 框架,专门用于创建和消费 Web 服务,而 Spring 框架则提供了全面的企业级应用开发支持。将这两者结合可以利用 Spring 的强大功能来管理和配置 XFire,同时保持代码的简洁和模块化。 ### Spring ...
在Java中,通常使用JAX-WS(Java API for XML Web Services)或JAX-RS(Java API for RESTful Web Services)来开发Web Service。JAX-WS是用于创建SOAP-based Web Service的标准,而JAX-RS则适用于构建RESTful风格的...
- geronimo-jaxws_2.1_spec-1.0.jar (或 Sun 的 jaxws-api-2.1.jar) - geronimo-stax-api_1.0_spec-1.0.1.jar (或其他 stax-api jar) - jaxb-api-2.1.jar - jaxb-impl-2.1.7.jar (未完整列出,此处省略后续 .jar...
- **J2EE集成**:可以部署到J2EE应用服务器,如Geronimo、JOnAS、JBoss、WebLogic及WebSphere。 - **独立客户端和服务端**:支持Java客户端和服务端的独立部署。 #### 七、CXF支持的编程语言 CXF不仅支持Java,还...