[英]Why WSDL introduce wsdl:message?
為什么WSDL引入了wsdl:message? 和消息部分?
它們可以在操作參數(輸入,輸出,故障)中直接使用XSD帶來什么好處?
他們(帶有wsdl消息部分的wsdl消息)如何比XSD更抽象?
為什么它沒有以這種方式組織:
<operation name="GetEndorsingBoarder">
<input type="xsd:string"/>
<output type="xsd:string, xsd:int, xsd:boolean"/>
<fault "type="xsd:string""/>
</operation>
我知道了:
消息不只是指定操作的參數。
消息及其部分在綁定中引用。 應該可以不同地綁定不同的部分:
<message name="m1">
<part name="body" element="tns:GetCompanyInfo"/>
</message>
<message name="m2">
<part name="body" element="tns:GetCompanyInfoResult"/>
<part name="docs" type="xsd:string"/>
<part name="logo" type="tns:ArrayOfBinary"/>
</message>
<portType name="pt1">
<operation name="GetCompanyInfo">
<input message="m1"/>
<output message="m2"/>
</operation>
</portType>
<binding name="b1" type="tns:pt1">
<operation name="GetCompanyInfo">
<soap:operation soapAction="http://example.com/GetCompanyInfo"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<mime:multipartRelated>
<mime:part>
<soap:body parts="body" use="literal"/>
</mime:part>
<mime:part>
<mime:content part="docs" type="text/html"/>
</mime:part>
<mime:part>
<mime:content part="logo" type="image/gif"/>
<mime:content part="logo" type="image/jpeg"/>
</mime:part>
</mime:multipartRelated>
</output>
</operation>
</binding>
我錯過了這個,因為“非SOAP'文字'”綁定非常罕見。
XSD
描述了DATA
方面,例如webservice調用的數據方面,而WSDL
描述了Web服務(方法調用)的目的。 您通常無法單獨從數據中找出方法調用。
查看Cheeso和Marc關於從XSD文件生成WSDL的答案
編輯: 來源
該message
描述了Web服務提供者和消費者之間交換的數據,每個Web服務都有兩條消息:1)輸入:Web服務的參數2)輸出:從Web服務返回數據
每條message
都有零個或多個part
參數(Web服務函數的每個參數一個)每個part
參數與types
容器元素中定義的具體類型相關聯。
<message name="SayHelloRequest">
<part name="firstName" type="xsd:string"/>
</message>
<message name="SayHelloResponse">
<part name="greeting" type="xsd:string"/>
</message>
這里定義了兩個消息元素。 第一個表示請求消息SayHelloRequest,第二個表示響應消息SayHelloResponse。
這些消息中的每一個都包含單個部分元素。 對於請求,該部分指定函數參數; 在這種情況下,我們指定一個firstName參數。 對於響應,該部分指定函數返回值; 在這種情況下,我們指定一個問候語返回值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.