The Apache Axis2 Web service runtime in Tomcat v6.0 Server does not support the service project

本文详细介绍了在使用Eclipse和webservice时遇到Apache Axis2 Webservice运行时不支持特定服务项目的错误。通过选择3.0以下版本的服务器配置,可以解决此问题。文章提供了对比图,帮助理解配置差异,并最终实现了问题的解决。

The Apache Axis2 Web service runtime in Tomcat v6.0 Server does not support the service project 项目名.

研究java编写Eclipse+webservice时,配置完信息,新建Web Service 时,报了这么一个错。折麽了我半天,,终于,,老子把他给办了。 

如下图:


图2,,作为图1对比。


解决办法:新建项目时选择3.0以下版本,只能使用Servlet3.0以下的规范。

如果你先在Target runtime中先选择好服务器,为Tomcat 6.0的,那么就不会出现这个错误了,因为选完这个后,下面的最高版本是2.5的。


然后:就ok了。


Tomcat v8.5 中使用 Apache Axis2 Web 服务时,若遇到 WebServiceClient 客户端项目不被支持的问题,通常是因为 Tomcat 本身不提供对 JAX-WS 客户端的支持,而 Axis2 需要额外的配置来启用该功能。以下是解决该问题的综合方案: ### 配置 Apache Axis2 以支持 WebServiceClient Apache Axis2 是一个基于标准的 Web 服务框架,支持 JAX-WS 和 SOAP 协议。然而,Tomcat 作为 Servlet 容器,默认并不包含 JAX-WS 运行时支持,因此需要手动添加 Axis2 所需的依赖库和配置。 - **添加 JAX-WS RI 运行时库**:将 JAX-WS RI(参考实现)的 JAR 文件(如 `jaxws-api.jar`、`jaxb-api.jar`、`jaxws-rt.jar`、`jaxb-rt.jar`)复制到 Tomcat 的 `lib` 目录中。这样可以让 Tomcat 在启动时加载 JAX-WS 支持[^1]。 - **配置 Axis2 的 `axis2.xml` 文件**:确保在 Axis2 的配置文件中启用了 JAX-WS 模块。打开 `WEB-INF/conf/axis2.xml`,检查是否包含以下模块声明: ```xml <module ref="addressing"/> <module ref="jaxws_module"/> ``` - **部署 Axis2 Web 应用**:将 Axis2 WAR 包部署到 Tomcat 中,确保其版本与当前 JDK 兼容。建议使用 Axis2 1.7.x 版本以适配 Tomcat 8.5 和 Java 8。 - **启用 WebServiceClient 支持**:在客户端代码中使用 `@WebServiceClient` 注解时,需确保生成的客户端代码是通过 `wsimport` 工具从 WSDL 生成的,并且使用了正确的命名空间和端点配置。例如: ```java @WebServiceClient(name = "MyService", targetNamespace = "http://example.com/ns") public class MyService extends Service { public MyService(URL wsdlLocation) { super(wsdlLocation, new QName("http://example.com/ns", "MyService")); } @WebEndpoint(name = "MyPort") public MyPort getMyPort() { return super.getPort(new QName("http://example.com/ns", "MyPort"), MyPort.class); } } ``` - **确保 Tomcat 启动参数包含 JAX-WS 绑定库**:如果使用 `catalina.sh` 或 `catalina.bat` 启动 Tomcat,可以在 `setenv.sh`(或 `setenv.bat`)中添加以下 JVM 参数: ```bash JAVA_OPTS="$JAVA_OPTS -Djavax.xml.ws.spi.Provider=com.sun.xml.ws.spi.ProviderImpl" ``` - **检查 JDK 版本兼容性**:Tomcat 8.5 推荐使用 Java 8,而 Axis2 1.7.x 也支持 Java 8。确保没有使用 Java 9 或更高版本,因为模块化(JPMS)可能会影响类加载机制。 通过上述配置,可以解决 Tomcat v8.5Apache Axis2 不支持 WebServiceClient 的问题,使客户端能够正确调用 Web 服务并处理响应。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值