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

第五十三章 生成的 WSDL 的详细信息 - service

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

第五十三章 生成的 WSDL 的详细信息 - service

<service>

检查 WSDL 时,从尾到头阅读它很有用。

WSDL 中的最后一个元素是 <service> 元素,它定义 Web 服务。对于本主题前面显示的示例 Web 服务,此元素如下:

<service name="MyServiceName">
    <port name="MyServiceNameSoap" binding="s0:MyServiceNameSoap">
        <soap:address location="https://devsys:52773/csp/mysamples/WSDLSamples.BasicWS.cls"/>
    </port>
</service>

该元素指定如下:

  • Web 服务的 SERVICENAME 参数用作 <service> 元素的 name 属性。请参阅指定 Web 服务的服务名称和命名空间。

    此参数还会影响 <port> 元素的名称和绑定属性;没有提供单独的控制。

  • binding 属性引用 s0 命名空间中的绑定,该命名空间在命名空间声明中列出。此命名空间由Web 服务的 NAMESPACE 参数指定。

  • Web 服务类的 URL 控制 <soap:address> 元素的位置属性。

<binding>

<service> 元素之前,WSDL 包含 <binding> 元素,每个元素定义由特定 <portType> 元素定义的操作和消息的消息格式和协议详细信息。

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

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

<binding name="MyServiceNameSoap" type="s0:MyServiceNameSoap">
    <soap:binding transport="https://schemas.xmlsoap.org/soap/http" 
                  style="document"/>
    <operation name="Add">
        <soap:operation soapAction="https://www.mynamespace.org/WSDLSamples.BasicWS.Add" 
                        style="document"/>
        <input>
            <soap:body use="literal"/>
        </input>
        <output>
            <soap:body use="literal"/>
        </output>
    </operation>
</binding>

该元素指定如下:

  • <binding> 元素的 name 属性自动与 <service> 元素保持一致(并且改变没有任何意义)。
<binding name="MyServiceNameSoap"  ...
  • <binding> 元素的 type 属性引用 s0 命名空间中的 <portType> 元素,该元素在命名空间声明中列出。此命名空间由 Web 服务的 NAMESPACE 参数指定。
  • 每个 <operation> 元素的名称属性均基于 Web 方法的名称(并且更改没有意义)。
<operation name="Add"> ...
  • 如果为 Web 方法指定 SoapAction 关键字,则该值将用于操作的 soapAction 属性。例如:
...xml
<operation name="Add">
    <soap:operation soapAction="mysoapaction" style="document"/>
...

  • 如果方法的返回类型定义为 %SOAP.OneWay,则将影响此元素,如单向 Web 方法的 WSDL 差异中所述。

  • 如果 Web 服务的 SOAPBINARY 参数为 1,则会影响此元素,如 IRIS 二进制 SOAP 格式的 WSDL 差异中所述。

  • 如果 Web 服务的 SOAPSESSION 参数为 1,则会影响此元素,如 IRIS SOAP 会话的 WSDL 差异中所述。

    SoapBindingStyle 类关键字、`` 方法关键字和 SoapBindingStyle 查询关键字会影响 <binding> 元素,如类定义参考中所述。这些关键字可以具有值 documentrpc

  • SoapBodyUse 类关键字、SoapBodyUse 方法关键字和 SoapBodyUse 查询关键字会影响 <binding> 元素,如类定义参考中所述。这些关键字可以具有值 literalcoded

注意:如果 Web 服务具有已编译的策略配置类,则 <binding> 部分还包含 <wsp:Policy>. 形式的元素。本文档不讨论策略如何影响 WSDL,因为效果由 WS-SecurityPolicy 和其他规范决定。

相关文章

网友评论

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

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