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

news2025/2/28 0:12:23

文章目录

  • 第三十三章 添加和使用自定义标题元素
  • `SOAP` 标头元素简介
    • 如何表示 SOAP 标头

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

本主题介绍如何添加和使用自定义 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 属性中:

在这里插入图片描述

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

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

在这里插入图片描述

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

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

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1841334.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java swing JTable 示例

代码&#xff0c; import java.awt.Container; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable;public class Mylmlk {public static void main(String[] agrs){JFrame framenew JFrame("学生成绩表");frame.setSize(500,2…

it职业生涯规划系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;职业介绍管理&#xff0c;答题管理&#xff0c;试题管理&#xff0c;基础数据管理 前台账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;在线答题&#xff0…

QT基础 - QMainWindow主窗口

目录 零. 简介 一. 菜单栏 二. 工具栏 三. 状态栏 四. 可停靠区域 五. 总结 零. 简介 QMainWindow 是 Qt 中用于构建主窗口的类。 它通常包含以下几个主要部分&#xff1a; 菜单栏&#xff1a;用于提供各种操作选项。工具栏&#xff1a;放置常用的操作按钮。中心区域&…

DAMA学习笔记(二)-数据治理

1.引言 数据治理&#xff08;Data Governance&#xff0c;DG&#xff09;的定义是在管理数据资产过程中行使权力和管控&#xff0c;包括计划、监控和实施。在所有组织中&#xff0c;无论是否有正式的数据治理职能&#xff0c;都需要对数据进行决策。建立了正式的数据治理规程及…

【STM32-ST-Link】

STM32-ST-Link ■ ST-Link简介■ ST-Link驱动的安装。■ ST-Link编程软件(MDK)配置。■ ST-Link固件升级方法 ■ ST-Link简介 由于德产 J-LINK 价格非常昂贵&#xff0c; 而国产 J-LINK 因为版权问题将在万能的淘宝销声匿迹。 所以我们有必要给大家介绍 JTAG/SWD 调试工具中另…

排序算法及源代码

堆排序&#xff1a; 在学习堆之后我们知道了大堆和小堆&#xff0c;对于大堆而言第一个节点就是对大值&#xff0c;对于小堆而言&#xff0c;第一个值就是最小的值。如果我们把第一个值与最后一个值交换再对最后一个值前面的数据重新建堆&#xff0c;如此下去就可以实现建堆排…

【Java】已解决java.util.concurrent.TimeoutException异常

文章目录 一、问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决java.util.concurrent.TimeoutException异常 一、问题背景 java.util.concurrent.TimeoutException是Java并发编程中常见的一个异常&#xff0c;它通常发生在使用Future或Future…

202483读书笔记|《把你写进诗歌里》——人生是一场不知何时散场的约会,爱慕向来短暂,失去才是唯一出路

202483读书笔记|《把你写进诗歌里》——人生是一场不知何时散场的约会&#xff0c;爱慕向来短暂&#xff0c;失去才是唯一出路 摘录 《把你写进诗歌里&#xff08;2020年度中国优秀诗歌&#xff09;》&#xff0c;作者上官文露。并不惊艳&#xff0c;中英文双语对照的一本诗集&…

OpenGL3.3_C++_Windows(13)

demo演示 demo演示 面剔除 当我们都以逆时针绘制三角形顶点&#xff0c;那么从三角形的背面看就是顺时针&#xff0c;面剔除正是根据这个原理&#xff0c;glEnable&#xff08;&#xff09;首先启用&#xff0c;glCullFace&#xff08;&#xff09;改变需要剔除的面类型&#…

【Java面试】二十一、JVM篇(中):垃圾回收相关

文章目录 1、类加载器1.1 什么是类加载器1.2 什么是双亲委派机制 2、类装载的执行过程&#xff08;类的生命周期&#xff09;3、对象什么时候可以被垃圾回收器处理4、JVM垃圾回收算法4.1 标记清除算法4.2 标记整理算法4.3 复制算法 5、分代收集算法5.1 MinorGC、Mixed GC、Full…

初阶 《数组》 1. 一维数组的创建和初始化

1. 一维数组的创建和初始化 1.1 数组的创建 数组是一组相同类型元素的集合 数组的创建方式&#xff1a; type_t arr_name [const_n]; //type_t 是指数组的元素类型 //const_n 是一个常量表达式&#xff0c;用来指定数组的大小数组创建的实例&#xff1a; //代码1 int ar…

计算机图形学入门16:曲线

1.曲线 曲线&#xff08;Curves&#xff09;在图形学中应用非常广泛&#xff0c;比如&#xff1a;相机的拍摄路径、物体的移动路径、动画曲线、矢量字体等。如下图所示&#xff0c;是使用曲线到矢量字体的应用&#xff0c;通过移动一些控制点来改变字体。 2.贝塞尔曲线 2.1 贝…

qt事件和连接TCP协议

QT网络聊天室服务器实现 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget),server(new QTcpServer(this))//给服务器指针实例化一个空间 {ui->setupUi(this); }Widget::~Widget() {d…

Git进阶使用(图文详解)

文章目录 Git概述Git基础指令Git进阶使用一、Git分支1.主干分支2.其他分支2.1创建分支2.2查看分支1. 查看本地分支2. 查看远程分支3. 查看本地和远程分支4. 显示分支的详细信息5. 查看已合并和未合并的分支 2.3切换分支1. 切换到已有的本地分支2. 创建并切换到新分支3. 切换到远…

MyPostMan:按照项目管理接口,基于迭代生成接口文档、执行接口自动化联合测试

MyPostMan 是一款类似 PostMan 的接口请求软件&#xff0c;不同于 PostMan 的是&#xff0c;它按照 项目&#xff08;微服务&#xff09;、目录来管理我们的接口&#xff0c;基于迭代来管理我们的接口文档&#xff0c;按照迭代编写自动化测试用例&#xff0c;在不同环境中均可运…

ASP.NET MVC企业级程序设计(增删,页面水平排列,字符串拼接,非空,添加框内默认提示)

目录 题目&#xff1a; 实现过程 控制器代码 DAL BLL Index Deile 题目&#xff1a; 实现过程 控制器代码 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using MvcApplication1.Models;namespac…

oracle中执行select ... for update需要什么权限?

oracle中执行select … for update需要什么权限&#xff1f; 问题 在oracle中&#xff0c;一个用户执行select … for update需要什么权限&#xff1f; 分析测试 用户1&#xff1a; test_0614 用户2&#xff1a;test 目标表&#xff1a;test.t_0614 执行语句&#xff1a;se…

机器学习课程复习

参考书目:《统计学习方法》 选择题 5道 3分/道 填空题 5道 3分/道 简答题 3道 计算题 1道 算法设计题 1道 隐马尔可夫不考计算题 很有可能考计算题的知识点:KNN、决策树、支持向量机、聚类算法 小概率会考计算题的知识点:线性回归(最小二乘法,代公式算参…

代码随想录——全排列(Leetcode LCR083)

题目链接 回溯 class Solution {List<List<Integer>> res new ArrayList<List<Integer>>();List<Integer> list new ArrayList<Integer>();boolean[] used;public List<List<Integer>> permute(int[] nums) {used new bo…

密码学及其应用——为什么选择接近的质数因子对RSA加密算法不安全?

RSA加密算法是一种广泛使用的非对称加密算法&#xff0c;它的安全性依赖于大整数分解的难度。具体来说&#xff0c;RSA算法生成的公钥包含一个大整数N&#xff0c;这是两个大质数p和q的乘积。然而&#xff0c;如果这两个质数p和q太接近&#xff0c;则可以相对容易地对N进行因式…