axis1.1 和 axis1.4 关于包名enum的问题

org.apache.axis.enum 与JDK1.5冲突的解决办法

 

 

问题来源:

 

我们的系统使用的是axis1.1版本,调用大部分基于1.1开发的webservice程序,但是现在调用第三方webservice程序时候,由于对方使用的是axis1.4开发,所以我们使用axis1.1的wsdl2java生成的文件含有1.4的一些东西,主要体现在*SoapBindingStub类里出现

org.apache.axis.enum.Style.WRAPPED

 

问题来了,如果你的编译环境是jdk1.4一下版本,那么恭喜你,没有问题,但是目前大部分人使用的是jdk1.5以上版本,那么由于jdk1.5以上版本增加了enum这个关键字变量,不能用作包名,所以调用org.apache.axis.enum.Style.WRAPPED类似方法的时候总是编译不通过。

 

解决办法

1:升级到axis1.4版本

2:如果你升级的时候会引起原来axis1.1版本的混乱,甚至出错,那么

你可以在axis1.1的基础上,把生成的java文件,放入一个新的项目中,该项目使用jdk1.4的环境编译,打成jar包,再放回到原来jdk1.5以上版本的项目中,引入该jar包的方法即可。

上面是我的经历的记录,希望能帮助有疑问的人。

你可能感兴趣的:(apache,webservice)