webservice讲课课件
webservice讲课课件
由于简明性和可扩展性的要求,这就意味着有一些传统消息系统 由于简明性和可扩展性的要求, 或分布式对象系统中的特性将不包含在SOAP的核心规范中。这 的核心规范中。 或分布式对象系统中的特性将不包含在 的核心规范中 些特性包括: 些特性包括:
分布式垃圾收集 (distributed garbage collection); 批量消息传输/处理 批量消息传输 处理 (boxcarring or batching of messages); 需要分布式垃圾收集的支持); 对象引用 (objects-by-reference, 需要分布式垃圾收集的支持 需要对象引用的支持)。 对象激活 (activation, 需要对象引用的支持 。
S性和可扩展性。 的主要设计目标是简单性和可扩展性。 的主要设计目标是简单性和可扩展性
简明性主要表现在整个SOAP规范定义的消息结构非常简单(一个 规范定义的消息结构非常简单( 简明性主要表现在整个 规范定义的消息结构非常简单 envelope包含了两个组成部分:header和body),除了这个基本 包含了两个组成部分: ),除了这个基本 包含了两个组成部分 和 ), 消息结构外, 没有定义额外的表述结构标准, 消息结构外,SOAP没有定义额外的表述结构标准,没有定义自己的 没有定义额外的表述结构标准 编码格式,也没有定义自己的传输协议。 编码格式,也没有定义自己的传输协议。 可扩展性则主要表现在SOAP可以使用任意的模式定义方式来定义内 可扩展性则主要表现在 可以使用任意的模式定义方式来定义内 部传输内容的结构,可以与任意的网络传输协议联合使用完成传输。 部传输内容的结构,可以与任意的网络传输协议联合使用完成传输。
SOAP概览 概览
定义 SOAP(Simple Object Access Protocol) ( )
webservice讲课课件
XML文档类型声明
• 文档类型声明指定了文档使用的DTD • 文档类型声明出现在文档的序言部分,
处在XML声明之后和基本元素之前。 • 基本格式 <!DOCTYPE rootname [ DTD] >
其中rootname是根元素 DTD即为文档类型定义
XML文档类型声明
<?xml version="1.0" standalone="yes"?> <!DOCTYPE GREETING [ <!ELEMENT GREETING (#PCDATA)> ]> <GREETING> Hello XML! </GREETING>
零或一个子元素
• a?
<?xml version = “1.0” standalone = “yes”?> <!DOCTYPE DOCUMENT [ <!ELEMENT DOCUMENT(CUSTOMER)?> <!ELEMENT CUSTOMER(#PCDATA)> ]> <DOCUMENT> < CUSTOMER > Sam Smith </ CUSTOMER > </DOCUMENT>
• <!ELEMENT IMG EMPTY>
• <!ELEMENT HR EMPTY>
空元素
<?xml version="1.0" standalone="yes"?> <!DOCTYPE DOCUMENT [ <!ELEMENT DOCUMENT (TITLE,SIGNATURE)> <!ELEMENT TITLE (#PCDATA)> <!ELEMENT SIGNATURE (HR, COPYRIGHT, BR, EMAIL, BR, LAST_MODIFIED)> <!ELEMENT HR EMPTY> <!ELEMENT COPYRIGHT (#PCDATA)> <!ELEMENT BR EMPTY> <!ELEMENT EMAIL (#PCDATA)> <!ELEMENT LAST_MODIFIED (#PCDATA)> ]> <DOCUMENT> <TITLE>Empty Tags</TITLE> <SIGNATURE> <HR/> <COPYRIGHT>1998 Elliotte Rusty Harold</COPYRIGHT><BR/> <EMAIL>elharo@</EMAIL><BR/> <LAST_MODIFIED>Thursday,April 22,1999</LAST_MODIFIED> </SIGNATURE> </DOCUMENT>
webservice培训[1]
•
<wsdl:input message="impl:sayHelloRequest" name="sayHelloRequest" />
•
<wsdl:output message="impl:sayHelloResponse" name="sayHelloResponse" />
•
</wsdl:operation>
• <servlet-mapping> • <servlet-name>SOAPMonitorService</servlet-name> • <url-pattern>/SOAPMonitor</url-pattern> • </servlet-mapping>
PPT文档演模板
webservice培训[1]
具体的程序开发axis
• 具体举例: • 服务器端的类: public class SayHello {
public static String sayHello(String name){
return "Hello"+name;
}
}
这个方法要定义成public 要有返回类型,参数 和具体的返回
PPT文档演模板
PPT文档演模板
webservice培训[1]
具体的程序开发axis
• 1.axis所要用到的包为: axis.jar, axis-ant.jar, commons-discovery-0.2.jar, commons-logging-1.0.4.jar,
webservice技术精品PPT课件
9
A SOAP Request Message
• <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://{soaporg}/envelope/" SOAP-ENV:encodingStyle= "http://{soaporg}/encoding/">
• <SOAP-ENV:Body> <m:QuoteStockPrice xmlns:m="Some-URI"> <Symbol>MSFT</Symbol> </m:QuoteStockPrice>
• <SOAP-ENV:Body> <m:QuoteStockPriceResponse xmlns:m="Some-URI"> <Price>78.2</Price> </m:QuoteStockPriceResponse>
</SOAP-ENV:Body>
• </SOAP-ENV:Envelope>
4
SOAP—web服务的调用
• Simple Object Access Protocol 简单对象访问协议 • Web service建好以后,其他人就会去调用它。简单对象
访问协议(SOAP)提供了标准的远程过程调用( RPC)方法 来调用Web service。SOAP规范定义了SOAP消息的格式, 以及怎样通过HTTP协议来使用SOAP。SOAP也是基于 XML和XSD的,XML是SOAP的数据编码方式。客户端和 服务端之间的方法调用请求和结果返回值都放在这些消息 里。
WebService经典学习教程.ppt
名词2:WSDL – WebService Description Language – Web服务描述语言。
• SOAP的组成如下: • Envelope – 必须的部分。以XML的根元素出现。 • Headers – 可选的。 • Body – 必须的。在body部分,包含要执行的服务器的方法。和发送到服务器的
数据。
以下简单了解一个WSDL,SOAP的格式
WSDL-说明服务在哪里,如何调用,其实就是一个使用说明书:
的WebService是用什么语言写的,都将在客户端生成Java代码.服务器端用什么写的并不 重要. wsimport.exe位于JAVA_HOME\bin目录下. 常用参数为:
• -d<目录> - 将生成.class文件。默认参数。 • -s<目录> - 将生成.java文件。 • -p<生成的新包名> -将生成的类,放于指定的包下。 • (wsdlurl) - http://server:port/service?wsdl,必须的参数。
目前的云计算、云查杀都是一种服务,现在比较流行的说法是SOA(面 向服务的框架)。
既然数据库可以依据某些标准对外部其他应用程序提供服务、而且不关 心对方使用什么语言,那我们为什么就不能实现跨平台、跨语言的服务 呢?
只要我们用Java写的代码,可以被任意的语言所调用,我们就实现了跨 平台,跨语言的服务!
WebService从数据传输格式上作了限定。WebService所使用的数据均是基于XML格式的。目前标准的 WebService在数据格式上主要采用SOAP协议。SOAP协议实际上就是一种基于XML编码规范的文本 协议。
学科前沿技术讲座Web Services技术.ppt
此类服务针对的是那些原先的B2C的网站的改造, 为这些Browser-Oriented的Web应用增加了Web Services的应用界面,使得第三方的桌面工具或其自身 提供的增值的桌面工具能够利用更优秀的用户界面提供 跨越多个B2C服务的桌面服务。这将使得用户使用 Internet更为方便,能够获得更加便捷的服务。比如,我 们完全就可以在个人理财桌面系统中继承(调用) Internet 上的股票价格查询Web Services、机票预定 Web Services等,使得个人理财应用的自动化程度更高。
–内容包括:
(1)Web Services技术介绍 (2)Web Services技术的优势&不足(与传统的分布式计算方
式(J2EE,CORBA等) (3)个人对Web Services技术的观点
– 字数要求:3000字以上(禁止抄袭、转载别人的文档) – 提交方式:纸张 – 提交时间:第五周周末之前
2019/11/25
School of Computer & Communication Engineering China University of Petroleum (CUP)
学科前沿技术讲座
Web Services背景介绍
Web Services的类别
面向设备的Web Services
用家电则可能是一个市场的启动期,有了Web Services作为基础框架,智能型的日用家电将真正 获得标准的支持,从而有了广泛使用的可能。
2019/11/25
School of Computer & Communication Engineering China University of Petroleum (CUP)
webservice课件.ppt
Webservice实际应用案例
Webservice在实际项目开发中的应用是很广泛的。尤其是在电信,金 融,商业等领域。1:webservice是SOA(面向服务)架构的核心技术 。2:网通3G门户广泛应用了webservice技术。(例如产品订购,流媒 体,OTA下载鉴权等)3:移动,联通等通信运营商在他们的增值业务管 理平台也广泛应用了webservice技术。4:潍坊,淄博,临沂等城市 的交警信息查询系统完全采用的webservice技术。实现了 sms,wap,pda,pc等不同终端的查询。
WebService开发实例 一:利用Axis2搭建webservice开发和发布环境 二:利用Myeclipse开发和搭建webservice开发和发布环境 三:利用Myeclipse的Xfire插件开发webservice client 四:利用Axis的wsdl2java生成webservice client调用程序
基于SOAP协议
注:SOAP协议(Simple Object Access Protocal,简单对象访问协 议),它是一个用于分散和分布式环境下网络信息交换的基于XML的通 讯协议。在此协议下,软件组件或应用程序能够通过标准的HTTP协 议进行通讯。它的设计目标就是简单性和扩展性,这有助于大量异构 程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用 户访问。
SOAP
Web service建好以后,你或者其他人就会去调用它。简单对象访问 协议(SOAP)提供了标准的RPC方法来调用Web service。实际上, SOAP在这里有点用词不当:它意味着下面的Web service是以对象 的方式表示的,但事实并不一定如此:你完全可以把你的Web service写成一系列的C函数,并仍然使用SOAP进行调用。SOAP规 范定义了SOAP消息的格式,以及怎样通过HTTP协议来使用SOAP。 SOAP也是基于XML和XSD的,XML是SOAP的数据编码方式。
第一讲WebServicesppt课件-PPT精品文档
部署WebService
使用Web服务过程
(1) (2)
服务
“服务”一词的定义是“作为职业或业务 而为别人所做的工作”
服务
系统服务表示系统的内部基础需求和管理,如安全、存储 应用服务表示用户活动需求,如浏览电子邮件 、故障恢复、事务管理和消息处理 、获取资料和查看股票行情
服务
使用接口可以从其他程 序调用服务
服务需注册到注册表中,这样 搜索者才可以找到该服务
点对点
Web 服务的特征
互操作性:任何的 Web Service都可以与其他 Web Service进行交互。由于有了SOAP这个所有主要供应商都 支持的新标准协议,因而避免了在CORBA、DCOM 和其他 协议之间转换的麻烦。还因为可以使用任何语言来编写 Web Service,因此开发者无需更改其开发环境,就可编 写和使用 Web Service 普遍性:Web Service使用 HTTP 和 XML 进行通信。因此 任何支持这些技术的设备都可以拥有和访问 Web Service。 你可以通过Internet Explore浏览器来访问它,你甚至也可 以通过智能手机来访问它 Web 服务的一个重要特征是支持松散耦合。一个应用程 序可以分解为多个逻辑服务组件,其中的每个服务组件都 可以使用结构框架构建,也可以在物理上分布于多个计算 机之间。松散耦合的另一个重要方面是 Web 服务只在需
, DateTime beginDate, DateTime endDate )
பைடு நூலகம்
此时会查询到航班信息,并显示结果,如图所示
{
Flights.Condition condition = new Air.Class.Flights.Condition(); = arrivalCityId; 单击 condition._ArrivalCityId GetFlightInfo 链接,显示与该图类似的窗口。该窗 condition._DepartureCityId = departureCityId; 口显示四个参数 departureCityId 、arrivalCityId、 condition._BeginDate = beginDate; condition._EndDate = endDate; beginDate 、endDate 及其旁边的文本框。在四个文本框 return flights.GetFlights( condition ); 里分别输入 1、2、2019-1-1和2019-12-31,然后单击 }
Web服务 (Web Service) 技术ppt(共24页)
• HTTP 的普及和 SOAP 的简单性使您几乎可以从任何环境调用它们, 因此成为 XML Web Service 的理想基础。 SOAP 的用户并不直接编写 SOAP 消息,而是使用 SOAP 工具包来创建和分析 SOAP 消息。这些工 具包通常将函数调用从某种语言转换为 SOAP 消息。
课程名称
主讲教师:XXX
第六章
Web服务 (Web Service) 技术
章节内容
31 Web Service 的简介
2 Web Service的主要技术
3 Web Service的应用 4 异构平台的整合
课程名称
什么是Web Service
• 什么是Web Service呢?从表面上看,Web Service就是一个应用程 序,它向外界暴露出一个能够通过Web进行调用的API。这就是说, 你能够用编程的方法通过Web调用来实现某个功能的应用程序。从深 层次上看,Web Service是一种新的Web应用程序分支,它们是自包 含、自描述、模块化的应用,可以在网络(通常为Web)中被描述、发 布、查找以及通过Web来调用。 Web Service便是基于网络的、分布式的模块化组件,它执行特定的 任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼 容的组件进行互操作。它可以使用标准的互联网协议,像超文本传输 协议HTTP和XML,将功能体现在互联网和企业内部网上。Web Service平台是一套标准,它定义了应用程序如何在Web上实现互操 作性。你可以用你喜欢的任何语言,在你喜欢的任何平台上写Web Service。
WebService技术讲义
WEBSERVICE 技术 WEBSERVICE 技术一、WebService介绍 W b S i 介绍 1 为什么会出现Webservice技术? 1、为什么会出现Webservice技术? ●商业需求的问题 ●应用集成问题 ●复杂连接的问题商业需求的问题公司 A移动雇员 移动雇员 远端办公室/客户公司 B远端办公室/客户客户 合作伙伴 供应商商务需求 = 连接无所不在应用集成问题CORBA AppCOM+ AppLegacy System旧的集成模式:复杂连接CORBA AppCOM+ App ppLegacy System新的集成模式复杂连接的问题●对于每个应用,程序员都为每个需要的企业资源或外 ●对于每个应用 程序员都为每个需要的企业资源或外 部资源编写连接代码,以使得应用得以运行。
●程序员还需要编写更多的代码以使得大量的用户能够 访问每个应用。
●应用与应用之间的集成同样需要编写大量的代码 ●代价惊人:需要更多的员工和资金来管理负责纷乱的应用,应 需要更多的员工和资金来管理负责纷乱的应用 应 用间的集成,并维护多种承载应用的基础架构。
2、为什么Web 为什么 b Services是最佳解决方案? 是最佳解决方案 ●HTTP+XML, 最通用的访问方式 ●基于规范协议的访问接口 可支持所有平台和应用 ●基于规范协议的访问接口, ●仅使用 e Se ●仅使用Web Service作为访问界面, ce作为访问界面, 使得所有接入模 块的编写变得容易 ●只有使用Web ●只有使用W b S Services架构, i 架构 今后的大规模的面向公 众的系统对接才成为可能例:旅游咨询业务系统3、Web Service 概述W bS WebService目标 i 目标 ●在现有的各种异构平台的基础上,构筑一个通用 异 个 的,与应用无关、语言无关的技术层,各种不同 平台之上的应用依靠这各技术层来实施彼此的连 实 接和集成; ●传统的的Web技术解决的问题是如何让人来使用 ●传统的的W b技术解决的问题是如何让人来使用 Web应用所提供的服务,而Web Service则要解决 如何让计算机系统来使用W b应用所提供的服务 如何让计算机系统来使用Web应用所提供的服务。
webservice基础培训PPT课件
(3).元素引用
element元素是用于声明在ElemntType 中引用的元素。其语法表达式为:
<element type=“元素类型” [minOccurs="{ 0 | 1 }"] [maxOccurs="{ 1 | * }"] >
注:type唯一指定了要引用的元素类型,因此其取值必须同 ElementType中的name属性严格一致。
1.URL(Universal Resource Locator统一资源定位符):不仅定 义了从何处获取资源,而且还定义了如何获取资源(即采用何种 协议http或FTP)
2.URN:就是代表一个资源与位置无关的串:至于资源在何处或如 何到达资源则没有任何要求,因为一个URN只是一个唯一性串。其 语法提供了全局唯一性。
6
1.一个XML的例子:
〈笔记本电脑 更新时间=“2002-06-12T12:00“〉
<品牌> ACER </品牌>
<价格>22800 </价格>
<库存数量>239000</库存数量>
〈/笔记本电脑>
7
2.XML的命名空间:
为了唯一的标识XML元素,大家必须使用全局唯一的标示符URI. URI 是 一 个 唯 一 的 标 识 一 个 资 源 的 串 ( Uniform Resource Identifier) ,URI分 成了 两 个子 类 , 一 个是URL, 一 个是URN (Uniform Resource Name)。
urn:<namespace-identifer>:<namespaceቤተ መጻሕፍቲ ባይዱspecfic-string> 例:urn:foo-bar:foobar.1 用于解析URN的Internet协议还没有出台,其工作方式与DNS解
WebService编程第四章讲稿精品PPT课件
下面的示例显示了如何在嵌套的命名空间中调用静态方法。
using System;
namespace ConsoleApplication2
{
public class MyClass
{ public static void Main()
{ Nested.NestedNameSpaceClass.SayHello(); }
initializer 创建对象的表达式。
statement 嵌入的语句或要执行的语句。
注意: 在 using 语句中创建一个实例,确保退
出 using 语句时在对象上调用 Dispose。当 到达 using 语句的末尾,或者如果在语句结 束之前引发异常并且控制离开语句块,都可 以退出 using 语句。
// use MyFont and MyFont2 } // compiler will call Dispose on MyFont and MyFont2 Font MyFont3 = new Font("Arial", 10.0f); using (MyFont3) {
// use MyFont3 } // compiler will call Dispose on MyFont3 } }
Web Service 编程
------C#.NET源自第四章 C#高级编程本章要点:
➢名称空间:作为C#的元素,名称空间可以用来帮助组织程 序结构,可以避免两套代码集中命名的冲突
➢异常处理:异常将导致不完善或不需要的结果,因此在程 序设计中需要处理异常。C#也提供了这种功能,这里就 要详细地讲述C#中的异常处理,这能够帮助我们编写更 加合理的程序
4.1.2 示例
示例 // cs_using_statement.cs // compile with /reference:System.Drawing.dll using System.Drawing; class a {
第二讲WebServices体系结构和基础技术ppt课件
Web Services 协议栈
WSFL
Layer
Business Issues
服务流程 安全 管理 服务质量
Static->UDDI
服务发现
Direct->UDDI
服务发布
WSDL
服务描述
SOAP
基于XML的
消息传递
HTTP,FTP,Email,MQ,IIOP 网络
Web Services 协议栈
第二讲WebServices体系结构和基础技术ppt课件
回顾
Web 服务是一种自包含、自解释、模块化的应用 程序,它能够在 Web 上发布、定位和调用
Web 服务结构主要由以下层组成: 数据存储 数据访问 Web 服务逻辑 Web 服务外观 侦听器层
[WebMethod] 标签通知 编译器,接下来 的方法是一个 Web 方法,它将导出到 Web
XML SOAP WSDL UDDI 后面章节将详细讲解这些技术
Machine A
Invoke
WSDL proxy
1 通讯协议 2 消息格式 3 描述语言 4 发现机制
request
2
XML
response
1 HTTP + SOAP
3
WSDL
4
Machine B
Web Service
WSDL stub
UDDI Server WSDL WSDL WSDL
Web Services 工作流程
UDDI
Web Servi
ce
Design-Time or Dynamic
Runtime
Web Services 技术
XML SOAP WSDL UDDI
WebServiceppt
Web Service优点
一、跨防火墙的通信 如果中间层组件换成Web Service的话,就 可以从用户界面直接调用中间层组件,从而省掉 建立ASP页面的那一步。要调用Web Service, 可以直接使用Microsoft SOAP Toolkit或.NET这样 的SOAP客户端,也可以使用自己开发的SOAP客 户端,然后把它和应用程序连接起来。不仅缩短 了开发周期,还减少了代码复杂度,并能够增强 应用程序的可维护性。同时,应用程序也不再需 要在每次调用中间层组件时,都跳转到相应的 “结果页”。
SOAP 是一种通信协议 SOAP 用于应用程序之间的通信 SOAP 是一种用于发送消息的格式 SOAP 被设计用来通过因特网进行通信 SOAP 独立于平台 SOAP 独立于语言 SOAP 基于 XML SOAP 很简单并可扩展 SOAP 允许您绕过防火墙 SOAP 将作为 W3C 标准来发展
UDDI
发布(Publish) 查找(Find) 绑定/调用(Bind/Invoke)
Client Application
Web Service
SOAP
Web Service优点
一、跨防火墙的通信 如果应用程序有成千上万的用户,而且分布 在世界各地,那么客户端和服务器之间的通信将 是一个棘手的问题。因为客户端和服务器之间通 常会有防火墙或者代理服务器。 举个例子,在应用程序里加入一个新页面, 必须先建立好用户界面(Web页面),并在这个页 面后面,包含相应商业逻辑的中间层组件,还要 再建立至少一个ASP页面,用来接受用户输入的 信息,调用中间层组件,把结果格式化为HTML 形式,最后还要把“结果页”送回浏览器。要是 客户端代码不再如此依赖于HTML表单,客户端 的编程就简单多了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
WSDL文档结构
• • •
• • • •
语法中使用了6个主要元素对服务进行了定义: types(类型),它提供了用于描述正在交换的消息的数据类型 定义 message(消息),它表示了正在传递的数据的抽象定义。消 息包括多个逻辑部分,每一部分与某种类型系统中的一个定义相 关联 portType(端口类型),它是一组抽象操作。每个操作指向一 个输入消息和多个输出消息 binding(绑定),它为由特定端口类型定义的操作和消息指定 具体的协议和数据格式规范 port(端口),它指出用于绑定的地址,因此定义了单个通讯终 端 service(服务),它用于集成一组相关的端口。 引用文档定义, 使用语言扩展,增加上下文文档的规则
示例
<types> <schema targetNamespace="/stockquote.xsd" xmlns="/2000/10/XMLSchema"> <element name="TradePriceRequest"> <complexType> <all> <element name="tickerSymbol" type="string"/> </all> </complexType> </element> <element name="TradePrice"> <complexType> <all> <element name="price" type="float"/> </all> </complexType> </element> </schema> </types>
示例
<?xml version="1.0"?> <definitions name="StockQuote" targetNamespace="/stockquote.wsdl" xmlns:tns="/stockquote.wsdl" xmlns:xsd1="/stockquote.xsd" xmlns:soap="/wsdl/soap/" xmlns="/wsdl/">
WSDL
描述Web服务
提纲
• WSDL概述 • WSDL文档结构 types message operation portType binding port service
Web服务体系结构
Web服务协议栈
WSDL概述
• WSDL的发展
借助普通对象环境下的相关应用背景,人们逐渐开始尝试使用类似 IDL的技术来描述SOAP Web服务的界面 自最初引人SOAP后,在业界曾出现过多种基于XML的接口说明语 言(IDL),其中包括IBM NASSL(Network Accessible Service Specificaiton Language,可访问的网络服务规范语言)、 Microsoft的SDL(Service Description Language,服务描述语 言)和SCL(SOAP Contract Language,SOAP协约语言)等。 在IBM、Microsoft和Ariba的共同努力下,WSDL诞生了,并在 2000年9月由IBM、Microsoft和Ariba共同制定了Web Services Description Language1.0了 经过一段时间的广泛应用和技术的验证,WSDL的应用群体大大增 加,拓展到了诸如Bea System、Bowstreet、Commerce One、 HP、Oracle等主流软件公司 由IBM、Microsoft和Ariba为首包括这些软件公司的企业一起向 W3C提交了WSDL1.1版。2001年3月,W3C接受了之一提案作为 W3C Notes,这标志着WSDL由业界标准向国际标准的变迁迈出了 第一步
示例
<binding name="StockQuoteSoapBinding“ type="tns:StockQuotePortType"> <soap:binding style="document“ transport="http://schemas.xmlsoa /soap/http"/> <operation name="GetLastTradePrice"> <soap:operation soapAction="/GetLastTradePrice"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding>
WSDL内容
• Types - 数据类型定义的容器,它使用某种类型系统 • •
•
• •
•
(一般地使用XML Schema中的类型系统) Message - 通信消息的数据结构的抽象类型化定义。 使用Types所定义的类型来定义整个消息的数据结构 Operation - 对服务中所支持的操作的抽象描述,一 般单个Operation描述了一个访问入口的请求/响应消 息对 PortType - 对于某个访问入口点类型所支持的操作的 抽象集合,这些操作可以由一个或多个服务访问点来 支持 Binding - 特定端口类型的具体协议和数据格式规范 的绑定 Port - 定义为协议/数据格式绑定与具体Web访问地 址组合的单个服务访问点。 Service- 相关服务访问点的集合
WSDL文档结构
<wsdl:service name="nmtoken"> * <wsdl:documentation .... />? <wsdl:port name="nmtoken" binding="qname"> * <wsdl:documentation .... /> ? <-- extensibility element --> </wsdl:port> <-- extensibility element --> </wsdl:service> <-- extensibility element --> * </wsdl:definitions>
WSDL概念
• Web 服务描述语言(Web Services
Description Language,WSDL)是 用于描述Web服务的一种XML语言,它 以一种结构化的方式将Web服务描述为 一组对消息进行操作的网络端点 • 一个WSDL服务描述包含对一组操作和 消息的一个抽象定义,绑定到这些操作 和消息的一个具体协议,和这个绑定的 一个网络端点规范
WSDL内容
• WSDL文档将服务定义为服务访问点或端口的
•
•
• •
集合 在 数据格式绑定中分 离出来,因此可以对抽象定义进行再次使用 消息,指对交换数据的抽象描述;而端口类型, 指操作的抽象集合 用于特定端口类型的具体协议和数据格式规范 构成了可以再次使用的绑定 将Web访问地址与可再次使用的绑定相关联, 可以定义一个端口,而端口的集合则定义为服 务
示例
<message name="GetLastTradePriceInput"> <part name="body“ element="xsd1:TradePriceRequest"/> </message> <message name="GetLastTradePriceOutput"> <part name="body" element="xsd1:TradePrice"/> </message> <portType name="StockQuotePortType"> <operation name="GetLastTradePrice"> <input message="tns:GetLastTradePriceInput"/> <output message="tns:GetLastTradePriceOutput"/> </operation> </portType>
WSDL文档结构
<wsdl:binding name="nmtoken" type="qname">* <wsdl:documentation .... />? <-- extensibility element --> * <wsdl:operation name="nmtoken">* <wsdl:documentation .... /> ? <-- extensibility element --> * <wsdl:input> ? <wsdl:documentation .... /> ? <-- extensibility element --> </wsdl:input> <wsdl:output> ? <wsdl:documentation .... /> ? <-- extensibility element --> * </wsdl:output> <wsdl:fault name="nmtoken"> * <wsdl:documentation .... /> ? <-- extensibility element --> * </wsdl:fault> </wsdl:operation> </wsdl:binding>