学习axis调用webservice
1. 首先在网上找了很多博客文章,阅读了axis调用webservice的原理
2. 根据前辈们说的步骤先安装了 axis1.4
3. 其中认真阅读这篇文章http://jyangzi5.javaeye.com/blog/671479
接着按照文章所说开始做实验,可惜并不顺利。
下面是调试过程, 代码和http://jyangzi5.javaeye.com/blog/671479完全相同(除了端口号)。
第一个坎儿: 部署文件deploy.wsdd时报错:java.lang.NoClassDefFoundError org.apache.axis.client.AdminClient,
字面上似乎就是class找不到。那就配置classpath得了, 很快在网上找到了另一篇文章http://blog.youkuaiyun.com/tuwen/archive/2007/10/10/1817776.aspx
好了环境变量配置成功。
切换到/AxisWebservice/webroot/web-inf目录下 执行cmd命令:
java org.apache.axis.client.AdminClient -lhttp://localhost:8081/AxisWebservice/servlet/AxisServlet deploy.wsdd
编译成功:
Processing file deploy.wsdd
<Admin>Done processing</Admin>
发布了service,生成了server-config.wsdd。
部署文件deploy.wsdd的地址http://localhost:8081/AxisWebservice/services/AdminService 要依据web.xml文件的配置
第二个坎儿: 写好了client,准备调用service,报错: faultString: The AXIS engine could not find a target service to invoke! targetService is HelloWorld.
仔细检查了代码,发现原文中地址和我本地不一致,于是改地址http://127.0.0.1:9091/Axis/services/HelloWorld
为http://127.0.0.1:8081/AxisWebservice/services/HelloWorld。
排除了几道坎, 终于看到了控制台输出结果,心里好舒坦呵呵。
比较系统的例子可以参考令另外一篇文章,eclipse下如何用axis生成wsdl客户端