WS_HTTP_MESSAGE_MAPPING structure (webservices.h)
Spécifie des informations sur la façon dont une requête ou une réponse HTTP doit être représentée dans un objet message.
Syntaxe
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;
Membres
requestMappingOptions
Options qui contrôlent la façon dont les informations de la requête HTTP sont mappées à l’objet message.
responseMappingOptions
Options qui contrôlent la façon dont les informations de la réponse HTTP sont mappées à l’objet message.
requestHeaderMappings
Tableau de pointeurs vers des mappages qui décrivent les en-têtes HTTP mappés vers/depuis les en-têtes dans l’objet message pour une requête HTTP. Les pointeurs du tableau peuvent ne pas être NULL.
requestHeaderMappingCount
Nombre d’éléments dans le tableau requestHeaderMappings.
responseHeaderMappings
Tableau de pointeurs vers des mappages qui décrivent les en-têtes HTTP mappés vers/depuis les en-têtes dans l’objet message pour une réponse HTTP. Les pointeurs du tableau peuvent ne pas être NULL.
responseHeaderMappingCount
Nombre d’éléments dans le tableau responseHeaderMappings.
Remarques
Un message peut contenir des informations supplémentaires spécifiques au transport qui ne font pas partie de l’enveloppe du message. Ces informations spécifiques au transport peuvent être exposées par programmation en tant qu’en-têtes de l’objet message.
Ces en-têtes sont appelés en-têtes mappés.
Chaque en-tête mappé est stocké en tant qu’élément d’en-tête standard dans les en-têtes du message (voir WS_MESSAGE_PROPERTY_HEADER_BUFFER). L’espace de noms XML vide (« ») est utilisé pour les en-têtes mappés.
Cette structure spécifie comment le mappage se produit entre une requête ou une réponse HTTP et les en-têtes mappés de l’objet message. La structure peut être spécifiée à l’aide de la propriété WS_CHANNEL_PROPERTY_HTTP_MESSAGE_MAPPING .
Le diagramme suivant montre comment les en-têtes HTTP sont mappés aux en-têtes d’un message.
Lorsqu’un message est reçu, le canal HTTP copie automatiquement les en-têtes HTTP spécifiés à partir de la demande ou de la réponse vers les en-têtes de l’objet message. L’application peut ensuite utiliser WsGetMappedHeader pour obtenir les valeurs des en-têtes mappés.
Avant l’envoi d’un message, une application peut ajouter des en-têtes mappés à l’objet message à l’aide de WsAddMappedHeader. Lorsque le message est envoyé, le canal HTTP supprime automatiquement les en-têtes spécifiés des en-têtes de l’objet message (de sorte qu’ils n’apparaissent pas dans l’enveloppe) et les ajoute en tant qu’en-têtes de requête ou de réponse HTTP.
Le canal HTTP effectue uniquement ce mappage pour les en-têtes HTTP qui ont été spécifiés dans les champs requestHeaderMappings ou responseHeaderMappings. Le WS_HTTP_HEADER_MAPPING est utilisé pour spécifier chaque en-tête et inclut des instructions sur la façon dont l’en-tête de message est transformé vers/à partir d’un en-tête HTTP.
D’autres informations d’une requête ou d’une réponse HTTP qui ne correspondent pas aux en-têtes HTTP peuvent être mappées dans l’en-tête de l’objet message en définissant requestMappingOptions ou responseMappingOptions. Ces valeurs mappées peuvent ensuite être extraites à l’aide de WsGetMappedHeader.
Consultez WS_HTTP_REQUEST_MAPPING_OPTIONS ou WS_HTTP_RESPONSE_MAPPING_OPTIONS pour plus d’informations sur les informations qui peuvent être mappées dans les en-têtes de message.
Configuration requise
Client minimal pris en charge | Windows 7 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 R2 [applications de bureau uniquement] |
En-tête | webservices.h |