第16讲-SOAP与CXF开发WebService

上传人:无*** 文档编号:148078820 上传时间:2022-09-04 格式:PPTX 页数:42 大小:780.74KB
收藏 版权申诉 举报 下载
第16讲-SOAP与CXF开发WebService_第1页
第1页 / 共42页
第16讲-SOAP与CXF开发WebService_第2页
第2页 / 共42页
第16讲-SOAP与CXF开发WebService_第3页
第3页 / 共42页
资源描述:

《第16讲-SOAP与CXF开发WebService》由会员分享,可在线阅读,更多相关《第16讲-SOAP与CXF开发WebService(42页珍藏版)》请在装配图网上搜索。

1、第五卷:第五卷:XML和WebService服务简单对象访问协议SOAP与CXF开发WebService2回顾q 了解Apache Axis简介q 熟悉Axis应用模型q 掌握安装Axisq 掌握运用 Axis发布Web服务q 了解取消Web服务q 了解Axis23目标q 了解SOAP概念q 理解SOAP消息的结构q 论述SOAP的优点q 了解SOAP的实现q 熟悉CXF的下载和使用q 掌握使用CXF开发WebServiceq 掌握使用动态客户端访问WebService4SOAP简介q是为了解决互联网中分布式计算所存在的互操作性问题而出现的。q采用:HTTP和XML HTTP用于SOAP消息的

2、传输 XML是SOAP的编码模式qSOAP 以XML形式提供了一个简单、轻量的用于在非集中、分布式环境中交换结构化和对象信息的机制。5SOAP组成q 组成:SOAP封装(Envelope),其定义了一个整体框架用来表示消息中包含什么内容,谁来处理内容及处理是可选或是必需的;SOAP编码规则(encoding rules),定义用以交换应用程序的数据类型实例的一系列机制 SOAP RPC表示,定义一个用来表示远程过程调用和应答的协定。SOAP绑定(binding),SOAP绑定使用底层协议传送信息,主要描述SOAP消息如何包含在HTTP消息中进行传送6SOAP设计目标q主要目标是作为一个简单轻便

3、的可扩展框架,以下传统的消息系统和分布式系统的性质不是SOAP规范范围之内:分布式垃圾收集 对象引用 激活机制7SOAP消息q包含3个元素的XML文档信息项SOAP EnvelopeHeader Block AHeader Block BSOAP HeaderSOAP BodySOAP 消息格式SOAP消息的根元素可选元素,是一种以非集中的方式增加SOAP消息功能的通用手法,其每个子元素都称为Header block描述由谁来处理及该处理是可选或必需的。消息体8SOAP消息示例Header block 旅行预订请求SOAP9SOAP消息交换模式qSOAP消息是从发送者向接收者单向传送的。原始发

4、送结点A中间节点B中间节点C最终接收结点D消息路径:由一个或多个处理SOAP消息的中间节点构成。SOAP定义三个属性来控制中间节点和最终接收结点处理Header block:role、relay和mustUnderstandrole:确定Header block所针对的结点mustUnderStand:指示在Header Block未被认出的情况下该节点是否可以忽略 Header Blockrelay:指示该节点是发送还是放弃未被认出的可选Header为通过的消息提供消息滤波能力,处理Header部分处理Body部分10SOAP处理模型当前SOAP节点利用role属性处理所需Headerblo

5、ck集合是否能处理mustUnderstand=true错误消息NY处理消息(删除被处理的HeaderBlock)到最终接收节点?下一节点NY11一个接收SOAP消息的SOAP应用程序必须按顺序执行以下的步骤处理消息:识别应用程序需要的SOAP消息的所有部分;验证消息中的固定部分。如果不支持这些消息就放弃,同时还可以 忽略消息的可选部分而不影响处理的结果;如果该SOAP应用程序不是消息的最终目的地,则在转发消息之前 删除第1步中识别的所有部分SOAP处理过程-112SOAP处理过程-2q中间节点在处理消息时:需要理解使用的交换方式(单向、请求-应答、多路发送等)需要了解消息模式中接收方的任务

