首先说下我的使用方法:
使用axis2的eclipse插件在myeclipse里进行开发。
axis2的服务端发布在原有的项目中。
下面说下这几天遇到的一些问题和解决方法:
一、安装好插件后在gencode的最后一步出现java.lang.reflect.InvocationTargetException错误。
该错误不好解决,因为是plug出错,在eclipse里没有日志可以查看,而且在网上有很多人都问这样的问题,也有不少回答的,但是到了我这边都不管用了。
解决方法:将myeclipse的运行环境改为java6.0;
怎么改呢,这里教大家一个简单的方法,是在网上看到的.在myeclipse指向eclipse的快捷方式的属性中目标这一项根据自己的实际情况改为:
"D:/MyEclipse 6.0/eclipse/eclipse.exe" -vm "C:/Program Files/Java/jre1.6.0_07/bin/java.exe" -debug(好东西啊,以后调试plug都靠这啦)
-vm就是指定虚拟机,-debug以调试模式运行eclipse。现在打开那个快捷方式看看,发现什么了,嘿嘿,是不是先出现一个命令提示符窗口(那窗口是java.exe弄出来的,使用javaw.exe的话就没有这东西了),好,这时候你再试下自动生成java代码,是不是就没有异常抛出了,那就恭喜你啦。如果还有异常的话,同样恭喜你,看看那个命令提示符窗口,里面有你想知道的东西,好像是某个类没有找到。(这是我真是想***那个apache,你搞个插件吧,还要我们自己去别处下载个jar包,开始我还以为是版权的问题,可是后来我在aixs2的lib里找到了那个jar包,彻底将我击败了,服了U,apache!)
这里说下要点:
1、那个没有找到的类就在backport-util-concurrent-2.2.jar这个包中,看清楚是2.2,你要是下了其他版本还有问题就用这个试试,2、jar包要放在Axis2_Codegen_Wizard_1.3.0跟目录下
3、在plugin.xml中引入的时候要把它放在第一个lib的位置(太霸道了)
4、删除D:/MyEclipse 6.0/eclipse/configuration下的org.eclipse.update,重启IDE。
我就是通过以上的办法解决了这个问题,要是你遇到了同样的问题,用我说的办法还没有解决的话,只能说明一个问题,那就是你的人品没我的好。。。
二、不借助axis2的web程序,怎么将webService附加到现有的工程中去
上面的是我发布在现有项目中的webService,其实只需要添加几个xml文件和jar包就可以了。web.xml在axis2-1.4.1-bin/axis2-1.4.1/webapp/WEB-INF里可以找到,把里面的内容copy到你现有工程中的web.xml里。axis2.xml在axis2-1.4.1-bin/axis2-1.4.1/samples/java_first_jaxws/src/webapp/WEB-INF里,复制过来把里面的modul模块注释调。service.xml是你自己生成的,按目录结构建就可以了。
好,再把jar包都添加进去就万事大吉啦。
先写到这,以后有新的发现再添加