美文网首页
第五十四章 生成的 WSDL 的详细信息 - portType

第五十四章 生成的 WSDL 的详细信息 - portType

作者: Cache技术分享 | 来源:发表于2024-07-11 07:51 被阅读0次

第五十四章 生成的 WSDL 的详细信息 - portType

<portType>

<binding> 部分之前,WSDL 包含 <portType> 元素,每个元素通过为 <binding> 元素指定单个地址来定义单个端点。 <portType> 元素是一组命名的抽象操作和所涉及的抽象消息。

一般来说,WSDL 可以包含多个 <portType> 元素,但 Web 服务的 WSDL 只包含一个。

对于本主题前面显示的示例 Web 服务,<portType> 元素如下:

<portType name="MyServiceNameSoap">
    <operation name="Add">
        <input message="s0:AddSoapIn"/>
        <output message="s0:AddSoapOut"/>
    </operation>
</portType>

此元素的所有方面都自动与 WSDL 的其他部分保持一致;没有对其进行独立的控制。

<message>

<portType> 元素之前,<message> 元素定义操作中使用的消息。WSDL 通常为每个 Web 方法包含两个 <message> 元素。对于本主题前面显示的示例 Web服务,这些元素如下:

<message name="AddSoapIn">
    <part name="parameters" element="s0:Add"/>
</message>
<message name="AddSoapOut">
    <part name="parameters" element="s0:AddResponse"/>
</message>

该元素指定如下:

  • <message> 元素的 name 属性基于 Web 方法的名称。
  • 方法的绑定样式由前面显示的 <binding> 元素决定。这决定了消息是否可以包含多个部分:
    • 如果绑定样式为“document”,则消息默认只有一个部分。例如:
<message name="AddSoapIn">
    <part name="parameters" .../>
</message>

如果 ARGUMENTSTYLE 参数为“message”,则消息可以包含多个部分。例如:

<message name="AddSoapIn">
   <part name="a" .../>
   <part name="b" .../>
</message>

  • 如果绑定样式为“rpc”,则消息可以包含多个部分。例如:
<message name="AddSoapIn">
    <part name="a" .../>
    <part name="b" .../>
</message>
  • <soap:body> 元素的 use 属性(如前面显示的 <binding> 元素中指定)决定了消息 <part> 元素的内容:

  • 如果 use 属性为“literal”,则 <part> 元素包含一个 element 属性。例如:

<part name="parameters" element="s0:Add"/>

再举一个例子:

<part name="b" element="s0:b"/>
  • 如果 use 属性是“编码的”,则 <part> 元素包含 type 属性,而不是 element 属性。例如:
<part name="a" type="s0:ComplexNumber"/>
  • 消息所引用的元素或类型的名称将按下一节所述确定。
  • 这些元素和类型所属的命名空间将按照下一节中的描述来确定。.
  • 另请参阅单向 Web 方法的 WSDL 差异。
  • 如果 Web 服务的 SOAPSESSION 参数为 1,则会影响此元素,如 SOAP 会话的 WSDL 差异中所述。

相关文章

网友评论

      本文标题:第五十四章 生成的 WSDL 的详细信息 - portType

      本文链接:https://www.haomeiwen.com/subject/kuathjtx.html