最近在修改一个Web Service项目,该项目几年前是我用Axis 1.X 版本写的(支持JDK编译级别到1.4)。现在Axis都是Axis2 的版本了,xFire到了CFX,技术日新月异,为了使以前的项目能在JDK1.5以上没有错误。
当我调试该项目时,发现代码中凡是出现“oper.setStyle(org.apache.axis.enum.Style.RPC);”和“oper.setUse(org.apache.axis.enum.Use.ENCODED);”的地方MyEclipse都对其进行了报错。
问题原因: 在JDK 1.5及其以上版本中,enum都会被JDK认为是系统关键字,不能作为自定义变量使用。而我的JDK是1.6版本的,因此项目在编译时始终无法通过。
在网上下载Axis 1.4的退休版本,并将重要的*.jar文件导入到项目中去。
解决办法:
1、将代码 oper.setStyle(org.apache.axis.enum.Style.RPC); 修改为 oper.setStyle(Style.getStyle("rpc")); ;
2、将代码 oper.setUse(org.apache.axis.enum.Use.ENCODED); 修改为 oper.setUse(Use.getUse("encoded")); ;
3、添加代码
import org.apache.axis.constants.Style;
import org.apache.axis.constants.Use;
其他 的地方还有
//oper.setStyle(org.apache.axis.enum.Style.WRAPPED);
//oper.setUse(org.apache.axis.enum.Use.LITERAL);
//秦 原来是用axis1.1生成的,现在要造移到1.4上来,用JDK。15以上,需要做以上修改
oper.setStyle(org.apache.axis.constants.Style.WRAPPED);
oper.setUse(org.apache.axis.constants.Use.LITERAL);
//oper.setStyle(org.apache.axis.enum.Style.WRAPPED);
// oper.setUse(org.apache.axis.enum.Use.LITERAL);
oper.setStyle(org.apache.axis.constants.Style.WRAPPED);
oper.setUse(org.apache.axis.constants.Use.LITERAL);
搜索到的,别人整理的,一个意思
大家都知道,jdk1.5相对于jdk1.4改进了一些东西,其中之一就是Enum-枚举类型,恰好我们的apache axis1.1中有一个RPC的功能,产生的是包路径下面包含了enum这个单词,这个时候,ecilpse就将他当成了关键字,所以运行是不通过的,解决办法:
1、降低JDK的版本1.5以下就ok了。
2、采用Axis1.4或以上,将org.apache.axis.enum用org.apache.axis.constants.enum替换。
相关推荐
<Call Stack = DEBUG_FRAME = org.apache.axis2.util.JavaUtils.callStackToString(JavaUtils.java:564) DEBUG_FRAME = org.apache.axis2.description.ParameterIncludeImpl.debugParameterAdd(ParameterIncludeImpl...
抛出无法找到主类:org.apache.axis.wsdl.WSDL2Java(Throws Could not find main class: org.apache.axis.wsdl.WSDL2Java)。 添加本文的jar包压缩包解压出来的所有jar包到当前使用的java.exe 命令的lib目录下的ext...
在开发基于Axis2的Web服务时,可能会遇到各种错误和异常,其中之一就是与`org.apache.axis2.util.JavaUtils.callStackToString`相关的问题。这个问题通常出现在Axis2尝试获取并打印堆栈跟踪信息时。 `...
`org.apache.axis.jar`是Axis框架的核心库文件,包含了处理Web服务请求和响应所需的类和方法。 在Java开发中,当我们需要创建Web服务客户端或服务端时,Apache Axis能发挥重要作用。它简化了服务的创建过程,使得...
org.apache.axis2.jar
Apache Axis 是一个开源的Web服务框架,主要用于实现Java应用程序与Web服务之间的通信。这个框架是Apache软件基金会开发的,它允许开发者将Java类转换为Web服务,并且可以将Web服务调用作为Java方法来处理。"org....
`org.apache.axis2.eclipse.service.plugin_1.7.8`是专门为Eclipse设计的一个插件,旨在简化在Eclipse中使用和管理Apache Axis2服务的过程。 这个插件的主要功能包括: 1. **Axis2服务创建**:它允许用户直接在...
eclipse插件 org.apache.axis2.eclipse.codegen.plugin_1.7.4.jar
"org.apache.axis2.eclipse.codegen.plugin_1.6.3"和"org.apache.axis2.eclipse.service.plugin_1.6.3"这两个插件就是针对这个目的设计的,它们都属于Apache Axis2的Eclipse扩展。 `org.apache.axis2.eclipse....
eclipse 4.9.0 插件org.apache.axis2.eclipse.service.plugin_1.7.8
1. axis.jar:这是核心库,包含了处理SOAP消息和Web服务调用的核心功能。 2. axis-wsdl4j.jar:这是一个用于WSDL解析和生成的库,基于wsdl4j项目。 3. jaxrpc.jar:Java API for XML-RPC,提供了与XML-RPC服务器通信...
org.apache.axis2.osgi-1.5.jar
eclipse插件 org.apache.axis2.eclipse.service.plugin_1.7.4.jar
"org.apache.axis2.eclipse.codegen.plugin_1.7.8.jar"是这个插件的特定版本,版本号为1.7.8。 该插件的主要功能包括: 1. **服务客户端生成**:基于WSDL(Web Services Description Language)文件,可以自动生成...
包含: ...com.springsource.org.apache.axis-1.4.0.jar, com.springsource.org.apache.commons.beanutils-1.8.0.jar, com.springsource.org.apache.commons.collections-3.2.1.jar, ...
jar包,官方版本,自测可用
--org.apache.axis2.eclipse.codegen.plugin_1.6.2.jar --org.apache.axis2.eclipse.service.plugin_1.6.2.jar --javax.xml.bind_2.1.9.v201005080401.jar --javax.xml.stream_1.0.1.v201004272200.jar --javax....
... com.springsource.org.apache.axis-1.4.0.jar, com.springsource.org.apache.commons.beanutils-1.8.0.jar, com.springsource.org.apache.commons.collections-3.2.1.jar, ...
axis2是实现webservice的一种技术框架,在官网中提供了基于eclipse的操作插件
Axis1.x的jar文件主要包括axis.jar、commons-discovery.jar、commons-logging.jar等,这些文件需要添加到项目的类路径中。而Axis2.x的依赖更多,包括axis2-*.jar、axiom-*.jar、wsdl4j-*.jar等,还需要根据具体需求...