wsdl - 为什么 WSDL 引入 wsdl :message?

标签 wsdl abstraction

为什么 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>

最佳答案

我得到了它:

消息不只是指定操作的参数。

消息及其部分在绑定(bind)中被引用。应该可以以不同的方式绑定(bind)不同的部分:

<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 '文字'”绑定(bind)是如此罕见。

关于wsdl - 为什么 WSDL 引入 wsdl :message?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4289817/

相关文章:

java - 如何在泛型类型中抽象定义泛型类型?

php - 使用 HTML5 本地存储镜像 MySQL 数据库架构以供查询

java - 来自 WSDL 的 SOAP 网络服务端点

xml - 基于xsd/wsdl生成随机xml/web服务响应

abstraction - 信息隐藏与隐藏的依赖关系

c - C 中的泛型函数指针

go - 使用 go-kit logger api 缺少的方法

soap - SOAP/WSDL 中的 API 能否轻松保持向后兼容?

c# - VS 生成的 WSDL 命名空间问题

Delphi XE2 HTTPRIO 无法检索服务/端口的 URL 端点