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 標頭如何對應至訊息的標頭。

此圖顯示已醒目提示 MyHeader 元素的 Message 物件,以及指向 HTTP 要求中 MyHeader 行的箭號。

收到訊息時,HTTP 通道會自動將指定的 HTTP 標頭從要求或回應複製到訊息物件的標頭。 然後,應用程式可以使用 WsGetMappedHeader 來取得對應標頭的值。

傳送訊息之前,應用程式可以使用 WsAddMappedHeader將對應的標頭新增至訊息物件。 傳送訊息時,HTTP 通道會自動從訊息物件的標頭中移除指定的標頭, (因此不會出現在信封內) ,並將它們新增為 HTTP 要求或回應標頭。

HTTP 通道只會針對 requestHeaderMappings 或 responseHeaderMappings 欄位中指定的 HTTP 標頭執行此對應。 WS_HTTP_HEADER_MAPPING可用來指定每個標頭,並包含訊息標頭如何轉換至 HTTP 標頭或從 HTTP 標頭轉換的指示。

HTTP 要求或回應中未對應至 HTTP 標頭的其他資訊可以藉由設定 requestMappingOptions 或 responseMappingOptions,對應至訊息物件的標頭。 然後可以使用 WsGetMappedHeader來擷取這些對應的值。
如需哪些資訊可以對應至訊息標頭的資訊,請參閱 WS_HTTP_REQUEST_MAPPING_OPTIONSWS_HTTP_RESPONSE_MAPPING_OPTIONS

規格需求

   
最低支援的用戶端 Windows 7 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 R2 [僅限桌面應用程式]
標頭 webservices.h