美文网首页
第三十五章 添加和使用自定义标题元素 - 向 SOAP 消息添加

第三十五章 添加和使用自定义标题元素 - 向 SOAP 消息添加

作者: Cache技术分享 | 来源:发表于2024-06-21 09:12 被阅读0次

    第三十五章 添加和使用自定义标题元素 - 向 SOAP 消息添加自定义标头元素

    SOAP 消息添加自定义标头元素

    要将自定义标头元素添加到 SOAP 消息(来自 Web 服务或 Web 客户端),请在发送 SOAP 消息之前执行以下操作。

    1. 创建标题对象的实例。
    2. 根据需要设置该对象的属性,可选包括 actormustUnderstand 属性。
    3. 将新标头添加到出站标头数组 HeadersOut 属性。此属性是一个具有常用数组接口的数组(例如,SetAt()Count()GetAt() 方法)。

    注意:如果在实用程序方法中执行这些步骤,请注意该方法必须是实例方法,并且必须是可实例化类的成员(例如,而不是抽象类)。

    然后在 Web 服务或客户端类中,可以使用一个添加标头元素的实用方法:

    Method AddMyHeaderElement(mustUnderstand=0)
    {
        Set h=##class(MyHeaderElement).%New()
        Set h.Subelement1 = "abc"
        Set h.Subelement2 = "def"
        If mustUnderstand {Set h.mustUnderstand=1}
        Do ..HeadersOut.SetAt(h,"MyHeaderElement")
    }
    

    最后,可以从每个想要使用它的 Web 方法中调用此实用方法。例如:

    /// Divide arg1 by arg2 and return the result
    Method Divide(arg1 As %Numeric, arg2 As %Numeric) As %Numeric [ WebMethod ]
    {
        //main method code here
        //...
    
        do ..AddMyHeaderElement()
    
        Quit ans
    }
    

    当调用此 Web 方法时,标头将添加到 SOAP 响应中。

    指定支持的标头元素

    网络服务和客户端自动支持 WS-AddressingWS-Security 标头元素,但不自动支持其他标头元素。

    要指定 Web 服务或 Web 客户端支持的标题元素,请执行以下操作:

    • 定义类来表示这些标题元素,如定义自定义标题元素中所述。
    • 将标题元素类与 Web 服务或 Web 客户端的标题元素关联。

    可以通过以下两种方式之一执行此操作:

    • Web 服务或客户端类添加 XData 块。在此 XData 块中,指定特定标头元素与相应标头元素类之间的关联。

    如果服务或客户端类还将类参数 USECLASSNAMESPACES 设置为 1(推荐值),则在生成的 WSDL 中使用此标头信息。

    • Web 服务或 Web 客户端类中,指定 SOAPHEADERS 参数。在此参数中,指定特定标头元素与相应标头元素类之间的关联。

    注意:此技术灵活性较差,不会影响生成的 WSDL,现在已被弃用。

    相关文章

      网友评论

          本文标题:第三十五章 添加和使用自定义标题元素 - 向 SOAP 消息添加

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