消息(Windows Web 服务)

消息是封装传输或接收的数据的对象。 消息的结构由 SOAP 定义,并包括一组标头和正文。 标头始终在内存中缓冲,但正文是使用流式处理 API 读取和写入的。

关系图,其中显示了一条消息,其中包含正在缓冲的标头和正在流式传输的正文。

消息具有一组属性,可用于指定用于控制消息行为的可选设置,并提供检索有关接收消息的其他信息(如安全信息)的方法。 有关邮件属性的完整列表,请参阅 WS_MESSAGE_PROPERTY_ID

将消息寻址到特定 终结点地址

WS_FAULT 是一种特殊的消息内容,用于表示从远程终结点返回的失败。

消息在传输之前接受编码,将 XML 转换为线性线格式。

有关消息的详细信息,请参阅 通道层概述 主题。

以下示例演示如何在 WWSAPI 中使用消息。

描述
CustomHeaderExample 说明如何使用自定义消息标头。
MessageEncodingExample 说明对消息的编码和解码。
ForwardMessageExample 说明转发消息。

 

以下 API 元素用于消息。

回调 描述
WS_MESSAGE_DONE_CALLBACK 通知调用方消息已完成消息使用提供给 WsReadEnvelopeStart 函数的WS_XML_READER结构,或者向 WsWriteEnvelopeStart 函数提供的WS_XML_WRITER结构。

 

列举 描述
WS_ADDRESSING_VERSION 用于寻址标头的规范的版本。
WS_ENVELOPE_VERSION 用于信封结构的规范的版本。
WS_HEADER_ATTRIBUTES 一组标志,表示 SOAP mustUnderstand 和标头的中继属性。
WS_HEADER_TYPE 标头的类型。
WS_MESSAGE_INITIALIZATION 指定 WsInitializeMessage 应添加到消息的标头。
WS_MESSAGE_PROPERTY_ID 每个消息属性的 ID。
WS_MESSAGE_STATE 消息的状态。

 

功能 描述
WsAddressMessage 向邮件分配目标地址。
WsCheckMustUnderstandHeaders 验证接收方是否适当地理解指定的标头。
WsCreateMessage 创建 WS_MESSAGE 对象的实例。
WsCreateMessageForChannel 创建一条消息,该消息适用于特定通道。
WsFillBody 确保消息中有足够的可用字节数进行读取。
WsFlushBody 刷新已写入的所有累积消息正文数据。
WsFreeMessage 释放与消息关联的内存资源。
WsGetCustomHeader 查找消息的应用程序定义标头并将其反序列化。
WsGetHeader 查找消息中的特定标准标头并反序列化它。
WsGetHeaderAttributes 使用读取器所在的标头元素中的 WS_HEADER_ATTRIBUTES 填充 ULONG 参数。
WsGetMessageProperty 检索指定的 Message 对象属性。
WsInitializeMessage 初始化消息的标头,以准备处理。
WsMarkHeaderAsUnderstood 将标头标记为应用程序所理解。
WsReadBody 反序列化消息的 XML 读取器中的值。
WsReadEnvelopeEnd 读取消息的结束元素。
WsReadEnvelopeStart 读取消息的标头并准备读取正文元素。
WsRemoveCustomHeader 从消息中删除自定义标头。
WsRemoveHeader 从消息中删除标准 WS_HEADER_TYPE 对象。
WsResetMessage 将消息状态设置回 WS_MESSAGE_STATE_EMPTY
WsSetHeader 在消息中添加或替换指定的标准标头。
WsWriteBody 在消息正文中写入值。
WsWriteEnvelopeEnd 写入消息的结束元素。
WsWriteEnvelopeStart 写入消息的开头,包括消息的当前标头集,并准备写入正文元素。

 

处理 描述
WS_MESSAGE 用于引用消息对象的不透明类型。

 

结构 描述
WS_FAULT 在消息正文中携带的一个错误值,指示处理失败。
WS_FAULT_CODE 表示错误代码。
WS_FAULT_REASON 包含错误的说明。
WS_MESSAGE_PROPERTIES 指定一组 WS_MESSAGE_PROPERTY 结构。
WS_MESSAGE_PROPERTY 指定特定于消息的设置。