美文网首页
第三十三章 添加和使用自定义标题元素

第三十三章 添加和使用自定义标题元素

作者: Cache技术分享 | 来源:发表于2024-06-19 08:05 被阅读0次

第三十三章 添加和使用自定义标题元素

本主题介绍如何添加和使用自定义 SOAP 标头元素。

有关发生故障时添加标头元素的信息,请参阅 SOAP 故障处理。

WS-Addressing 标头元素在其他地方进行了描述。有关 WS-Security 标头元素的信息,请参阅“保护 Web 服务”。

SOAP 标头元素简介

SOAP 消息可以包含标头( <Header> 元素),其中包含一组标头元素。例如:

<SOAP-ENV:Envelope>
   <SOAP-ENV:Header>
      <MyHeaderElement>
         <Subelement1>abc</Subelement1>
         <Subelement2>def</Subelement2>
      </MyHeaderElement>
   </SOAP-ENV:Header>
   <SOAP-ENV:Body>
...
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

非正式地,每个标头元素通常称为标头。这并不完全准确,因为消息本身最多可以包含一个标头,该标头始终为 <Header>,并带有适当的命名空间前缀。标头可以包含 WS-Security 标头元素、WS-Addressing 标头元素和您自己的自定义标头元素。

标头元素包含其他信息,供接收 SOAP 消息的 Web 服务或 Web 客户端使用。在此处显示的示例中,此信息包含在 XML 元素中。标头元素还可以包含 XML 属性,尽管上例中未显示任何属性。SOAP 标准指定了三个标准属性(mustUnderstandactorencodingStyle),以指示接收者应如何处理 SOAP 消息。

如何表示 SOAP 标头

IRIS 数据平台将每个标题元素表示为 %SOAP.Header或其子类之一的实例。%SOAP.Header 是一个支持 XML 的类,其属性对应于标准标题元素属性 (mustUnderstandactorencodingStyle)。

IRIS 提供 %SOAP.Header的专用子类,用于 WS-AddressingWS-Security。要表示自定义标头元素,您可以创建自己的 %SOAP.Header子类。

Web 服务或客户端收到 SOAP 消息时,它会导入并处理该消息。在此步骤中,如果消息包含带有自定义标头元素的标头,则 IRIS 会将标头元素与受支持的标头元素列表进行比较(下一小节将讨论)。

然后,服务或客户端创建每个适用的标头元素类的实例,将其插入到数组中,并将该数组放置在其自己的 HeadersIn 属性中:

image.png

要使用这些标头元素, Web 服务或客户端可以访问 HeadersIn 属性。如果 SOAP 消息不包含 <Header> 元素,则 HeadersIn 属性的 Count()0

类似地,在 Web 服务或客户端发送 SOAP 消息之前,它必须更新 HeadersOut 属性,以便它包含想要包含在出站消息中的任何自定义元素。如果 HeadersOut Count()0,则出站 SOAP 消息不包含 <Header> 元素。

image.png

对于自定义标题元素,始终使用 HeadersInHeadersOut 属性。

其他(非自定义)标题元素的细节有所不同:

  • 对于 WS-Addressing,请使用 AddressingInAddressingOut 属性,而不是 HeadersInHeadersOut 属性。请参阅添加和使用 WS-Addressing 标头元素。
  • 对于 WS-Security 标头元素,请使用“保护 We 服务”中描述的 WS-Policy 功能。

或者直接使用 SecurityInSecurityOut 属性,如“保护 Web 服务”中所述。这通常需要做更多工作。

(请注意,WS-Security 标头元素也包含在 HeadersInHeadersOut 属性中,但不建议通过这些属性访问或设置它们。)

  • IRIS SOAP 会话支持使用 HeadersInHeadersOut属性。请参阅 SOAP 会话管理。

相关文章

  • 自动化js定位技术

    1.使用js定位页面元素和修改元素 删除只读属性后就可以操作元素,可以自定义清楚和添加值,此类方法用于定位复杂元素...

  • jQuery - 效果(一)之 动画

    在 jQuery 中,我们可以使用 animate() 方法来给元素添加自定义动画。 animate(prop...

  • 字典的常见操作

    添加或更新元素 使用下标添加或更新元素 使用 updateValue(_:forKey:) 方法添加或更新元素,返...

  • HTML5 自定义属性

    自定义属性:添加前缀“data-” dataset属性:添加自定义属性后,通过元素的dataset属性来访问自定义...

  • 第三十三章 使用 CSP 进行基于标签的开发 - 使用Hyper

    第三十三章 使用 CSP 进行基于标签的开发 - 使用Hyperevents #server和#call调用服务器...

  • HTML5

    1、HTML5 添加了很多语义元素如下所示: 2、添加新元素(自定义) 注:JavaScript 语句 docum...

  • vue自定义指令

    ue自定义指令 自定义全局指定 自定义可以让表单元素自动获取光标的元素 使用 自定义局部指令 使用 钩子函数 对象...

  • TreeSet

    treeSet添加自定义元素:支持排序的集合类 treeSet要注意的事项:1. 往TreeSet添加元素的时候,...

  • IOS滑动没有惯性,不流畅

    使用了自定义的滚动(在元素上添加了overflow: auto;),滚动时,ios手机没有惯性,不流畅,在滚动的元...

  • Angular--使用事件和表单(2)

    1、简单的表单 使用ngModel将元素和newProduct对象模型进行绑定 2、添加表单校验 使用HTML元素...

网友评论

      本文标题:第三十三章 添加和使用自定义标题元素

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