




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
WebService操作手册1.引言1.1 目的本操作手册具体介绍了WebService的工作原理并详细描述了使用axis2构建WebService的流程,主要面向刚刚接触WebService的开发人员。1.2 为什么要使用WebService WebService是一个新的概念,它并不是微软首先提出的,但是微软的dotnet战略让它最广泛的发挥它的潜能。也许它流行的根本原因并不是微软,也许是因为带宽与存储量的飞速发展,但是dotnet战略确实起到了很大的作用,令它能够在更加广泛的开发平台上施展。dotnet战略领导着微软前进,微软为了dotnet计划也花费了近300亿美元。为什么?因为微软要它的理念、方式不但在单机软件,甚至在Internet上也被最广泛的认同。WebService最早被应用在Sun等对网络先知先觉的平台上,并且在苦苦的期待发展。而J2EE是最早的成功开发WebService的平台,它的理念就是在网上最广泛的传播、使用,成为一种真正的服务。当微软的dotnet计划即将实施的时候,微软也开始发掘WebService的潜力。今天的 Web 站点仅能为浏览器提供用户界面,而下一代可编程 Web 站点直接将企业、应用程序、服务和设备彼此链接。这些可编程 Web 站点将不只是被动访问的站点,而将成为可重用的智能 Web 服务。因此我们要使用WebService才能适应将来的发展趋势。一句话:为了顺应时代的发展。1.3 什么是WebServiceW3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计。Web Service服务通常被定义为一组模块化的API,它们可以通过网络进行调用,来执行远程系统的请求服务。这里我们从一个程序员的视角来观察web service。在传统的程序编码中,存在这各种的函数方法调用。通常,我们知道一个程序模块M中的方法A,向其发出调用请求,并传入A方法需要的参数P,方法A执行完毕后,返回处理结果R。这种函数或方法调用通常发生在同一台机器上的同一程序语言环境下。现在的我们需要一种能够在不同计算机间的不同语言编写的应用程序系统中,通过网络通讯实现函数和方法调用的能力,而Web service正是应这种需求而诞生的。简单理解:Web Service 就是一个网络组件(一个可以通过网络访问的程序)。它有一个或多个端口(Port),这些端口用于接收客户端的请求,并返回响应 请求和响应的 都是一种基于XML的消息。不过这种消息遵循特定的格式(SOAP )。1.4 WebService WSDL SOAP关系Web Service = SOAP + HTTP + WSDL。其中,SOAP Simple Object Access Protocol)协议是web service的主体,它通过HTTP或者SMTP等应用层协议进行通讯,自身使用XML文件来描述程序的函数方法和参数信息,从而完成不同主机的异构系统间的计算服务处理。这里的WSDL(Web Services Description Language)web 服务描述语言也是一个XML文档,它通过HTTP向公众发布,公告客户端程序关于某个具体的 Web service服务的URL信息、方法的命名,参数,返回值等。SOAP格式数据: 张三 1.5 Web Service服务器工作流程 监听网络端口(监听服务端口) 接收客户端请求(接收SOAP请求) 解析客户端请求(解析SOAP消息,将SOAP消息转换为数据对象) 调用业务逻辑 (调用Web Service实现类的特定操作,参数是由SOAP消息转换而来的数据对象) 生成响应 (将返回值转换为SOAP消息) 返回响应 (返回SOAP响应) 1.6 Web Service客户端工作流程 构造SOAP请求消息(将本地数据对象转换为SOAP消息) 发送SOAP消息到Web Service服务器的指定端口 接收SOAP响应消息 将SOAP响应消息转换为本地数据对象 2.系统所需环境 JDK1.4以上版本 设置JAVA_HOME环境变量 ANT必须是1.6.5以上版本 设置AXIS2_HOME环境变量,指向安装跟目录 在path路径下添加:%AXIS2_HOME%bin3.构建WebService服务器3.1 使用AXIS2构建WebService服务器 POJO Eclipse插件3.1.1 POJO方式 1、 下载所需的包:axis2 的2进制的包和axis2.war下载地址:/axis2/download/1_5_2/download.cgi2、 将下载的axis2.war,放置到tomcat的webapps目录下,启动tomcat,此时webapps目录会自动解压出axis2目录,如下图所示此时,在浏览器中输入:http:/localhost:8080/axis2/,如果一切正常将会看到如下界面3、 编写服务器端代码启动Eclipse,选择File-New-Project,打开新建项目向导,如下图所示:4、 选择Java Project,点击Next,打开新建项目窗口,为新建项目命名,这里命名为:4thWebService,如下图所示:5、 点击Finish完成项目创建。6、 编写服务器端代码 选择File-New-Class,为新建的不含任何报名的类,命名为:myWebService,如下图所示:7、 点击Finish,编写代码,代码如下public class MyWebService public String helloWebService(String name) return name + ,this is WebService -; 8、将编译后的MyWebService .class放置到tomcat的webappsaxis2WEB-INFpojo(没有pojo文件夹的需要手动创建该文件夹)目录下9、在地址栏中输入:http:/localhost:8080/axis2/services/MyWebService?wsdl,如果创建成功,将会看到如下界面:使用POJO方式搭建Web Service优缺点优点:简单缺点:服务器端java类不能含有包名3.1.2 使用框架构建webservice1、 下载所需的包(方法参考3.1.1 POJO方式中的1 2)2、下载Axis2_Codegen_Wizard_1.3.0,Axis2_Service_Archiver_1.3.0并解压插件到eclipse的plugins目录下,启动eclipse(下载地址略)3、编写服务器端代码 选择File-New-Class,为新建的类,包名命名为:gongqiang,类名命名为:myWebService,如下图所示:4、点击Finish,编写代码,代码如下package gongqiang;public class MyWebService public String helloWebService(String name) return name + ,this is WebService -; 5、新建项目,FILE-NEW-OTHER,选择Axis2 Service Archiver ,如下图6、点击Next进入下一个设置页面7、在该页面中设置你的JAVA类编译后存放的CLASS目录,记住这里的目录不需要包括JAVA包,点击next进入下一个设置页面8、选择第一个SkipWSDL,点击Next进入下一页,该页我们不设置,再点击Next,进入如下页面9、 点击Next,出现如下页面 10、面中填入ServiceName,ClassName(你将要作为webservice暴露的JAVA类的全路径),点击load选择Search declared methods only只显示你定义的方法,然后在列表中选择你需要暴露的方法,点击next,出现如下图11、点击finish,出现如下图表示生成服务器端成功。12、 将生成的loginService放置到tomcat的ebappsaxis2WEB-INFservices目录下,如下图13、在地址栏中输入:http:/localhost:8080/axis2/services/myService2?wsdl,如果创建成功,将会看到如下界面:3.1.3 使用独立安装模式1、 修改配置文件:axis2二进制文件下面的axis2-1.5.2confaxis2.xml 8060 端口号修改为:8060(防止与tomcat冲突)2、 运行axis2server.bat(位于axis2二进制文件下面的axis2-1.5.2bin目录下)3、 浏览器中输入:http:/localhost:8060/axis2/services/Version?wsdl,可以看到如下界面4. 构建WebService客户端4.1.1 使用插件创建WebService客户端1、 下载geronimo-stax-api_1.0_spec-1.0.1.jar,backport-util-concurrent-3.1.jar,将下载后的文件放置到eclipse安装目录的Axis2_Codegen_Wizard_1.3.0文件下(该文件夹是3.1.2 第2步中解压之后的文件夹)2、 修改Axis2_Codegen_Wizard_1.3.0plugin.xml文件,在该文件中添加如下代码: 3、 将文件夹Axis2_Codegen_Wizard_1.3.0重命名为Axis2_Codegen_Wizard_1.4.04、 启动Eclipse ,点击File-New-Other,弹出如下界面:5、 选择Axis2 Code Genetator,点击Next,进入下一个设置页面,如下图:6、 选择Generate Java source from a WSDL file,点击Next,进入下一个设置界面,如下图7、 在上图文本框中输入wsdl地址,点击Next,进入下一设置页面,如下图:8、 点击Next,进入下一个设置页面,如下图:9、 点击上图的Browse,选择生成客户端代码存放位置(这里放置到桌面),点及Finish,将会看到如下操作,说明客户端创建成功10、 将生成的两个类(这里为MyService2CallbackHandler.java、MyService2Stub.java)源文件拷贝到eclipse工作空间中,如下图:11、 引入相关jar 包 A)点击Window-Preferences,进入Preferences窗口,如下图B)依此选择Java-Build Path-User Liberaries,点击New ,新建User Liberaries(这里命名为axis2)选中新建好的axis2库,点击import,引入jar包(axis2二进制包中lib目录下所有jar包)C)右键项目名称,选择build path-Add Liberary弹出Add Liberary窗口,如下图D)点击Next,选择刚刚创建的axis2 库。12、 编写客户端实现类,代码如下package gongqiang;public class MyClient public static void main(String args) try MyService2Stub stub = new MyService2Stub();/ 初始化SimpleMethod方法。MyService2Stub.HelloWebService reques
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司法课件内容
- 护士长骨科工作总结
- 星级酒店消防员培训
- 公司水电安全培训记录课件
- 广东省深圳市龙岗区2023-2024学年高一上学期期末考试语文题目及答案
- 广东省梅州市大埔县2024-2025学年高一上学期第一次月考地理考点及答案
- 2025未签订合同离职者须知
- 2025聘用校长合同书范文
- 2025年员工因病治疗期满后拒绝解除劳动合同公司陷入两难境地
- 2025配送员劳动合同
- 羊水栓塞的早期识别课件
- 安全防范系统升级和服务协议
- 整合照护课件
- 北宋名臣滕元发:才情、功绩与时代映照下的复合型士大夫
- 柜面业务无纸化培训课件
- 电工安全教育培训试题及答案
- 彩色水稻种植技术要求
- 2025年湖南银行社招笔试题库及答案
- 2025年精密数控机床进口采购合同
- DB44T 2635-2025 国土变更调查县级数据库建设技术规范
- 海南省2025年中考化学真题试题(含答案)
评论
0/150
提交评论