структура WS_HTTP_MESSAGE_MAPPING (webservices.h)
Указывает сведения о том, как 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 будет выполнять это сопоставление только для заголовков HTTP, указанных в полях requestHeaderMappings или responseHeaderMappings. 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 |