6、需要了解使用的RPC机制、数据的表现方法或 编码,以及其它的语义13消息模式发送端接收端R单向发送端接收端R请求-响应发送端RRRR14传输协议独立性qSOAP协议的一个重要特点它独立于底层传输机制q为了确保各种SOAP应用和基础结构之间的互操作性,定义协议绑定是必要的qSOAP1.1规范定义了基于HTTP的协议绑定方式,利用HTTP请求和响应消息来进行SOAP消息交换15SOAP HTTP绑定请求响应POST/path/bank.asmx HTTP/1.1Content-Type:text/xmlSOAPAction:”urn:banking:transfer”soap:EnvelopeHT

7、TP/1.1 200OKContent-Type:text/xmlContent-Length:nnnnSOAp:EnvelopeHTTP/1.1 500 server ErrorContent-Type:text/xmlContent-Length:nnnnSOAp:Envelope必须使用POST请求必须包含标头,消息意图16基于HTTP SOAPqHTTP不是一个可靠的传输协议qHTTP协议基于请求、响应模型,客户端需要等待应答消息的接收完成才能继续执行(同步)17基于JMS SOAP服务请求服务提供客户端应用Web服务API(JAX-RPC)Web服务引擎AXISJMS绑定支持JMS服

8、务实现Web服务API(JAX-RPC)Web服务引擎AXISSOAP消息JMS绑定支持JMSJMS消息CXF WebService开发u开发环境uMyEclipseuTomcat uJdkuCXF2.4.0版18一、准备工作19一、准备工作二、CXF 入门实例步骤1.新建java工程cxfservice导入CXF所依赖的核心jar包详见课本p414页请参考小课课件lib目录下的jar包,直接构建到Java工程中即可二、CXF 入门实例q步骤1:定义DTO(数据传输对象)User类二、CXF 入门实例q步骤1:定义DTO(数据传输对象)User类二、CXF 入门实例q步骤2:编写WebServ

9、ice服务接口二、CXF 入门实例q步骤3:为WebService接口提供实现类q步骤3:为WebService接口提供实现类二、CXF 入门实例q经过以上3步,使用cxf开发WebService所需的服务提供类都已经开发完了,下面使用一个简单的主类来发布WebServie。cxf支持2种常用的发布WebService的方式:1.使用JAX-WS所提供的Endpoint发布WebService。(推荐使用方式,本课程使用此方式)2.使用CXF自身提供的JaxWsServerFactoryBean工厂类发布WebService。(候选方式,不推荐)二、CXF 入门实例q 步骤4:编写服务器类代码

10、,发布WebService服务二、CXF 入门实例q运行结果二、CXF 入门实例q 在WebService发布成功之后,使用浏览器来访问该WebService所对应的WSDL,在浏览器地址栏中输入http:/localhost:9999/crazyit?wsdl,结果如下:二、CXF 入门实例q 如果wsdl查看成功,客户端即可远程调用该WebService,编写客户端调用WebService服务提供的方法二、CXF 入门实例q客户端执行结果三、CXF 开发动态客户端调用已发布WebService服务q准备工作:准备工作:q动态客户端访问,在这种方式下,我们模拟客户端无法接触WebServic

11、e服务提供者的情形。q使用CXF开发动态客户端需要借助于wsdl2java工具,此命令位于apache-cxf-3.0.2bin目录下,进入该目录,运行以下命令:qwsdl2java-frontend jaxws21 http:/localhost:9999/crazyit?wsdlq注意:一定要保证你的服务已经成功发布三、CXF开发动态客户端q 步骤1:进入cmd,运行,如下图所示即为成功,可以在bin目录下看到自动生成的org文件夹三、CXF开发动态客户端q步骤2:新建java工程DynaCXFService,然后直接复制bin目录下的org文件夹到src目录下,如下图示:三、CXF开发动态客户端q步骤3:在工程下新建包和类DynaClient,编写客户端调用远程WebService三、CXF开发动态客户端q步骤3:动态客户端代码三、CXF开发动态客户端q运行结果39总结q了解SOAP概念q理解SOAP消息的结构q论述SOAP的优点q了解SOAP的实现q熟悉CXF的下载和使用q掌握使用CXF开发WebServiceq掌握使用动态客户端访问WebService态度决定命运,专注成就人生!态度决定命运,专注成就人生!Thanks!演讲完毕,谢谢观看!

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!