WS_HTTP_MESSAGE_MAPPING-Struktur (webservices.h)

Gibt Informationen dazu an, wie eine HTTP-Anforderung oder -Antwort in einem Nachrichtenobjekt dargestellt werden soll.

Syntax

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;

Member

requestMappingOptions

Optionen, die steuern, wie Informationen in der HTTP-Anforderung dem Nachrichtenobjekt zugeordnet werden.

responseMappingOptions

Optionen, die steuern, wie Informationen in der HTTP-Antwort dem Nachrichtenobjekt zugeordnet werden.

requestHeaderMappings

Ein Array von Zeigern auf Zuordnungen, die beschreiben, welche HTTP-Header im Nachrichtenobjekt für eine HTTP-Anforderung an/von Headern zugeordnet werden. Die Zeiger im Array sind möglicherweise nicht NULL.

requestHeaderMappingCount

Die Anzahl der Elemente im requestHeaderMappings-Array.

responseHeaderMappings

Ein Array von Zeigern auf Zuordnungen, die beschreiben, welchen HTTP-Headern im Nachrichtenobjekt für eine HTTP-Antwort header zugeordnet sind. Die Zeiger im Array sind möglicherweise nicht NULL.

responseHeaderMappingCount

Die Anzahl der Elemente im array responseHeaderMappings.

Hinweise

Eine Nachricht kann zusätzliche transportspezifische Informationen enthalten, die nicht Teil des Nachrichtenumschlags sind. Diese transportspezifischen Informationen können programmgesteuert als Header des Nachrichtenobjekts verfügbar gemacht werden.
Diese Header werden als zugeordnete Header bezeichnet.

Jeder zugeordnete Header wird als reguläres Headerelement in den Headern der Nachricht gespeichert (siehe WS_MESSAGE_PROPERTY_HEADER_BUFFER). Der leere XML-Namespace ("") wird für zugeordnete Header verwendet.

Diese Struktur gibt an, wie die Zuordnung zwischen einer HTTP-Anforderung oder -Antwort und den zugeordneten Headern des Nachrichtenobjekts erfolgt. Die Struktur kann mithilfe der eigenschaft WS_CHANNEL_PROPERTY_HTTP_MESSAGE_MAPPING angegeben werden.

Das folgende Diagramm zeigt, wie HTTP-Header den Headern einer Nachricht zugeordnet werden.

Diagramm: Ein Message-Objekt mit hervorgehobenem MyHeader-Element und einem Pfeil, der auf die MyHeader-Zeile in einer HTTP-Anforderung zeigt.

Wenn eine Nachricht empfangen wird, kopiert der HTTP-Kanal automatisch die angegebenen HTTP-Header aus der Anforderung oder Antwort an die Header des Nachrichtenobjekts. Die Anwendung kann dann WsGetMappedHeader verwenden, um die Werte der zugeordneten Header abzurufen.

Bevor eine Nachricht gesendet wird, kann eine Anwendung dem Nachrichtenobjekt mithilfe von WsAddMappedHeader zugeordnete Header hinzufügen. Wenn die Nachricht gesendet wird, entfernt der HTTP-Kanal automatisch die angegebenen Header aus den Headern des Nachrichtenobjekts (damit sie nicht im Umschlag angezeigt werden), und fügt sie als HTTP-Anforderungs- oder Antwortheader hinzu.

Der HTTP-Kanal führt diese Zuordnung nur für HTTP-Header durch, die in den Feldern requestHeaderMappings oder responseHeaderMappings angegeben wurden. Die WS_HTTP_HEADER_MAPPING wird verwendet, um jeden Header anzugeben, und enthält Anweisungen dazu, wie der Nachrichtenheader in einen/aus einem HTTP-Header transformiert wird.

Andere Informationen in einer HTTP-Anforderung oder -Antwort, die nicht HTTP-Headern entsprechen, können dem Header des Nachrichtenobjekts zugeordnet werden, indem Sie die requestMappingOptions oder responseMappingOptions festlegen. Diese zugeordneten Werte können dann mit WsGetMappedHeader extrahiert werden.
Informationen dazu, welche Informationen nachrichtenheadern zugeordnet werden können, finden Sie unter WS_HTTP_REQUEST_MAPPING_OPTIONS oder WS_HTTP_RESPONSE_MAPPING_OPTIONS .

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Kopfzeile webservices.h