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