美文网首页
第五十三章 生成的 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