簡體   English   中英

為什么WSDL引入wsdl:message?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM