次の方法で共有


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 要素が強調表示され、HTTP 要求の MyHeader 行を指す矢印が表示された Message オブジェクトを示す図。

メッセージを受信すると、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 [デスクトップ アプリのみ]
Header webservices.h