消息(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 | 检索指定的消息对象属性。 |
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 | 指定特定于消息的设置。 |