本文主要是介绍第三十五章 添加和使用自定义标题元素 - 向 SOAP 消息添加自定义标头元素,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 第三十五章 添加和使用自定义标题元素 - 向 SOAP 消息添加自定义标头元素
- 向 `SOAP` 消息添加自定义标头元素
- 指定支持的标头元素
第三十五章 添加和使用自定义标题元素 - 向 SOAP 消息添加自定义标头元素
向 SOAP
消息添加自定义标头元素
要将自定义标头元素添加到 SOAP
消息(来自 Web
服务或 Web
客户端),请在发送 SOAP
消息之前执行以下操作。
- 创建标题对象的实例。
- 根据需要设置该对象的属性,可选包括
actor
和mustUnderstand
属性。 - 将新标头添加到出站标头数组
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-Addressing
和 WS-Security
标头元素,但不自动支持其他标头元素。
要指定 Web
服务或 Web
客户端支持的标题元素,请执行以下操作:
- 定义类来表示这些标题元素,如定义自定义标题元素中所述。
- 将标题元素类与
Web
服务或Web
客户端的标题元素关联。
可以通过以下两种方式之一执行此操作:
- 向
Web
服务或客户端类添加XData
块。在此XData
块中,指定特定标头元素与相应标头元素类之间的关联。
如果服务或客户端类还将类参数 USECLASSNAMESPACES
设置为 1
(推荐值),则在生成的 WSDL
中使用此标头信息。
- 在
Web
服务或Web
客户端类中,指定SOAPHEADERS
参数。在此参数中,指定特定标头元素与相应标头元素类之间的关联。
注意:此技术灵活性较差,不会影响生成的 WSDL
,现在已被弃用。
这篇关于第三十五章 添加和使用自定义标题元素 - 向 SOAP 消息添加自定义标头元素的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!