本文作为使用Axis2创建Web Service的后篇,主要介绍如何使用Axis2调用Web Service。有关准备工作详情请参考前篇的内容。

在Eclipse的Packge Explorer中右键点击New,选择Other项,新建一个Axis2 Code Genrateor向导。点击Next,打开向导选择界面:

选择Generate Java Source code from a WSDL file,点击Next。

在WSDL file location中输入WSDL文件的地址,点击Next。

使用默认设置,继续Next。

选择文件输出路径,点击Finish。啊哦,可怕的事情发生了:

于是Google,得知要将Tomcat安装目录下的webapps/axi2/WEB-INF/lib下的backport-util-concurrent-3.1.jar复制到eclipse\plugins\Axis2_Codegen_Wizard_1.3.0\lib目录下,没想到我的axis2的lib下竟然没有backport-util-concurrent-3.1.jar,于是网上下载了一个。至于为什么没有这个文件,至今还没有搞明白。

复制之后,修改%ECLIPSE_HOME%\plugins\Axis2_Codegen_Wizard_1.3.0\plugin.xml文件,在<runtime/>标签中添加该 jar的注册信息。如下:

<library name="lib/backport-util-concurrent-3.1.jar"><export name="*"/>
</library>

然后,在命令行下切换至%ECLIPSE_HOME%目录,使用-clean参数启动Eclipse,清除osig cache,如下:

eclipse.exe -vm "c:\jre1.5.0_10\bin\java.exe" -clean -console -consoleLog -debug -vmargs –mx384M

然后关闭Eclipse,使用普通方式重新启动,再按上述步骤重新来过,问题终于解决。

刷新项目,会发现net.kirin.webservice包中多了两个文件(文件的位置由以上最后一步文件的输出路径决定):

之所以会有错误,是因为还没有安装Axis2的类包。

在项目上右键选择Build Path—>Add External Archives,选择Tomcat安装目录webapps/axi2/WEB-INF/lib下的所有jar包。或则选择项目属性—>Java Build Path—>Add External JARs,选择所有jar包。

在项目中新建CalculateServiceTest单元测试类(JUnit),输入如下代码(当然,别忘了添加junit的jar包):

package net.kirin.webservice;import junit.framework.*;public class CalculateServiceTest extends TestCase{public void testCalculateService()  throws Exception {CalculateServiceStub stub = new CalculateServiceStub();CalculateServiceStub.Add add = new CalculateServiceStub.Add();add.setX(1);add.setY(2);double retVal = stub.add(add).get_return();Assert.assertEquals(3.0, retVal);}
}

运行单元测试,顺利通过:

至此,我们完成了使用Axis2调用Web Service的过程。

参考资料:

axis2创建web service(三)

java.lang.reflect.InvocationTargetException axis2 code generator error resolved

转载于:https://www.cnblogs.com/kirinboy/archive/2009/09/22/1571593.html

使用Axis2调用Web Service相关推荐

  1. JAVA 调用Web Service

    JAVA 调用Web Service的方法 1.使用HttpClient  用到的jar文件:commons-httpclient-3.1.jar  方法:  预先定义好Soap请求数据,可以借助于X ...

  2. Java 调用Web service 添加认证头(soapenv:Header)

    前言 有时候调用web service 会出现 Message does not conform to configured policy [ AuthenticationTokenPolicy(S) ...

  3. 基于Tomcat5.0和Axis2开发Web Service代码详解

    本文将详细介绍HelloWorld中使用的server和client端代码.阅读之前,你应该首先了解SOAP1.1协议.<?xml:namespace prefix = o ns = " ...

  4. android调用web service(cxf)实例

    Google为ndroid平台开发Web Service提供了支持,提供了Ksoap2-android相关架包 1.下载该夹包可以直接登录http://code.google.com/p/ksoap2 ...

  5. 用cxf公布和调用web service

    用cxf发布和调用web service 最近我们的系统需要和一个第三方系统对接,对接的方式是通过web service,所以就学习了一下这方面的东西 用CXF来做web service是比较简单的, ...

  6. 基于Tomcat5.0和Axis2开发Web Service应用实例

    本文将介绍如何使用Tomcat5.0和Apache Axis2开发.部署及测试一个简单的Web Service应用.<?xml:namespace prefix = o ns = "u ...

  7. 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(2):处理异步调用中的异常...

    本文来自<ASP.NET AJAX程序设计 第II卷:客户端Microsoft AJAX Library相关>的第三章<异步调用Web Service和页面中的类方法>,请同时 ...

  8. .NET应用程序中异步调用Web Service的几种方法 come from: veryhappy(wx.net)

    测试程序界面 图一,调用前界面 图二,调用后界面 详细代码实现 闲言少叙,直接进入主题吧.首先一个声明一个类(将来在客户端与服务器间传递): public class Class1     {     ...

  9. 前台页面通过ajax环境和js调用web service的几种方法

    目录: 1.配置ajax环境 2.js中调用web service (ajax环境) 方法一 3.方法二 4.方法三 5.ajax中的错误处理 //6.写的比较快 如果有疏忽之处  如能指出感激不尽. ...

最新文章

  1. Ajax——从服务器获取各种文件
  2. python竞赛试题及答案_Python全国少儿编程竞赛参赛作品《自主数学练习小工具》解析...
  3. Istio分层架构?80%的人有误解
  4. [转].NET 数据库连接池
  5. metrics_FlexyPool如何支持Dropwizard Metrics包重命名
  6. 腾讯Blade Team发现云虚拟化平台逃逸漏洞 积极护航云生态安全
  7. python系统关键字_Python基础教程 - global关键字及全局变量的用法
  8. 诗与远方:无题(二十九)
  9. python 下载文件-python爬虫之下载文件的方式总结以及程序实例
  10. sps2013安装错误
  11. sudo和su命令简介
  12. 中国地图填色问题Python API(动态)
  13. (最完美)红米Note 5A的usb调试模式在哪里打开的步骤
  14. 在Deepin v20系统中安装RTL8821CE无线网卡驱动的步骤
  15. 独家秘技||如何快速入门一个陌生知识领域?
  16. 【windows虚拟机装openwrt做主路由扩wan扩lan】
  17. 裴蜀定理(或 贝祖定理 )
  18. Python Re正则表达式
  19. 华中科技大学计算机本校保研,2018 华中科技大学计算机学院保研机试真题
  20. 从事python需要掌握哪些知识和技能_转行从事Python,需要掌握什么技能?

热门文章

  1. ubuntu 常用软件和命令
  2. java接口调试思想
  3. struts2学习(3)struts2核心知识II
  4. 疯狂java学习笔记1023---线程的同步
  5. mysql my.cnf 配置建议
  6. 软件测试中的存根程序
  7. c语言is int number,C语言中NSInteger,NSNumber以及Int的区别
  8. html表单input file,input标签type=file的文件上传
  9. 乘基取整法是什么_深入理解计算机系统(六):进制间的转换原理
  10. flask中关于endpoint端点、url_map映射、view_func视图函数,view_functions、及视图函数名是否何以相同的问题?