webservices.h) (WS_HTTP_MESSAGE_MAPPING 结构
指定有关如何在消息对象中表示 HTTP 请求或响应的信息。
语法
typedef struct _WS_HTTP_MESSAGE_MAPPING {
ULONG requestMappingOptions;
ULONG responseMappingOptions;
WS_HTTP_HEADER_MAPPING **requestHeaderMappings;
ULONG requestHeaderMappingCount;
WS_HTTP_HEADER_MAPPING **responseHeaderMappings;
ULONG responseHeaderMappingCount;
} WS_HTTP_MESSAGE_MAPPING;
成员
requestMappingOptions
用于控制如何将 HTTP 请求中的信息映射到消息对象的选项。
responseMappingOptions
用于控制如何将 HTTP 响应中的信息映射到消息对象的选项。
requestHeaderMappings
指向映射的指针数组,这些映射描述哪些 HTTP 标头映射到 HTTP 请求的消息对象中的标头/从标头映射。 数组中的指针可能不为 NULL。
requestHeaderMappingCount
requestHeaderMappings 数组中的项数。
responseHeaderMappings
指向映射的指针数组,这些映射描述哪些 HTTP 标头映射到 HTTP 响应的消息对象中的标头/从标头映射。 数组中的指针可能不为 NULL。
responseHeaderMappingCount
responseHeaderMappings 数组中的项数。
注解
邮件可能包含不属于邮件信封的一部分的其他特定于传输的信息。 此特定于传输的信息可以编程方式作为消息对象的标头公开。
这些标头称为映射标头。
每个映射标头都作为常规标头元素存储在消息标头中, (查看 WS_MESSAGE_PROPERTY_HEADER_BUFFER) 。 空的 XML 命名空间 (“”) 用于映射标头。
此结构指定 HTTP 请求或响应与消息对象的映射标头之间的映射方式。 可以使用 WS_CHANNEL_PROPERTY_HTTP_MESSAGE_MAPPING 属性指定 结构。
下图显示了如何将 HTTP 标头映射到消息的标头中。
收到消息时,HTTP 通道会自动将指定的 HTTP 标头从请求或响应复制到消息对象的标头。 然后,应用程序可以使用 WsGetMappedHeader 获取映射标头的值。
在发送消息之前,应用程序可以使用 WsAddMappedHeader 将映射标头添加到消息对象。 发送消息时,HTTP 通道会自动从消息对象 (的标头中删除指定的标头,使它们不会显示在信封) 内,并将它们添加为 HTTP 请求或响应标头。
HTTP 通道将仅对 requestHeaderMappings 或 responseHeaderMappings 字段中指定的 HTTP 标头执行此映射。 WS_HTTP_HEADER_MAPPING用于指定每个标头,并包含有关如何向/从 HTTP 标头转换消息头的说明。
HTTP 请求或响应中与 HTTP 标头不对应的其他信息可以通过设置 requestMappingOptions 或 responseMappingOptions 映射到消息对象的标头中。 然后,可以使用 WsGetMappedHeader 提取这些映射值。
有关哪些信息可以映射到邮件头的信息,请参阅 WS_HTTP_REQUEST_MAPPING_OPTIONS 或 WS_HTTP_RESPONSE_MAPPING_OPTIONS 。
要求
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
标头 | webservices.h |