契约——WSDL

来源:互联网 发布:php 获取字符串后4位 编辑:程序博客网 时间:2024/05/11 02:47

中文名:网络服务描述语言
洋名字:Web Services Description Language


前置

1.XML

关联

1.SOA

学习这个也是因为SOA中的接口描述要用XML语言进行描述,最后最终定位到WSDL,对于具体意义还需要继续深入。


WSDL相关知识

WSDL支持四种operation类型
这里写图片描述



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 >



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操作(一个服务),操作接收一个getTermRequest类型的输入,返回一个getTermResponse



binding
WSDL和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="http://schemas.xmlsoap.org/soap/http" />  <operation>    <soap:operation     soapAction="http://example.com/getTerm" />    <input>      <soap:body use="literal" />    </input>    <output>      <soap:body use="literal" />    </output>  </operation></binding>

binding两个属性:
style : 可是是rpc 也可以是 docment
transport : 选择的soap协议类型

对于沉迷与具体的编程语句的程序员,学习协议的过程,就类似于从C/C++的学习突然蹦到了Java和C#上

0 0