メッセージ (Windows Web サービス)
メッセージは、送受信されるデータをカプセル化するオブジェクトです。 メッセージの構造は SOAP によって定義され、一連のヘッダーと本文が含まれます。 ヘッダーは常にメモリにバッファーされますが、本文はストリーミング API で読み取りと書き込みが行われます。
メッセージには、メッセージの動作を制御するオプションの設定を指定したり、受信したメッセージに関する追加情報 (セキュリティ情報など) を取得したりするために使用できる一連のプロパティがあります。 メッセージのプロパティの完全な一覧については、WS_MESSAGE_PROPERTY_ID のページを参照してください。
メッセージは、特定のエンドポイント アドレスにアドレス指定されます。
WS_FAULT は、リモート エンドポイントから返されるエラーを表すために使われる特別な種類のメッセージ コンテンツです。
メッセージはエンコードされ、XML が送信前に線形ワイヤ形式に変換されます。
メッセージの詳細については、「チャネル レイヤーの概要」トピックを参照してください。
以下の例は、WWSAPI でのメッセージの使用方法を示しています。
例 | 説明 |
---|---|
CustomHeaderExample | カスタム メッセージ ヘッダーの使用方法を示しています。 |
MessageEncodingExample | メッセージのエンコードとデコードを示しています。 |
ForwardMessageExample | メッセージの転送を示しています。 |
メッセージと共に使用される API 要素は次のとおりです。
Callback | 説明 |
---|---|
WS_MESSAGE_DONE_CALLBACK | メッセージが WsReadEnvelopeStart 関数に指定された WS_XML_READER 構造体、または WsWriteEnvelopeStart 関数に指定された WS_XML_WRITER 構造体の使用が完了したことを呼び出し元に通知します。 |
列挙 | 説明 |
---|---|
WS_ADDRESSING_VERSION | アドレス指定ヘッダーに使用される仕様のバージョン。 |
WS_ENVELOPE_VERSION | エンベロープ構造に使用される仕様のバージョン。 |
WS_HEADER_ATTRIBUTES | ヘッダーの SOAP mustUnderstand および Relay 属性を表すフラグのセット。 |
WS_HEADER_TYPE | ヘッダーの種類。 |
WS_MESSAGE_INITIALIZATION | WsInitializeMessage でメッセージに追加されるヘッダーを指定します。 |
WS_MESSAGE_PROPERTY_ID | 各メッセージ プロパティの ID。 |
WS_MESSAGE_STATE | メッセージの状態。 |
機能 | 説明 |
---|---|
WsAddressMessage | メッセージに宛先アドレスを割り当てます。 |
WsCheckMustUnderstandHeaders | 指定したヘッダーが受信側によって適切に認識されたことを確認します。 |
WsCreateMessage | WS_MESSAGE オブジェクトのインスタンスを作成します。 |
WsCreateMessageForChannel | 特定のチャネルでの使用に適したメッセージを作成します。 |
WsFillBody | メッセージ内に、読み取りに使用できる十分なバイト数があることを確認します。 |
WsFlushBody | 書き込まれたすべての蓄積されたメッセージ本文データをフラッシュします。 |
WsFreeMessage | メッセージに関連付けられているメモリ リソースを解放します。 |
WsGetCustomHeader | メッセージのアプリケーション定義ヘッダーを検索し、逆シリアル化します。 |
WsGetHeader | メッセージ内の特定の標準ヘッダーを検索し、逆シリアル化します。 |
WsGetHeaderAttributes | リーダーが配置されているヘッダー要素の WS_HEADER_ATTRIBUTES を ULONG パラメーターに設定します。 |
WsGetMessageProperty | 指定した Message オブジェクト プロパティを取得します。 |
WsInitializeMessage | 処理の準備としてメッセージのヘッダーを初期化します。 |
WsMarkHeaderAsUnderstood | ヘッダーをアプリケーションによって認識されるものとしてマークします。 |
WsReadBody | メッセージの XML リーダーから値を逆シリアル化します。 |
WsReadEnvelopeEnd | メッセージの終了要素を読み取ります。 |
WsReadEnvelopeStart | メッセージのヘッダーを読み取り、本文の要素を読み取る準備をします。 |
WsRemoveCustomHeader | メッセージからカスタム ヘッダーを削除します。 |
WsRemoveHeader | メッセージから標準の WS_HEADER_TYPE オブジェクトを削除します。 |
WsResetMessage | メッセージの状態を WS_MESSAGE_STATE_EMPTY に戻します。 |
WsSetHeader | メッセージ内の指定した標準ヘッダーを追加または置換します。 |
WsWriteBody | メッセージの本文に値を書き込みます。 |
WsWriteEnvelopeEnd | メッセージの終了要素を書き込みます。 |
WsWriteEnvelopeStart | メッセージの現在のヘッダー セットを含むメッセージの先頭を書き込み、本文の要素を書き込む準備をします。 |
ハンドル | 説明 |
---|---|
WS_MESSAGE | メッセージ オブジェクトを参照するために使用される不透明な型。 |
構造体 | 説明 |
---|---|
WS_FAULT | メッセージの本文に含まれる、処理エラーを示すエラー値。 |
WS_FAULT_CODE | エラー コードを表します。 |
WS_FAULT_REASON | エラーの説明が含まれています。 |
WS_MESSAGE_PROPERTIES | WS_MESSAGE_PROPERTY 構造体のセットを指定します。 |
WS_MESSAGE_PROPERTY | メッセージ固有の設定を指定します。 |