ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:452.08KB ,
资源ID:4037293      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4037293.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(WebService专题培训.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

WebService专题培训.docx

1、WebService专题培训 WebService专题培训吴理琪2012-11目录一、WebService简介 3二、WebService框架的比较 4三、CXF 63.1 CXF+Spring+Tomcat实例 63.2 Android通过Ksoap2连接CXF Web Service实例 14一、WebService简介Web Services 可使您的应用程序成为Web应用程序。Web Services 通过Web进行发布、查找和使用。应当具备的基础知识 HTML XML什么是Web Services? Web Services 是应用程序组件 Web Services 使用开放协议进行

2、通信 Web Services 是独立的(self-contained)并可自我描述 Web Services 可通过使用UDDI 来发现 Web Services 可被其他应用程序使用 XML 是Web Services 的基础它如何工作?基础的Web Services 平台是XML+HTTP。HTTP协议是最常用的因特网协议。XML提供了一种可用于不同的平台和编程语言之间的语言。Web services 平台的元素: SOAP (简易对象访问协议) UDDI (通用描述、发现及整合) WSDL (Web services 描述语言)Web services 平台是简单的可共同操作的消息收发

3、框架。它仍然缺少许多诸如安全和路由等重要的特性。但是,一旦SOAP 变得更加高级,这些事项就会得到解决。Web services 有望使应用程序更加容易通信。几年前,Web services 的速度还没有快到让人们产生兴趣的程度。感谢主要的IT开发商近年来的努力,大多数的人们和企业拥有了宽带连接,并越来越多地使用Web。最重要的事情是协同工作,于所有主要的平台均可通过Web 浏览器来访问Web,不同的平台可以借此进行交互。为了让这些平台协同工作,Web 应用程序被开发了出来。Web 应用程序是运行在Web 上的简易应用程序。它们围绕Web 浏览器标准被进行构建,几乎可被任何平台之上的任何浏览器

4、来使用。Web services 把Web 应用程序提升到了另外一个层面通过使用Web services,您的应用程序可向全世界发布功能或消息。Web services 使用XML 来编解码数据,并使用SOAP 借由开放的协议来传输数据。Web services 有两种类型的应用 可重复使用的应用程序组件有一些功能是不同的应用程序常常会用到的。那么为什么要周而复始地开发它们呢?Web services 可以把应用程序组件作为服务来提供,比如汇率转换、天气预报或者甚至是语言翻译等等。比较理想的情况是,每种应用程序组件只有一个最优秀的版本,这样任何人都可以在其应用程序中使用它。 连接现有的软件通过

5、为不同的应用程序提供一种链接其数据的途径,Web services 有助于解决协同工作的问题。通过使用Web services,您可以在不同的应用程序与平台之间来交换数据。Web Services 拥有三种基本的元素。它们是:SOAP、WSDL 以及UDDI。什么是SOAP? SOAP 指简易对象访问协议 SOAP 是一种通信协议 SOAP 用于应用程序之间的通信 SOAP 是一种用于发送消息的格式 SOAP 被设计用来通过因特网进行通信 SOAP 独立于平台 SOAP 独立于语言 SOAP 基于XML SOAP 很简单并可扩展 SOAP 允许您绕过防火墙 SOAP 将作为W3C 标准来发展什

6、么是WSDLWSDL 是基于XML 的用于描述Web Services 以及如何访问Web Services 的语言。 WSDL 指网络服务描述语言 WSDL 使用XML 编写 WSDL 是一种XML 文档 WSDL 用于描述网络服务 WSDL 也可用于定位网络服务 WSDL 还不是W3C 标准什么是UDDI?UDDI 是一种目录服务,通过它,企业可注册并搜索Web services。 UDDI 指通用的描述、发现以及整合(Universal Description, Discovery and Integration)。 UDDI 是一种用于存储有关web services 的信息的目录。

7、UDDI 是一种由WSDL 描述的网络服务接口目录。 UDDI 经由SOAP 进行通迅。 UDDI 被构建于Microsoft .NET 平台之中。任何应用程序都可拥有Web Service 组件。Web Services 的创建与编程语言的种类无关。二、WebService框架的比较在SOA领域,我们认为Web Service是SOA体系的构建单元(building block)。对于服务开发人员来说,AXIS和CXF一定都不会陌生。这两个产品都是Apache孵化器下面的Web Service开源开发工具。 Axis2的最新版本是1.6.2,CXF最新版本是2.7.0。 这两个框架 都是从已

8、有的开源项目发展起来的。Axis2是从Axis1.x系列发展而来。CXF则是XFire和Celtix项目的结合产品。Axis2是从底层全部重新实现,使用了新的扩展性更好模块架构。 CXF也重新的深化了XFire和Celtix这两个开发工具。 新产品的推出导致了几个问题。是不是现有的使用Axis 1.x,XFire和Celix的应用需要迁移的新的版本上。如果一个开发人员确定要迁移它的应用到新的框架上,那么他应该选择哪一个呢?相反的,如果一个开发者决定从头开发一个新的Web Service,他应该使用哪个呢? 这两个框架哪一个更好一些呢? 对于系统迁移来说,也许迁移到新的框架并不难。Axis和CX

9、F都提供了迁移的指导。能够给开发者一些迁移的技巧和经验。但是对于这样迁移,这两个开源项目都没有提供迁移的工具。对于这样的迁移工作,尽管很值得去寻找所有的可行方案。Axis2和CXF都有各自不同的WebService开发方法,每个方法都有相当数量拥护者。 通过一个比较矩阵来比较Axis2和CXF变得有现实的意义。这两个项目都开发不够成熟,但是最主要的区别在以下几个方面:1.CXF支持 WS-Addressing,WS-Policy, WS-RM, WS-Security和WS-I Basic Profile。Axis2不支持WS-Policy,但是承诺在下面的版本支持。2. CXF可以很好支持S

10、pring。Axis2不能。3. AXIS2支持更广泛的数据并对,如XMLBeans,JiBX,JaxMe和JaxBRI和它自定义的数据绑定ADB。注意JaxME和JaxBRI都还是试验性的。CXF只支持JAXB和Aegis。4. Axis2支持多语言-除了Java,他还支持C/C+版本。 比较这两个框架的Web Service开发方法与比较它们的特性同样重要。 从开发者的角度,两个框架的特性相当的不同。 Axis2的开发方式类似一个小型的应用服务器,Axis2的开发包要以WAR的形式部署到Servlet容器中,比如Tomcat,通过这些容器可以对工作中的Web Service进行很好的监控和

11、管理。Axis2 的Web administrion模块可以让我们动态的配置Axis2。一个新的服务可以上载,激活,使之失效,修改web服务的参数。管理UI也可以管理一个或者多个处于运行状态的服务。这种界面化管理方式的一个弊端是所有在运行时修改的参数没有办法保存,因为在重启动之后,你所做的修改就会全部失效。Axis2允许自己作为独立的应用来发布Web Service,并提供了大量的功能和一个很好的模型,这个模型可以通过它本身的架构(modular architecture)不断添加新的功能。有些开发人员认为这种方式对于他们的需求太过于繁琐。这些开发人员会更喜欢CXF。CXF更注重开发人员的工效

12、(ergonomics)和嵌入能力(embeddability)。大多数配置都可以API来完成,替代了比较繁琐的XML配置文件, Spring的集成性经常的被提及,CXF支持Spring3.0和CXFs API和Spring的配置文件可以非常好的对应。CXF强调代码优先的设计方式(code-first design),使用了简单的API使得从现有的应用开发服务变得方便。 不过你选择Axis2还是CXF,你都可以从开源社区得到大量的帮助。这两个框架都有商业公司提供服务,WSO2提供AXIS2的支持,Iona提供CXF的支持。这两公司都有很活跃的开发者社区。 Axis2出现的时间较早,CXF的追赶

13、速度快。建议:如果你需要多语言的支持,你应该选择AXIS2。如果你需要把你的实现侧重JAVA并希望和Spring集成,CXF就是更好的选择,特别是把你的Web Service嵌入其他的程序中。如果你觉得这两个框架的新特性对于你并没有太大的用处,你会觉得Axis1也是不错的选择,你应该继续使用它,直到你有充分的理由去更换它。三、CXF3.1 CXF+Spring+Tomcat实例 异构系统进行交互时,一种良好的方式便是调用Web Service,本实基于Apache的CXF,为了方便起见特将PC终端JAVA版客户端与服务端在同一个工程下测试使用,实际项目中是不可能的,但是客户端却依赖于服务端的W

14、eb Service接口,那么可以通过导出jar的方式。最后,测试功后,将在Android手机应用程序中调用Web Service的实例。环境: Eclipse 3.3 JDK 6 Tomcat 7 CXF 2.7 Spring 3.2实例项目结构图:其中为简单起见:将apache-cxf-2.7.0lib下所有jar复制到lib目录下,在项目发布时可精简。精简后的jar包见下图:(注CXF支持最新的Spring3.2)代码:1、在项目工程src相应包下建WebService接口类:IXmlHandlerService.javapackage com.writchie.webservice;i

15、mport javax.jws.WebParam;import javax.jws.WebService;WebServicepublic interface IXmlHandlerService public boolean login(WebParam(name=username)String username,WebParam(name=password) String password); public String generateXmlByAppNo(String appNo); public String getName(WebParam(name=username) Strin

16、g username,WebParam(name=password) String password);/注:参数必须加WebParam(name=xxx)2、在项目工程src相应包下建WebService接口的实现类:XmlHandlerServiceImpl.javapackage com.writchie.webservice.impl;import javax.jws.WebService;import com.writchie.webservice.IXmlHandlerService;WebService(endpointInterface=com.writchie.webserv

17、ice.IXmlHandlerService,serviceName=xmlHandlerService)public class XmlHandlerServiceImpl implements IXmlHandlerService Override public boolean login(String username, String password) boolean flag=false; if(admin.equalsIgnoreCase(username)&1.equals(password) flag=true; return flag; Override public Str

18、ing generateXmlByAppNo(String appNo) String xml=; /db find by appNo xml= + 051204780500测试1测试名称吴理琪+ 051204780501测试2测试名称李四+ 051204780502测试3测试名称wRitchie+ 051204780503测试4测试名称王五+ ; return xml; Override public String getName(String username,String password) return 您输入的用户名为:+username+ t密码为: +password; 3、在项

19、目工程src建立服务端的spring的xml:applicationContext-server.xml / 4、在项目工程src建立客户端的spring的xml(可选):applicationContext-client.xml /注:此处与applicationContext-server.xml 的名称xmlHandlerService一致 5、在项目工程src相应包下建客户端测试类(可选):Test.javapackage client;import org.springframework.context.ApplicationContext;import org.springfram

20、ework.context.support.ClassPathXmlApplicationContext;import com.writchie.webservice.IXmlHandlerService;public class Test public static void main(String args) ApplicationContext applicationContext=new ClassPathXmlApplicationContext(applicationContext-client.xml); IXmlHandlerService xmlHandlerService=

21、(IXmlHandlerService)applicationContext.getBean(xmlHandlerServiceClient); boolean flag=xmlHandlerService.login(admin, 1); System.out.println(登录成功标记:+flag); String xml=xmlHandlerService.generateXmlByAppNo(); System.out.println(返回的xml:+xml); System.out.println(xmlHandlerService.getName(吴理琪,1); 6、修改WebC

22、ontent/WEB-INF/web.xml文件:web.xml mwmp contextConfigLocation classpath:applicationContext-server.xml org.springframework.web.context.ContextLoaderListener CXFServlet org.apache.cxf.transport.servlet.CXFServlet 1 CXFServlet /cxf/* /cxf index.html index.htm index.jsp default.html default.htm default.jsp/w

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1