全部博文(2065)
分类: 系统运维
2009-11-13 14:15:51
WSDL 文档仅仅是一个简单的 XML 文档。
它包含一系列描述某个 web service 的定义。
WSDL 文档是利用这些主要的元素来描述某个 web service 的:
元素 | 定义 |
---|---|
web service 执行的操作 | |
web service 使用的消息 | |
web service 使用的数据类型 | |
web service 使用的通信协议 |
描述这个服务是如何定义的。
它可描述一个 web service、可被执行的操作,以及相关的消息。
可以把
(WSDL相当于是一门新的编程语言一样!)
每个消息均由一个或多个部件组成。可以把这些部件比作传统编程语言中一个函数调用的参数。
为了最大程度的平台中立性,WSDL 使用 XML Schema 语法来定义数据类型。
(把其当作是一个新的编程语言吧!)
示例:
相当于定义了一个类:golssaryTerms
包括了一个方法 getTerm
它有一个输入消息getTermRequest
还有一个输出消息getTermResponse
想一下Django 里面的 def func(request):
return HttpResponse
输入:是一个HTTP请求
输出:是一个HTTP响应
它可描述一个 web service、可被执行的操作,以及相关的消息。
端口定义了指向某个 web service 的连接点。可以把该元素比作传统编程语言中的一个函数库(或一个模块、或一个类),而把每个操作比作传统编程语言中的一个函数。
(心得:我们将其想像成是一个类吧。这样的话类里面是可以包含了许多的操作方法即函数!)请求-响应是最普通的操作类型,不过 WSDL 定义了四种类型:
类型 | 定义 |
---|---|
One-way | 此操作可接受消息,但不会返回响应。 |
Request-response | 此操走可接受一个请求并会返回一个响应 |
Solicit-response | 此操作可发送一个请求,并会等待一个响应。 |
Notification | 此操作可发送一条消息,但不会等待响应。 |
表示请求参数
表示回应参数
在这个例子中,端口 "glossaryTerms" 定义了一个名为 "getTerm" 的 request-response 操作。
"getTerm" 操作会请求一个名为 "getTermRequest" 的输入消息,此消息带有一个名为 "term" 的参数,并将返回一个名为 "getTermResponse" 的输出消息,此消息带有一个名为 "value" 的参数。
如果是用程序语言表示的话就是:
def func(input getTermRequest:string,output getTermResponse string):
一个 请求 - 响应 操作的例子:
阅读(798) | 评论(0) | 转发(0) |