wsdl
什么是WSDL
什么是WSDLWSDL是一种描述网络服务(network service)的XML格式,网络服务是能对面向文档类型的信息和面向过程的信息进行操作的端点(endpoint)的集合。
对操作和消息的描述是抽象性的,并在定义端点时,将消息和操作绑定到具体的网络协议和消息格式上。
WSDL是可扩展的,它允许对端点和端点间的消息进行描述,同时不去考虑具体的消息格式或者双方用于通讯的网络协议。
一简介随着通讯协议和消息格式在WEB中的标准化,以某种格式化的方法描述通讯变得越来越重要并且其实现的可能性也越来越大。
WSDL通过定义一套XML的语法来描述网络服务的方式满足了这种需求。
WSDL把网络服务定义成一个能交换消息的通讯端点集(communication collection)。
WSDL服务为分布式系统提供了帮助文档,同时该服务也可作为自动实现应用间通讯的解决方案。
一个WSDL文档将服务定义为一个网络端点的集合,或者说端口的集合。
在WSDL里面,端点及消息的抽象定义与它们具体的网络实现和数据格式绑定是分离的。
这样就可以重用这些抽象定义:消息,需要交换的数据的抽象描述;端口类型,操作的抽象集合。
针对一个特定端口类型的具体协议和数据格式规范构成一个可重用的绑定。
一个端口定义成网络地址和可重用的绑定的联接,端口的集合定义为服务。
因此一个WSDL文档在定义网络服务的时候使用如下的元素:类型–使用某种的类型系统(比如XSD)定义数据类型的容器消息–通讯数据抽象的有类型的定义操作–服务支持的动作的抽象描述端口类型–一个操作的抽象集合,该操作由一个或多个端点支持绑定–针对一个特定端口类型的具体的协议规范和数据格式规范端口–一个单一的端点,定义成一个绑定和一个网络地址的联接服务–相关的端点的集合我们可以注意到WSDL并没有引入一种新的类型语言,这一点非常重要。
为了描述消息的结构,需要具有丰富类型的系统,WSDL意识到了这种需求,因此它支持XML的schema 规范作为它的规范的类型系统。
java解析wsdl文档获取方法与参数
java解析wsdl文档获取方法与参数Java是一种流行的编程语言,它提供了多种方法来解析WSDL文档,从而获取方法和参数。
本文将分步骤阐述如何使用Java解析WSDL 文档以获取方法和参数。
1. 首先,我们需要了解什么是WSDL。
WSDL全称为Web Services Description Language,即Web服务描述语言。
它是一种XML格式的文档,用于描述Web服务的接口和相关信息。
2. 在Java中,我们可以使用JAX-WS包来解析WSDL文档。
JAX-WS是Java API for XML Web Services的缩写,它提供了一个标准的方式来创建和部署Web服务。
3. 要解析WSDL文档,我们需要创建一个JAX-WS客户端。
可以通过使用wsimport命令生成JAX-WS客户端代码,该命令将根据WSDL 文档生成客户端Java类。
4. 使用JAX-WS客户端代码,我们可以使用以下步骤来获取WSDL 文档中的方法和参数。
a. 创建一个服务对象,该对象包含服务的名称和所需的端口。
例如,以下代码片段创建了一个服务对象,该对象包含名称为“HelloService”的服务和名为“HelloPort”的端口。
```HelloService service = new HelloService();HelloPort port = service.getHelloPort();```b. 使用端口对象调用Web服务的方法。
例如,以下代码片段调用了“HelloWorld”方法,并传递了一个字符串参数。
```String response = port.HelloWorld("David");```c. 通过调用“getBinding”方法获取服务端点的绑定。
例如,以下代码片段获取服务端点的绑定。
```Binding binding = port.getBinding();```d. 通过调用“getBindingOperation”方法获取绑定操作。
WSDL文件结构详解
wsdl文件结构分析WSDL (Web Services Description Language,Web服务描述语言)是一种XML Application,他将Web服务描述定义为一组服务访问点,客户端可以通过这些服务访问点对包含面向文档信息或面向过程调用的服务进行访问(类似远程过程调用)。
WSDL首先对访问的操作和访问时使用的请求/响应消息进行抽象描述,然后将其绑定到具体的传输协议和消息格式上以最终定义具体部署的服务访问点。
相关的具体部署的服务访问点通过组合就成为抽象的Web服务。
本文将详细讲解WSDL文档的结构,并分析每个元素的作用。
一:WSDL定义WSDL是一个用于精确描述Web服务的文档,WSDL文档是一个遵循WSDL XML模式的XML文档。
WSDL 文档将Web服务定义为服务访问点或端口的集合。
在 WSDL 中,由于服务访问点和消息的抽象定义已从具体的服务部署或数据格式绑定中分离出来,因此可以对抽象定义进行再次使用:消息,指对交换数据的抽象描述;而端口类型,指操作的抽象集合。
用于特定端口类型的具体协议和数据格式规范构成了可以再次使用的绑定。
将Web访问地址与可再次使用的绑定相关联,可以定义一个端口,而端口的集合则定义为服务。
一个WSDL文档通常包含7个重要的元素,即types、import、message、portType、operation、binding、 service元素。
这些元素嵌套在definitions 元素中,definitions是WSDL文档的根元素。
文章的下一部分将会详细介绍WSDL 的基本结构。
二:WSDL的基本结构--概述如第一部分最后描述的那样,一个基本的WSDL文档包含7个重要的元素。
下面将分别介绍这几个元素以及他们的作用。
WSDL 文档在Web服务的定义中使用下列元素:· Types - 数据类型定义的容器,它使用某种类型系统(一般地使用XML Schema中的类型系统)。
WEB服务描述语言
第5章WEB服务描述语言内容摘要:WSDL是一个基于XML的语言,用来描述WEB服务接口方法、调用方法所使用的协议,方法的参数以及参数的数据类型等内容。
总之,WSDL中包含了访问WEB服务需要的所有数据。
了解WSDL可以加深对WEB服务的理解,并可以对自动生成的WSDL文档进行调整,以及解决一些与WSDL相关的问题。
学习目标:了解WSDL的概念掌握WSDL的文档结构掌握WSDL文档元素的作用WSDL概念:WEB服务的描述语言,相当于WEB服务使用说明书。
WSDL文档结构具体这5个元素的功能和作用:types:定义了WEB服务使用的所有数据类型集合,可被各消息组件所引用。
通常使用XML Schema作为类型系统来描述。
messages:定义了消息和消息传输的抽象类型化定义。
porttype:是一个抽象操作的列表,定义了所有操作和返回的逻辑消息。
bingding:为每个具体的端口类型定义消息格式和协议。
services:定义了WEB服务的URL地址信息。
WSDL 接口定义前三个元素是抽象定义,后两个元素是具体实现。
实例:<?xml version="1.0" encoding="utf-8" ?>-<wsdl:definitions xmlns:soap="/wsdl/soap/" xmlns:tm="/wsdl/mime/textMatching/"xmlns:soapenc="/soap/encoding/"xmlns:mime="/wsdl/mime/"xmlns:tns="/"xmlns:s="/2001/XMLSchema"xmlns:soap12="/wsdl/soap12/"xmlns:http="/wsdl/http/"targetNamespace="/"xmlns:wsdl="/wsdl/">-<wsdl:types>-<s:schema elementFormDefault="qualified"targetNamespace="/">-<s:element name="HelloWorld"><s:complexType/></s:element>-<s:element name="HelloWorldResponse">-<s:complexType>-<s:sequence><s:element minOccurs="0" maxOccurs="1" name="HelloWorldResult"type="s:string" /></s:sequence></s:complexType></s:element>-<s:element name="GetDataSet"><!-- WEBBANK 服务端第一个函数对应的XML元素-->+<s:complexType></s:element>-<s:element name="GetDataSetResponse"><!-- WEBBANK 服务端第一个函数对应的XML元素的响应元素-->-<s:complexType>-<s:sequence>-<s:element minOccurs="0" maxOccurs="1" name="GetDataSetResult"> <!-- WEBBANK 服务端第一个函数对应的形参>-<s:complexType>-<s:sequence><s:element ref="s:schema" /><s:any/></s:sequence></s:complexType></s:element></s:sequence></s:complexType></s:element>-<s:element name="executeSQL"><!-- WEBBANK 服务端第三个函数对应的XML元素-->-<s:complexType>-<s:sequence><s:element minOccurs="0" maxOccurs="1" name="sql" type="s:string" /> <!-- WEBBANK 服务端第三个函数对应的形参“sql”的XML元素--></s:sequence></s:complexType></s:element>-<s:element name="executeSQLResponse"><!-- WEBBANK 服务端第三个函数对应的XML元素的响应元素-->-<s:complexType>-<s:sequence><s:element minOccurs="1" maxOccurs="1" name="executeSQLResult"<!-- WEBBANK 服务端第三个函数对应的形参>type="s:int" /></s:sequence></s:complexType></s:element></s:schema></wsdl:types><!-- message部分-->-<wsdl:message name="HelloWorldSoapIn"><wsdl:part name="parameters" element="tns:HelloWorld" /></wsdl:message>-<wsdl:message name="HelloWorldSoapOut"><wsdl:part name="parameters" element="tns:HelloWorldResponse" /> </wsdl:message>-<wsdl:message name="GetDataSetSoapIn"><!-- WEBBANK 服务端第一个函数MESSAGE 元素中的输入方法GetDataSetSoapIn --><wsdl:part name="parameters" element="tns:GetDataSet" /><!-- 输入方法GetDataSetSoapIn 中大part元素parameters 类型由GetDataSet决定--></wsdl:message>-<wsdl:message name="GetDataSetSoapOut"><!-- WEBBANK 服务端第一个函数MESSAGE 元素中的输出方法GetDataSetSoapOut--><wsdl:part name="parameters" element="tns:GetDataSetResponse" /><!-- 输入方法GetDataSetSoapOut 中的part元素parameters 类型由GetDataSeResponset决定--></wsdl:message>-<wsdl:message name="executeSQLSoapIn"><!-- WEBBANK 服务端第三个函数MESSAGE 元素中的输入方法executeSqLSoapIn --><wsdl:part name="parameters" element="tns:executeSQL" /><!-- 输入方法executeSqLSoapIn 中的part元素parameters 类型由executeSqL决定--></wsdl:message>-<wsdl:message name="executeSQLSoapOut"><!-- WEBBANK 服务端第三个函数MESSAGE 元素中的输出方法executeSqLSoapOut --><wsdl:part name="parameters" element="tns:executeSQLResponse" /><!-- 输出方法executeSqLSoapOut 中的part元素parameters 类型由executeSqLResponse决定--></wsdl:message>-<wsdl:portType name="ServiceSoap"><!--portType部分,由portType元素定义,可以包含多个operation子元素> <!--整个portType部分,就相当于描述了方法string HelloWorld()DataSet GetDataSet(string safeSql),int executeSQL(string sql) >-<wsdl:operation name="HelloWorld"><wsdl:input message="tns:HelloWorldSoapIn" /><wsdl:output message="tns:HelloWorldSoapOut" /></wsdl:operation>-<wsdl:operation name="GetDataSet"><!--portType部分,包含的operation子元素GetDataSet ><wsdl:input message="tns:GetDataSetSoapIn" /><wsdl:output message="tns:GetDataSetSoapOut" /><!--operation元素下input和output子元素的message属性引用message部分的message元素></wsdl:operation>-<wsdl:operation name="executeSQL"><!--portType部分,包含的operation子元素executeSQL ><wsdl:input message="tns:executeSQLSoapIn" /><wsdl:output message="tns:executeSQLSoapOut" /><!--operation元素下input和output子元素的message属性引用message部分的message元素></wsdl:operation></wsdl:portType><!--binding部分的第一个binding元素名为ServiceSoap,绑定的portType为ServiceSoap -->-<wsdl:binding name="ServiceSoap" type="tns:ServiceSoap"> <soap:binding transport="/soap/http" /><!-- 元素指定的SOAP消息的网络协议-->-<wsdl:operation name="HelloWorld"><soap:operation soapAction="/HelloWorld"style="document" />-<wsdl:input><soap:body use="literal" /></wsdl:input>-<wsdl:output><soap:body use="literal" /></wsdl:output></wsdl:operation>-<wsdl:operation name="GetDataSet"><soap:operation soapAction="/GetDataSet"style="document" /><!-- opertion元素中的soapAction属性,它的值是一个URL>-<wsdl:input><soap:body use="literal" /></wsdl:input>-<wsdl:output><soap:body use="literal" /></wsdl:output></wsdl:operation>-<wsdl:operation name="executeSQL"><soap:operation soapAction="/executeSQL"style="document" />-<wsdl:input><soap:body use="literal" /><! wsdl文档端口输入框架结构--></wsdl:input>-<wsdl:output><soap:body use="literal" /><!wsdl文档端口输出框架结构--></wsdl:output></wsdl:operation></wsdl:binding><!--binding部分的第二个binding元素名为ServiceSoap12,绑定的portType为ServiceSoap -->-<wsdl:binding name="ServiceSoap12" type="tns:ServiceSoap"><!定义端口名称和类型,将服务访问点的抽象定义与SOAP HTTP绑定--><soap12:binding transport="/soap/http" />-<wsdl:operation name="HelloWorld"><soap12:operation soapAction="/HelloWorld"style="document" /><!定义了一个操作”HelloWorld”方法的访问入口为”/HelloWorld”-->-<wsdl:input><soap12:body use="literal" /><!wsdl文档端口输入框架结构--></wsdl:input>-<wsdl:output><soap12:body use="literal" /><!wsdl文档端口输出框架结构--></wsdl:output></wsdl:operation>-<wsdl:operation name="GetDataSet"><soap12:operation soapAction="/GetDataSet"style="document" /><!定义了一个操作”HelloWorld”方法的访问入口为”/GetDataSet”-->-<wsdl:input><soap12:body use="literal" /><!wsdl文档端口输入框架结构--></wsdl:input>-<wsdl:output><soap12:body use="literal" /><!wsdl文档端口输出框架结构--></wsdl:output></wsdl:operation>-<wsdl:operation name="executeSQL"><soap12:operation soapAction="/executeSQL"style="document" /><!定义了一个操作”HelloWorld”方法的访问入口为”/executeSQL”-->-<wsdl:input><soap12:body use="literal" /><!wsdl文档端口输入框架结构--></wsdl:input>-<wsdl:output><soap12:body use="literal" /><!wsdl文档端口输出框架结构--></wsdl:output></wsdl:operation></wsdl:binding><!--service部分,作用是把前面的绑定与实际的Web服务位置联系起来-->-<wsdl:service name="Service"><!web服务的服务名称-->-<wsdl:port name="ServiceSoap" binding="tns:ServiceSoap"><!wsdl 端口名称框架结构--><soap:address location="http://localhost:8452/WebSite2/Service.asmx"/><!--通过address元素的location属性指定Web服务的完整URL --></wsdl:port><!wsdl端口-->-<wsdl:port name="ServiceSoap12" binding="tns:ServiceSoap12"> <soap12:address location="http://localhost:8452/WebSite2/Service.asmx"/><!wsdl端口名称和端口的消息格式及定义--><!--通过address元素的location属性指定Web服务的完整URL --></wsdl:port></wsdl:service></wsdl:definitions>。
SOAP、WSDL、UDDI
WSDL Bindings
<binding> 元素为每个端口定义消息格式和协议细节。
operation 元素定义了每个端口提供的操作符。 Service:描述一个具体的被部署的Web服务所提供的所有
访问入口的部署细节 Port:定义为协议/数据格式绑定与具体Web访问地址组合
的单个服务访问点
<input message="getTermRequest"/> <output message="getTermResponse"/> </<wsdl:operation> </ wsdl:portType >
例子
在这个例子中,<portType> 元素把 "glossaryTerms" 定 义为某个端口的名称,把 "getTerm" 定义为某个操作的名 称。
uudi的核心组件是uddi商业注册,它使用一个xml文档来描述企 业及其提供的web服务
uddi注册提供三部分信息:包含了关于业务、服务和服务绑定 的信息,以及用于进行分类的其他元数据
UDDI 基于什么?
UDDI 使用 W3C(万维网联盟 ) 和 IETF(互联网工程任务 组 ) 的因特网标准,比如 XML、HTTP 和 DNS 协议
soap<Body>:是soap的消息体,由多个子元素构成
uddi、soap、wsdl的关系
练习
使用web服务完成通知管理系统
主要元素是 contractRef,它属于余下 DISCO 相关元素之外 的不同命名空间。contractRef 有两个属性:ref 和 docRef ,它们指向用于给定的 Web 服务的 WSDL 和文档文件。
如何看懂一个WSDL文档
如何看懂一个WSDL文档WSDL 指网络服务描述语言 (Web Services Description Language)。
一个WSDL文档是一个服务的描述,它描述了:服务名,服务地址,服务能用什么协议访问,服务有哪些方法,每个方法有几部分参数,每个参数的类型。
在一个WSDL文档中,你最经常看到的元素前缀会有wsdl、soap、xsd。
当然这些前缀是与命名空间URI对应的,前缀是可以自己定义的,或许与此不同,但大都这么定义。
WSDL在设计时,充分考虑了,各个元素模块的重用(好像一个类中定义了一些方法,可被不同方法共同调用)如:wsdl:binding、wsdl:portType、wsdl:message,你定义的这个元素可能被几个地方引用到。
所以WSDL设计者把它设计的够精简、灵活。
下面我基于WSDL 1.2 语法分别对三个命名空间的经常用到的元素解释一下:最好从下往上看//文档的根元素,表示这是一个服务的定义,在此定义中默认的名字空间URI 为“http://axisversion.sample”.<wsdl:definitions xmlns:axis2="http://axisversion.sample"xmlns:mime="/wsdl/mime/"xmlns:ns0="http://axisversion.sample/xsd"xmlns:soap12="/wsdl/soap12/"xmlns:http="/wsdl/http/"xmlns:ns1="http://org.apache.axis2/xsd"xmlns:xs="/2001/XMLSchema"xmlns:soap="/wsdl/soap/"xmlns:wsdl="/wsdl/"targetNamespace="http://axisversion.sample"><wsdl:documentation>This service is to get the running Axis version</wsdl:documentation>//为它表示所有消息中能使用的基本元素类型,如一个方法三个参数的其中一个参数的类型。
wsdl文件用法(一)
wsdl文件用法(一)WSDL文件简介WSDL(Web Services Description Language)是一种用于描述WebService的XML格式文件。
它定义了WebService的接口、参数、操作和数据格式等信息,可以帮助开发者了解和使用特定的WebService。
WSDL文件的用途•WebService接口定义:WSDL文件提供了详细的WebService接口定义,包括可用操作、输入参数和输出结果等信息。
开发者可以通过查看WSDL文件来理解和调用特定WebService。
•自动生成客户端代码:WSDL文件可以用于生成客户端代码,使开发者可以更方便地调用WebService。
许多开发框架和工具(如SOAPUI、Apache CXF)都支持根据WSDL生成客户端代码。
•WebService测试:WSDL文件可以作为测试的依据,测试人员可以根据WSDL文件中定义的接口和操作,编写相关的测试用例和断言条件。
•WebService文档化和交流:WSDL文件可以作为文档,用于记录WebService的接口和数据格式等定义,便于开发者和团队之间的交流和理解。
WSDL文件的结构•Definitions:WSDL文件的根元素,包含了整个文件的定义和命名空间等信息。
•Types:定义了WebService中使用的数据类型,可以是基本类型、复合类型或自定义类型。
•Message:定义了WebService的消息,包括消息的名称和消息中使用的数据类型。
•PortType:定义了WebService的接口,包括可用的操作和操作的输入输出等信息。
•Binding:将WebService的接口定义与具体的通信协议绑定在一起,如SOAP、HTTP等。
•Service:定义了WebService的服务地址和服务的实现名称等信息。
WSDL文件的编写和使用1.创建WSDL文件:可以使用文本编辑器创建一个扩展名为.wsdl的文件。
WSDL教程
WSDL 教程WSDL(网络服务描述语言,Web Services Description Language)是一门基于 XML 的语言, (网络服务描述语言, 的语言, ) 以及如何对它们进行访问. 用于描述 Web Services 以及如何对它们进行访问.开始学习 WSDL!内容目录WSDL 简介 本章讲解 WSDL 的概念. WSDL 文档 本章讲解 WSDL 文档的主要部分. WSDL 端口 本章讲解 WSDL 端口界面 (WSDL port interface). WSDL 绑定 本章讲解 WSDL binding interface. WSDL 和 UDDI 本章讲解 UDDI 如何与 WSDL 进行整合. (UDDI: Universal Description Discovery and Integration.) WSDL 语法 在 W3C note 中被列出的完整的 WSDL 语法. WSDL 总结 本节向您推荐了在学习了 WSDL 教程之后,应该继续学习的内容.WSDL 简介WSDL 是基于 XML 的用于描述 Web Services 以及如何访问 Web Services 的语言. 的语言.您应当具备的基础知识在继续学习之前,您需要对下面的知识有基本的了解: XML XML 命名空间 XML Schema如果您希望首先学习这些项目,请访问我们的 XML 系列教程.什么是 WSDL? WSDL 指网络服务描述语言 WSDL 使用 XML 编写 WSDL 是一种 XML 文档 WSDL 用于描述网络服务 WSDL 也可用于定位网络服务 WSDL 还不是 W3C 标准WSDL 可描述网络服务(Web Services) 可描述网络服务( )WSDL 指网络服务描述语言 (Web Services Description Language).WSDL 是一种使用 XML 编写的文档.这种文档可描述某个 Web service.它可规定服务的位置,以及 此服务提供的操作(或方法).在 W3C 的 WSDL 发展史在 2001 年 3 月,WSDL 1.1 被 IBM,微软作为一个 W3C 纪录(W3C note)提交到有关 XML 协 议的 W3C XML 活动,用于描述网络服务.(W3C 纪录仅供讨论.一项 W3C 纪录的发布并不代表它已被 W3C 或 W3C 团队亦或任何 W3C 成 员认可.)在 2002 年 7 月,W3C 发布了第一个 WSDL 1.2 工作草案.请在我们的 W3C 教程 阅读更多有关规范的状态及时间线.WSDL 文档WSDL 文档仅仅是一个简单的 XML 文档. 文档.的定义. 它包含一系列描述某个 web service 的定义.WSDL 文档结构WSDL 文档是利用这些主要的元素来描述某个 web service 的: 元素 定义 web service 执行的操作 web service 使用的消息 web service 使用的数据类型 web service 使用的通信协议<portType><message><types><binding>一个 WSDL 文档的主要结构是类似这样的:<definitions><types>definition of types........</types><message>definition of a message....</message><portType>definition of a port.......</portType><binding>definition of a binding....</binding></definitions>WSDL 文档可包含其它的元素, 比如 extension 元素, 以及一个 service 元素, 此元素可把若干个 web services 的定义组合在一个单一的 WSDL 文档中.如需完整的语法概述,请访问 WSDL 语法 这一节.WSDL 端口<portType> 元素是最重要的 WSDL 元素.它可描述一个 web service,可被执行的操作,以及相关的消息.可以把 <portType> 元素比作传统编程语言中的一个函数库(或一个模块,或一个类).WSDL 消息<message> 元素定义一个操作的数据元素.每个消息均由一个或多个部件组成.可以把这些部件比作传统编程语言中一个函数调用的参数.WSDL types<types> 元素定义 web service 使用的数据类型.为了最大程度的平台中立性,WSDL 使用 XML Schema 语法来定义数据类型.WSDL Bindings<binding> 元素为每个端口定义消息格式和协议细节.WSDL 实例这是某个 WSDL 文档的简化的片段:<message name="getTermRequest"> <part name="term" type="xs:string"/> </message><message name="getTermResponse"><part name="value" type="xs:string"/> </message><portType name="glossaryTerms"> <operation name="getTerm"> <input message="getTermRequest"/> <output message="getTermResponse"/> </operation> </portType>在这个例子中, <portType> 元素把 "glossaryTerms" 定义为某个端口 端口的名称, "getTerm" 定义 把 端口 为某个操作 操作的名称. 操作操作 "getTerm" 拥有一个名为 "getTermRequest" 的输入消息 输入消息,以及一个名为 输入消息 "getTermResponse" 的输出消息 输出消息. 输出消息<message> 元素可定义每个消息的部件 部件,以及相关联的数据类型. 部件对比传统的编程, glossaryTerms 是一个函数库, "getTerm" 是带有输入参数 "getTermRequest" 而 和返回参数 getTermResponse 的一个函数.WSDL 端口WSDL 端口可描述由某个 web service 提供的界面(合法操作). 提供的界面(合法操作).WSDL 端口<portType> 元素是最重要的 WSDL 元素.它可描述一个 web service,可被执行的操作 操作,以及相关的消息 消息. 操作 消息端口定义了指向某个 web service 的连接点.可以把它元素比作传统编程语言中的一个函数库(或一个 模块,或一个类),而把每个操作比作传统编程语言中的一个函数.操作类型请求-响应是最普通的操作类型,不过 WSDL 定义了四种类型: 类型 定义 此操作可接受消息,但不会返回响应. 此操走可接受一个请求并会返回一个响应 此操作可发送一个请求,并会等待一个响应. 此造作可发送一条消息,但不会等待响应.One-wayRequest-responseSolicit-responseNotificationOne-Way 操作一个 one-way 操作的例子:<message name="newTermValues"> <part name="term" type="xs:string"/> <part name="value" type="xs:string"/> </message><portType name="glossaryTerms"> <operation name="setTerm"> <input name="newTerm" message="newTermValues"/> </operation></portType >在这个例子中,端口 "glossaryTerms" 定义了一个名为 "setTerm" 的 one-way 操作.这个 "setTerm" 操作可接受新术语表项目消息的输入,这些消息使用一条名为 "newTermValues" 的 消息,此消息带有输入参数 "term" 和 "value".不过,没有为这个操作定义任何输出.Request-Response 操作一个 request-response 操作的例子:<message name="getTermRequest"> <part name="term" type="xs:string"/> </message><message name="getTermResponse"> <part name="value" type="xs:string"/> </message><portType name="glossaryTerms"> <operation name="getTerm"> <input message="getTermRequest"/> <output message="getTermResponse"/> </operation> </portType>在这个例子中,端口 "glossaryTerms" 定义了一个名为 "getTerm" 的 request-response 操作."getTerm" 操作会请求一个名为 "getTermRequest" 的输入消息,此消息带有一个名为 "term" 的参 数,并将返回一个名为 "getTermResponse" 的输出消息,此消息带有一个名为 "value" 的参数.WSDL 绑定WSDL 绑定可为 web service 定义消息格式和协议细节. 定义消息格式和协议细节.绑定到 SOAP一个 请求 - 响应 操作的例子:<message name="getTermRequest"> <part name="term" type="xs:string"/> </message><message name="getTermResponse"> <part name="value" type="xs:string"/> </message><portType name="glossaryTerms"> <operation name="getTerm"> <input message="getTermRequest"/> <output message="getTermResponse"/> </operation> </portType><binding type="glossaryTerms" name="b1"> <soap:binding style="document" transport="/soap/http" /> <operation> <soap:operation soapAction="/getTerm"/> <input> <soap:body use="literal"/> </input><output> <soap:body use="literal"/> </output> </operation> </binding>binding 元素有两个属性 - name 属性和 type 属性.name 属性定义 binding 的名称,而 type 属性指向用于 binding 的端口,在这个例子中是 "glossaryTerms" 端口.soap:binding 元素有两个属性 - style 属性和 transport 属性.style 属性可取值 "rpc" 或 "document".在这个例子中我们使用 document.transport 属性定义了 要使用的 SOAP 协议.在这个例子中我们使用 HTTP.operation 元素定义了每个端口提供的操作符.对于每个操作,相应的 SOAP 行为都需要被定义.同时您必须如何对输入和输出进行编码.在这个例子 中我们使用了 "literal".WSDL 和 UDDIUDDI 是一种目录服务,企业可以使用它对 Web services 进行注册和搜索. 是一种目录服务, 进行注册和搜索.UDDI,英文为 "Universal Description, Discovery and Integration",可译为 通用描述, , 通用描述, ,可译为"通用描述 发现与集成服务". 发现与集成服务 .什么是 UDDI? ?UDDI 是一个独立于平台的框架,用于通过使用 Internet 来描述服务,发现企业,并对企业服务进行集 成. UDDI 指的是通用描述,发现与集成服务 UDDI 是一种用于存储有关 web services 的信息的目录. UDDI 是一种由 WSDL 描述的 web services 界面的目录. UDDI 经由 SOAP 进行通信 UDDI 被构建入了微软的 .NET 平台UDDI 基于什么? 基于什么?UDDI 使用 W3C 和 IETF* 的因特网标准,比如 XML,HTTP 和 DNS 协议.UDDI 使用 WSDL 来描述到达 web services 的界面此外,通过采用 SOAP,还可以实现跨平台的编程特性,大家知道,SOAP 是 XML 的协议通信规范,可 在 W3C 的网站找到相关的信息.*注释:IETF - Internet Engineering Task Force 注释: 注释UDDI 的好处任何规模的行业或企业都能得益于 UDDI.在 UDDI 之前,还不存在一种 Internet 标准,可以供企业为它们的企业和伙伴提供有关其产品和服务 的信息.也不存在一种方法,来集成到彼此的系统和进程中.UDDI 规范帮助我们解决的问题: 使得在成百万当前在线的企业中发现正确的企业成为可能 定义一旦首选的企业被发现后如何启动商业 扩展新客户并增加对目前客户的访问 扩展销售并延伸市场范围 满足用户驱动的需要,为在全球 Internet 经济中快速合作的促进来清除障碍UDDI 如何被使用假如行业发布了一个用于航班比率检测和预订的 UDDI 标准,航空公司就可以把它们的服务注册到一个 UDDI 目录中.然后旅行社就能够搜索这个 UDDI 目录以找到航空公司预订界面.当此界面被找到后, 旅行社就能够立即与此服务进行通信,这样由于它使用了一套定义良好的预订界面.谁在支持 UDDI? ?UDDI 是一个跨行业的研究项目, 由所有主要的平台和软件提供商驱动, 比如: Dell, Fujitsu, HP, Hitachi, IBM, Intel, Microsoft, Oracle, SAP, 以及 Sun, 它既是一个市场经营者的团体,也是一个电子商务的 领导者.已有数百家公司参与了这个 UDDI 团体.完整的 WSDL 语法语法已列在下面: 描述于 W3C 工作草案的完整 WSDL 1.2 语法已列在下面:<wsdl:definitions name="nmtoken"? targetNamespace="uri"><import namespace="uri" location="uri"/> *<wsdl:documentation .... /> ?<wsdl:types> ? <wsdl:documentation .... /> ? <xsd:schema .... /> * </wsdl:types><wsdl:message name="ncname"> * <wsdl:documentation .... /> ? <part name="ncname" element="qname"? type="qname"?/> * </wsdl:message><wsdl:portType name="ncname"> * <wsdl:documentation .... /> ? <wsdl:operation name="ncname"> * <wsdl:documentation .... /> ? <wsdl:input message="qname"> ? <wsdl:documentation .... /> ? </wsdl:input> <wsdl:output message="qname"> ? <wsdl:documentation .... /> ? </wsdl:output><wsdl:fault name="ncname" message="qname"> * <wsdl:documentation .... /> ? </wsdl:fault> </wsdl:operation> </wsdl:portType><wsdl:serviceType name="ncname"> * <wsdl:portType name="qname"/> + </wsdl:serviceType><wsdl:binding name="ncname" type="qname"> * <wsdl:documentation .... /> ? <-- binding details --> * <wsdl:operation name="ncname"> * <wsdl:documentation .... /> ? <-- binding details --> * <wsdl:input> ? <wsdl:documentation .... /> ? <-- binding details --> </wsdl:input> <wsdl:output> ? <wsdl:documentation .... /> ? <-- binding details --> * </wsdl:output> <wsdl:fault name="ncname"> * <wsdl:documentation .... /> ? <-- binding details --> * </wsdl:fault> </wsdl:operation> </wsdl:binding><wsdl:service name="ncname" serviceType="qname"> * <wsdl:documentation .... /> ? <wsdl:port name="ncname" binding="qname"> * <wsdl:documentation .... /> ? <-- address details --> </wsdl:port> </wsdl:service></wsdl:definitions>总 结 您已经学习了 WSDL,下一步呢? ,下一步呢?WSDL 概要本教程已为您讲解了如何创建可描述 web 服务的 WSDL 文档.它也规定了服务的位置和服务所提供的 操作(或方法).您已经学习到如何为 web 服务定义消息格式和协议细节.您也学习了可通过 UDDI 来注册和搜索 web 服务.您已经学习了 WSDL,下一步呢? ,下一步呢?下一步应该学习 SOAP 和 Web Services.SOAP SOAP 是一种基于 XML 的简易协议,允许应用程序通过 HTTP 来交换信息.或者更简单地讲,SOAP 是用于访问 web 服务的协议.如果您希望学习更多有关 SOAP 的知识,请访问我们的 SOAP 教程.Web Services Web services 可把您的应用程序转换为 web 应用程序.通过使用 XML,可以在应用程序间传送消息.如果您希望学习更多有关 Web services 的知识,请访问我们的 Web services 教程.。
postman 调用wsdl get 方法
一、介绍postmanPostman是一个API测试工具,通过Postman可以方便地进行API 接口的测试、调试和使用。
Postman支持各种不同类型的API,包括REST、SOAP和WSDL等。
二、理解WSDLWSDL全称为Web Services Description Language,即Web服务描述语言。
它是一种用于描述Web服务的XML格式的语言,通过WSDL可以详细描述Web服务的接口、数据格式、通信协议等信息。
三、调用WSDL Get方法在Postman中调用WSDL的Get方法,需要进行以下步骤:1. 打开Postman应用程序,创建一个新的请求。
2. 在新请求中选择GET方法,并填入WSDL的URL位置区域。
3. 在请求参数中填入所需的参数信息,例如接口需要的输入参数、身份认证信息等。
4. 点击发送按钮,Postman会向WSDL接口发送GET请求,并等待响应。
5. 在响应结果中可以查看接口返回的数据,了解接口的返回格式和内容。
通过上述步骤,即可在Postman中调用WSDL的Get方法,并获取接口的返回结果。
在调用过程中需要注意对输入参数和身份认证信息的正确填写,以及对接口返回结果的正确解析。
四、调用WSDL Get方法的注意事项在使用Postman调用WSDL的Get方法时,有一些注意事项需要特别注意:1. 确保填写正确的WSDL URL位置区域,以便正确访问WebService 接口。
2. 需要根据接口的要求填写正确的请求参数和身份认证信息,确保请求的合法性和准确性。
3. 对接口返回结果进行正确的解析和处理,以便获取需要的数据和信息。
4. 在调用过程中需要注意接口的响应时间和性能表现,确保接口的稳定性和可靠性。
以上是使用Postman调用WSDL Get方法的相关介绍和步骤,希望对您有所帮助。
在使用Postman进行API接口测试和调试时,可以借助Postman强大的功能和易用的操作界面,快速高效地完成接口测试工作。
UDDI 和 WSDL 概述
UDDI 和 WSDL 概述在描述将 WSDL 服务描述映射到 UDDI 注册中心的过程之前,很重要的一点是要理解 UDDI 数据类型和主要的 WSDL 文档类型。
UDDI 数据类型在 UDDI 注册中心有 4 种主要的数据类型:businessEntity、businessService、bindingTemplate和tModel。
图 1展示了所有这些数据类型之间的关系。
图 1. UDDI 数据类型businessEntity 提供关于商家的信息,可以包含一个或多个 businessService。
这个商家是服务提供者。
Web 服务的技术和业务描述在 businessService 和其bindingTemplate 中被定义。
每个 bindingTemplate 包含一个对一个或多个tModel 的引用。
tModel 被用于定义服务的技术规范。
WSDL 文档类型为帮助在 UDDI 注册中心发布和查找 WSDL 服务描述,WSDL 文档被分为两种类型:服务接口(service interface )和服务实现(service implementations)(请参阅图 2)。
图 2. WSDL 文档类型服务接口由 WSDL 文档来描述,这种文档包含服务接口的types、import、message、portType和binding等元素。
服务接口包含将用于实现一个或多个服务的 WSDL 服务定义。
它是 Web 服务的抽象定义,并被用于描述某种特定类型的服务。
通过使用一个 import 元素,一个服务接口文档可以引用另一个服务接口文档。
例如,一个仅包含 message 和 portType 元素的服务接口可以被另一个仅包含此portType 的绑定的服务接口引用。
WSDL 服务实现文档将包含import和service元素。
服务实现文档包含实现一个服务接口的服务的描述。
import 元素中至少会有一个将包含对 WSDL 服务接口文档的引用。
webservice面试题
webservice面试题WebService 面试题随着互联网的快速发展,Web 服务(WebService)成为了一种重要的技术架构,能够使不同平台、不同语言的应用之间实现互操作性。
在 Web 服务的开发与使用过程中,一些常见的面试题被经常提及。
本文将综合介绍一些与 WebService 相关的面试题,并提供详细的回答。
一、什么是 Web 服务?Web 服务是一种基于 Web 技术的应用与应用之间的交互方式,通过 XML 或 JSON 格式传递数据,通常使用 HTTP 协议。
Web 服务遵循一组标准化的规范,包括 SOAP(Simple Object Access Protocol)、WSDL(Web Services Description Language)和UDDI(Universal Description, Discovery and Integration)。
二、SOAP 和 REST 有什么区别?SOAP 是用于 Web 服务的一种通信协议,它基于 XML 格式来定义请求和响应消息的结构。
SOAP 要求使用额外的消息头和完整的 XML 文档进行通信,因此较为繁琐。
SOAP 支持多种协议,如 HTTP、SMTP 等。
REST(Representational State Transfer)是一种基于 HTTP 协议的软件架构风格,不依赖于额外的协议和消息格式,通常使用 JSON 或XML 进行数据传输。
REST 风格简化了通信,更容易实现和理解。
三、SOAP 消息的结构是怎样的?SOAP 消息由以下几个部分组成:1. Envelope(信封):包含所有的 SOAP 消息内容。
2. Header(头部):可选,包含一些可扩展的应用头信息。
3. Body(正文):包含 Web 服务所操作的数据。
四、如何创建一个 Web 服务?创建一个 Web 服务的基本步骤如下:1. 定义 Web 服务的功能和参数。
webservice 面试题
webservice 面试题在面试过程中,Web服务(Web Service)是一个常见的话题,因此掌握和理解与之相关的知识点是非常重要的。
本文将为您介绍一些常见的WebService面试题,并给出详细的解答,帮助您准备和应对面试。
1. 什么是Web服务?Web服务(Web Service)是一种通过网络进行通信和交互的软件系统。
它基于标准化的XML、HTTP等通信协议,使用开放的标准化技术实现跨平台和跨语言的互操作性。
2. Web服务的优点有哪些?Web服务具有以下几个优点:- 平台和语言无关:Web服务使用标准化的技术实现,可以在不同的平台和使用不同编程语言的系统中进行互操作。
- 松耦合:Web服务通过使用XML等标准化的数据格式进行通信,实现了系统之间的松耦合,提高了系统的可维护性和灵活性。
- 可扩展性:通过使用WSDL(Web服务描述语言)进行服务描述,可以方便地添加、修改和扩展服务功能。
3. 请解释SOAP和RESTful的区别。
SOAP(Simple Object Access Protocol)和RESTful (Representational State Transfer)是两种常见的Web服务通信方式。
- SOAP是一种基于XML的通信协议,使用XML格式进行数据交换。
它提供了丰富的功能和可靠的通信机制,但相对复杂。
- RESTful则是一种更轻量级的通信方式,基于HTTP协议的GET、POST、PUT、DELETE等方法,并使用JSON或XML格式进行数据交换。
RESTful具有简单、可读性好和易于扩展等特点。
4. 什么是WSDL?它的作用是什么?WSDL(Web Services Description Language)是一种用于描述Web服务的XML格式文档。
它定义了Web服务的接口、消息格式、通信协议等信息,使得系统能够理解和调用Web服务。
WSDL的作用主要有两方面:- 服务描述:WSDL文件可以告知用户和系统Web服务的功能、参数、返回类型等信息,从而方便用户理解和使用该服务。
wsdl文件结构分析
wsdl文件结构分析WSDL (Web Services Description Language,Web服务描述语言)是一种XML Application,他将Web服务描述定义为一组服务访问点,客户端可以通过这些服务访问点对包含面向文档信息或面向过程调用的服务进行访问(类似远程过程调用)。
WSDL首先对访问的操作和访问时使用的请求/响应消息进行抽象描述,然后将其绑定到具体的传输协议和消息格式上以最终定义具体部署的服务访问点。
相关的具体部署的服务访问点通过组合就成为抽象的Web服务。
本文将详细讲解WSDL文档的结构,并分析每个元素的作用。
一:WSDL定义WSDL是一个用于精确描述Web服务的文档,WSDL文档是一个遵循WSDL XML 模式的XML文档。
WSDL 文档将Web服务定义为服务访问点或端口的集合。
在 WSDL 中,由于服务访问点和消息的抽象定义已从具体的服务部署或数据格式绑定中分离出来,因此可以对抽象定义进行再次使用:消息,指对交换数据的抽象描述;而端口类型,指操作的抽象集合。
用于特定端口类型的具体协议和数据格式规范构成了可以再次使用的绑定。
将Web访问地址与可再次使用的绑定相关联,可以定义一个端口,而端口的集合则定义为服务。
一个WSDL文档通常包含7个重要的元素,即types、import、message、portType、operation、binding、 service元素。
这些元素嵌套在definitions 元素中,definitions是WSDL文档的根元素。
文章的下一部分将会详细介绍WSDL 的基本结构。
二:WSDL的基本结构--概述如第一部分最后描述的那样,一个基本的WSDL文档包含7个重要的元素。
下面将分别介绍这几个元素以及他们的作用。
WSDL 文档在Web服务的定义中使用下列元素:· Types - 数据类型定义的容器,它使用某种类型系统(一般地使用XML Schema中的类型系统)。
wsdl2java 用法
wsdl2java 用法wsdl2java 是一个常用的工具,用于根据WSDL(Web Services Description Language)文件生成Java 代码。
WSDL 文件描述了Web 服务的接口、操作、消息以及与它们关联的网络细节等信息。
使用wsdl2java 工具可以简化Java 开发人员创建和访问Web 服务的过程,同时提高开发效率和代码的可靠性。
本文将一步一步介绍wsdl2java 工具的用法,并解释每个步骤的作用和相关参数的含义。
第一步:下载Apache CXF 工具包wsdl2java 工具是Apache CXF 的一部分,因此首先需要下载并安装Apache CXF 工具包。
可以在Apache CXF 的官方网站上找到最新的稳定版本,并下载相应的二进制分发包。
第二步:设置环境变量将Apache CXF 的安装目录添加到系统的环境变量中。
具体方法取决于操作系统,但一般包括将Apache CXF 的bin 目录添加到PATH 环境变量中,以便在命令行中直接运行wsdl2java 命令。
第三步:使用wsdl2java 工具生成Java 代码打开命令行终端,进入WSDL 文件所在的目录,使用以下命令行格式运行wsdl2java 工具:wsdl2java -d [生成代码的目录] -p [生成代码的包名] [WSDL 文件的路径]参数说明:- `-d`:指定生成代码的目录,可以是绝对路径或相对于当前目录的位置。
- `-p`:指定生成代码所在的Java 包名。
- `[WSDL 文件的路径]`:指定WSDL 文件的路径,可以是绝对路径或相对于当前目录的位置。
运行wsdl2java 命令后,工具会根据WSDL 文件的描述生成相应的Java 代码。
第四步:使用生成的Java 代码wsdl2java 工具生成的Java 代码包括了Web 服务接口的实现类以及客户端访问接口。
开发人员可以直接使用生成的代码来调用Web 服务的操作。
WSDL文件简介(附例子)
WSDL文件简介(附例子)展开全文本文介绍了如何编写一个简单的WSDL文件,并根据WSDL文件编写服务器端和客户端代码,并发布Web Service服务的过程。
首先明确的一点是WSDL现在有两个版本,分别为WSDL 1.1和WSDL 2.0,W3C的官方文档地址分别为:Web Services Descrīption Language (WSDL) 1.1W3C Note 15 March 2001和Web Services Descrīption Language (WSDL) Version 2.0 Part 0: PrimerW3C Working Draft 26 March 2007其中很多应用还是以版本1.1为基础实现。
下面是2.0与1.1的区别:Adding further semantics to the descrīption language.Removal of message constructs.No support for operator overloading.PortTypes renamed to interfaces.Ports renamed to endpoints.下面是一些常见的命名空间:prefix namespace URIwsdl /wsdl/soap /wsdl/soap/http /wsdl/http/mime /wsdl/mime/soapenc /soap/encoding/soapenv /soap/envelope/xsi /2000/10/XMLSchema-instancexsd /2000/10/XMLSchematns (various)对于WSDL规范,可以参考以上两个官方文档,本文主要介绍如何编写WSDL文档(其实官方文档中已经给出了很多例子和方法,这里只是简单的翻译与重复介绍)。
下面举例说明如何编写WSDL文档:我们做一个非常简单的加法运算服务:客户端传入SOAP请求消息,包含两个加数,然后在服务器端获取这两个加数,求和,然后返回给客户端。
常用的wsdl地址
常⽤的wsdl地址
天⽓预报Web Service,数据来源于中国⽓象局
IP地址来源搜索Web Service(是⽬前最完整的IP地址数据)
随机英⽂、数字和中⽂简体字Web Service
中国邮政编码 <-> 地址信息双向查询/搜索Web Service
验证码图⽚Web Service ⽀持中⽂、字母、数字图像和多媒体
Email 电⼦邮件地址验证Web Service
中⽂简体字 <->繁体字转换Web Service
中⽂ <-> 英⽂双向翻译Web Service
⽕车时刻表Web Service (第六次提速最新列车时刻表)
中国股票⾏情数据Web Service(⽀持深圳和上海股市的基⾦、债券和股票)
即时外汇汇率数据Web Service
腾讯QQ在线状态Web Service
中国电视节⽬预告(电视节⽬表)Web Service
外汇-⼈民币即时报价Web Service
中国股票⾏情分时⾛势预览缩略图Web Service
国内飞机航班时刻表 Web Service
中国开放式基⾦数据Web Service
股票⾏情数据 Web Service(⽀持⾹港、深圳、上海基⾦、债券和股票;⽀持多股票同时查询)。
wsdl文件用法
wsdl文件用法WSDL文件的用途WSDL文件(Web Services Description Language)是一种用于描述Web服务的XML格式文件。
它定义了如何访问Web服务以及Web服务提供的功能和参数。
下面是WSDL文件的一些常见用法及详细解释:描述Web服务的接口和操作•WSDL文件用于描述Web服务的接口,包括输入和输出消息的结构和类型。
它定义了Web服务的可用方法、操作以及它们的输入和输出参数。
通过WSDL文件,开发人员可以清楚地了解Web服务提供的功能,并按照指定的参数和格式进行调用。
指定Web服务的绑定和协议•WSDL文件可以指定Web服务使用的协议和绑定。
它可以描述Web 服务的传输协议(如HTTP、SOAP等)以及与之相关的绑定细节(如SOAP消息结构、编码方式等)。
通过WSDL文件,开发人员可以了解可以与Web服务进行交互的协议和细节,从而进行相应的配置和集成。
自动生成Web服务客户端和代理类•基于WSDL文件,开发人员可以使用各种工具自动生成Web服务客户端和代理类。
这些工具可以根据WSDL文件的定义,自动生成与Web服务一致的客户端代码,使得开发人员可以方便地使用各种编程语言进行Web服务的调用和开发。
支持Web服务的自动发现和注册•WSDL文件通过描述Web服务的位置、功能和参数,支持Web服务的自动发现和注册。
通过WSDL文件,开发人员可以了解Web服务的位置和提供者,从而可以自动发现可用的Web服务,并将其注册到相应的服务目录或注册中心中,使得其他应用程序可以方便地访问和使用这些Web服务。
提供Web服务的文档和说明•WSDL文件可以作为Web服务的文档和说明,提供详细的描述和说明。
它可以包含关于Web服务的各种元数据、操作的描述、参数的说明等内容。
通过WSDL文件,开发人员和用户可以了解Web服务的功能、使用方法和参数等,从而可以更好地使用和集成这些Web服务。
wsdl 多参数 请求构造
wsdl 多参数请求构造哎呀,今儿咱来摆个龙门阵,说说咱们四川、贵州、陕西、北京这四个地儿的方言,看看它们碰撞在一起能擦出啥火花来。
咱四川人说话,那可就带劲儿了。
比如咱说“你好”,那就是“你好得很嘛”,听起来就热乎乎的,像吃了顿火锅一样舒畅。
再说说咱贵州的方言,哎呀,真是有点绕口,但听起来特有味道。
比如你说“干啥子”,他们就得说“搞哪样”,听起来挺逗的,就像是在听一曲山歌。
再说说陕西方言,那叫一个豪爽。
他们说话就像是在唱秦腔,高亢激昂。
你说“谢谢”,他们就得说“谢谢过”,听起来就像是在跟你干一杯,够意思吧?最后咱来说说北京话,那叫一个地道。
他们说话慢条斯理的,听起来就像是京剧里的念白。
比如你说“吃饭了吗?”他们就得说“吃了吗您呐?”,听起来就像是在跟你拉家常,亲切得很。
那咱今儿就来试试,把这四地的方言结合起来,看看能不能整出点新鲜玩意儿来。
比如说,咱想表达“你吃饭了吗?我请你吃四川火锅。
”这句话,用四地方言结合起来,那就得这么说:“你吃了吗您呐?要是没吃,我请你搞顿四川火锅,那味道,真是好得很嘛!”咋样,听起来是不是挺有意思的?再说说wsdl多参数请求构造这事儿。
咱们都知道,wsdl是个用来描述网络服务的东西,就像是个菜谱,告诉你这个服务能干些啥,咋调用。
那多参数请求构造呢,就好比是你去餐馆点菜,得告诉厨师你要啥菜,咋做,放啥调料。
这就得把参数给整明白了,不然厨师做出来的菜可能就不是你想要的那个味儿了。
所以呀,咱们在整wsdl多参数请求构造的时候,也得像点菜一样,把参数给整明白了,这样才能得到咱们想要的结果。
就像咱刚才用四地方言结合说的那句话一样,虽然听起来有点绕口,但只要咱们整明白了,就能整出点新鲜玩意儿来,对吧?总之呀,方言是个挺有意思的东西,它能反映出一个地方的文化和特色。
咱们在学习的过程中,不妨多试试结合不同的方言,看看能整出啥新花样来。
就像整wsdl多参数请求构造一样,只要咱们用心去学,用心去整,就一定能整出点门道来。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
* WSDL 指网络服务描述语言
* WSDL 使用 XML 编写
* WSDL 是一种 XML 文档
* WSDL 用于描述网络服务
* WSDL 也可用于定位网络服务
* WSDL 还不是 W3C 标准
WSDL 可描述网络服务(Web Services)
<message name="getTermRequest">
<part name="term" type="xs:string"/>
</message>
<message name="getTermResponse">
<part name="value" type="xs:string"/>
</operation>
</portType>
在这个例子中,端口 "glossaryTerms" 定义了一个名为 "getTerm" 的 request-response 操作。
"getTerm" 操作会请求一个名为 "getTermRequest" 的输入消息,此消息带有一个名为 "term" 的参数,并将返回一个名为 "getTermResponse" 的输出消息,此消息带有一个名为 "value" 的参数。
一个 请求 - 响应 操作的例子:
<message name="getTermRequest">
<part name="term" type="xs:string" />
</message>
<message name="getTermResponse">
<part name="value" type="xs:string" />
One-Way 操作
一个 one-way 操作的例子:
<message name="newTermValues">
<part name="term" type="xs:string"/>
<part name="value" type="xs:string"/>
</message>
soap:binding 元素有两个属性 - style 属性和 transport 属性。
style 属性可取值 "rpc" 或 "document"。在这个例子中我们使用 document。transport 属性定义了要使用的 SOAP 协议。在这个例子中我们使用 HTTP。
operation 元素定义了每个端口提供的操作符。
WSDL types
<types> 元素定义 web service 使用的数据类型。
为了最大程度的平台中立性,WSDL 使用 XML Schema 语法来定义数据类型。
WSDL Bindings
<binding> 元素为每个端口定义消息格式和协议细节。
WSDL 实例
这是某个 WSDL 文档的简化的片段:
这个 "setTerm" 操作可接受新术语表项目消息的输入,这些消息使用一条名为 "newTermValues" 的消息,此消息带有输入参数 "term" 和 "value"。不过,没有为这个操作定义任何输出。
Request-Response 操作
一个 request-response 操作的例子:
</message>
<portType name="glossaryTerms">
<operation name="getTerm">
<input message="getTermRequest"/>
<output message="getTermResponse"/>
它可描述一个 web service、可被执行的操作,以及相关的消息。
可以把 <portType> 元素比作传统编程语言中的一个函数库(或一个模块、或一个类)。
WSDL 消息
<message> 元素定义一个操作的数据元素。
每个消息均由一个或多个部件组成。可以把这些部件比作传统编程语言中一个函数调用的参数。
WSDL 指网络服务描述语言 (Web Services Descrip 编写的文档。这种文档可描述某个 Web service。它可规定服务的位置,以及此服务提供的操作(或方法)。
在 W3C 的 WSDL 发展史
在 2001 年 3 月,WSDL 1.1 被 IBM、微软作为一个 W3C 纪录(W3C note)提交到有关 XML 协议的 W3C XML 活动,用于描述网络服务。
</message>
<portType name="glossaryTerms">
<operation name="getTerm">
<input message="getTermRequest" />
<output message="getTermResponse" />
<types> web service 使用的数据类型
<binding> web service 使用的通信协议
一个 WSDL 文档的主要结构是类似这样的:
<definitions>
<types>
definition of types........
</types>
<message>
<operation>
<soap:operation
soapAction="/getTerm" />
<input>
<soap:body use="literal" />
</input>
<output>
</message>
<portType name="glossaryTerms">
<operation name="getTerm">
<input message="getTermRequest"/>
<output message="getTermResponse"/>
WSDL 文档仅仅是一个简单的 XML 文档。
它包含一系列描述某个 web service 的定义。
WSDL 文档结构
WSDL 文档是利用这些主要的元素来描述某个 web service 的:
元素 定义
<portType> web service 执行的操作
<message> web service 使用的消息
<message name="getTermRequest">
<part name="term" type="xs:string"/>
</message>
<message name="getTermResponse">
<part name="value" type="xs:string"/>
definition of a message....
</message>
<portType>
definition of a port.......
</portType>
<binding>
definition of a binding....
</binding>
对于每个操作,相应的 SOAP 行为都需要被定义。同时您必须如何对输入和输出进行编码。在这个例子中我们使用了 "literal"。
</operation>
</portType>
<binding type="glossaryTerms" name="b1">
<soap:binding style="document"
transport="/soap/http" />
WSDL 端口
<portType> 元素是最重要的 WSDL 元素。
它可描述一个 web service、可被执行的操作,以及相关的消息。
端口定义了指向某个 web service 的连接点。可以把该元素比作传统编程语言中的一个函数库(或一个模块、或一个类),而把每个操作比作传统编程语言中的一个函数。