电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

用Axis2开发Web-Service及客户端

7页
  • 卖家[上传人]:jiups****uk12
  • 文档编号:91011583
  • 上传时间:2019-06-20
  • 文档格式:DOC
  • 文档大小:14.25KB
  • / 7 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、用Axis2开发Web Service及客户端 在使用Eclipse的Axis1.4插件开发Web Service及客户端介绍的Axis是用的Axis1.x,而Axis2是改进版本,进行了重新的设计,应该是Axis的第二代,本文介绍Axis2的使用方法。 http:/ws.apache.org/axis2/是Axis2的主页,写这篇文章的时候最新版本是1.5,从http:/ws.apache.org/axis2/download/1_5/download.cgi下载axis2-1.5-bin.zip、axis2-1.5-war.zip。 axis2-1.5-war.zip是web发布版本,可以在网页上进行Web Service的动态部署,提供Web Service服务。解压缩后把axis2.war放到tomcat的webapps下面,启动tomcat,在网页中输入http:/localhost:8080/axis2(取决于tomcat的设置)就可以进行操作了。这方面的资料很多,就不详细介绍了。 下面介绍使用Eclipse插件开发的方法,环境与使用Eclipse的Axis1.4插件开发W

      2、eb Service及客户端的相同。 启动Eclipse后,首先设置Axis2的主目录,需要先解压缩axis2-1.5-bin.zip,然后把解压缩之后的路径填入Eclipse的Window|Preferences|Web Services|Axis2 Preferences的界面上,如下图所示: 图1在Eclipse中设置Axis2的runtime 建立一个简单的类: package demo.axis; public class User public String sayHello(String userName) return hello + userName; 把这个类发布为Web Service的步骤与使用Eclipse的Axis1.4插件开发Web Service及客户端中的相同,只是要注意选择Axis2,生成之后的目录结构是: 图2生成Web Service后的目录结构 但生成之后的项目中缺少.jar文件,可以把%AXIS2-HOME%/lib下的所有文件复制到项目的WEB-INF/lib下面,部署到tomcat就可以运行了,在浏览器中输入http:/localhost

      3、:8080/Axis2ServerDemo/services/User?wsdl就可以看到发布的Web Service的wsdl了。 除了利用Eclipse插件生成Web Service之外,自己动手部署也不困难。建立一个目录,把需要部署为Web Service的class文件放到一个目录下面,并建立一个META-INF目录,把services.xml放入META-INF下。目录结构如下: 图3Axis2 aar目录结构 用jar命令把以上内容打包为一个aar文件,命令为“jar cvf User.aar *.*”。这样就会生成一个User.aar文件,放到应用的WEB-INF/services下面,也就部署了Web Service。 其中services.xml的内容可以是: <service name=User > <Description> Please Type your service description here </Description> <messageReceivers> <messa

      4、geReceiver mep=http:/www.w3.org/2004/08/wsdl/in-only class=org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver /> <messageReceiver mep=http:/www.w3.org/2004/08/wsdl/in-out class=org.apache.axis2.rpc.receivers.RPCMessageReceiver/> </messageReceivers> <parameter name=ServiceClass locked=false>demo.axis2.User</parameter> </service> 这样类中所有public方法都发布为Web Service,如果只想发布类的某些方法,services.xml可以这样写: <service name=User > <Description> Please Type your servic

      5、e description here </Description> <parameter name=ServiceClass locked=false>demo.axis2.User</parameter> <operation name=sayHello> <messageReceiver class=org.apache.axis2.rpc.receivers.RPCMessageReceiver /> </operation> </service> 客户端的编写可以直接写代码,也可以用Axis2提供的命令wsdl2java生成客户端的代码。 直接写代码的方式,示例代码如下: package demo.axis2.client; import javax.xml.namespace.QName; import org.apache.axis2.addressing.EndpointReference; import org.apache.axis2.client.Options; import or

      6、g.apache.axis2.rpc.client.RPCServiceClient; public class UserClient public static void main(String args) throws Exception / 使用RPC方式调用WebService RPCServiceClient serviceClient = new RPCServiceClient(); Options options = serviceClient.getOptions(); / 指定调用WebService的URL EndpointReference targetEPR = new EndpointReference( http:/localhost:8080/Axis2ServerDemo/services/User); options.setTo(targetEPR); / 指定方法的参数值 Object opAddEntryArgs = new Object tom; / 指定方法返回值的数据类型的Class对象 Class classes = new Class

      7、String.class; / 指定要调用的getGreeting方法及WSDL文件的命名空间 QName opAddEntry = new QName(http:/axis2.demo, sayHello); / 调用方法并输出该方法的返回值 System.out.println(serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs, classes)0); 用wsdl2java命令的方式,首先要生成代码,命令如下: set AXIS2_HOME=E:/Program/WebService/axis2-1.5 %AXIS2_HOME%/bin/wsdl2java -uri http:/localhost:8080/Axis2ServerDemo/services/User?wsdl -p client -s -o stub 生成客户端访问代码后,调用方法如下: package demo.axis2.client; import client.UserStub; public class Stub public static void main(String args) throws Exception UserStub stub = new UserStub(); UserStub.SayHello sayHello = new UserStub.SayHello(); sayHello.setUserName(tom); System.out.println(stub.sayHello(sayHello).get_return();

      《用Axis2开发Web-Service及客户端》由会员jiups****uk12分享,可在线阅读,更多相关《用Axis2开发Web-Service及客户端》请在金锄头文库上搜索。

      点击阅读更多内容
    新上传的WORD文档
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.