Web サービス・クライアントまたは Web サーバーからメッセージを受信するとき、そのメッセージを受信する HTTPInput または HTTPRequest ノードは、HTTP ヘッダーを構文解析して、メッセージ・ツリー内にエレメントを作成する必要があります。
HTTPReply または HTTPRequest メッセージが Web サービス・クライアントまたは Web サーバーにメッセージを送信するとき、これは HTTP ヘッダーを構文解析して、メッセージ・ツリーをビット・ストリームにする必要があります。
メッセージの HTTP ヘッダーは、処理するメッセージのタイプに応じて異なります。
メッセージ・フローで識別されるメッセージのタイプは 4 つあり、それぞれに 1 つのパーサーが関連付けられています。
- 入力。
入力メッセージは、Web サービス・クライアントから送信されて、HTTPInput ノードで受信されます。
入力メッセージ内の HTTP ヘッダー (CRLFCRLF までのデータ (CRLFCRLF 自体も含む)) は、HTTPInput パーサーによって構文解析され、メッセージ・ツリーの中の相関名 HTTPInput の下に組み込まれます。
入力メッセージの中には、以下の表に表示されるヘッダーが入っているものと期待されます。
他のヘッダーが入っている場合もあります。
ヘッダー |
内容 |
例 |
Host |
クライアントがメッセージを送出するホスト名。 |
localhost |
Content-Length |
入力メッセージの本体 (最後のヘッダーの後の CRLFCRLF に続く部分) の長さ (10 進)。 |
520 |
Content-Type |
本体データのタイプ。 |
text/xml; charset=utf-8 |
SOAPAction |
|
"" (空ストリング) |
- 応答。
応答メッセージは、対応する入力メッセージを送信した Web サービス・クライアントに対して、HTTPReply ノードから送信されます。
応答メッセージ内の Web サービス・ヘッダーは、メッセージ・ツリーの中の相関名 HTTPReply の下に作成されます。これは、メッセージ・ツリーのこの部分を構文解析してビット・ストリームにするパーサーの名前でもあります。
Compute ノードで独自の HTTPReply ヘッダーを作成することもできますし、デフォルト値または入力メッセージの HTTPReply または HTTPResponse ツリーから取った値を使ってヘッダーを作成するよう、HTTPReply ノードを構成することもできます。
HTTPReply ノードがデフォルトの HTTPReply ヘッダーを作成する場合、このヘッダーの中には以下の表に表示される Web サービス・ヘッダーと値が入っています。
ヘッダー |
値 |
Content-Length (入力メッセージにあった場合) |
応答メッセージ本体の計算された長さ (10 進)。 |
Content-Type |
text/xml; charset=utf-8 |
- 要求。
要求メッセージは、HTTPRequest ノードによって、Web サーバーに送信されます。
このメッセージ内の HTTP ヘッダーは、メッセージ・ツリーの中の相関名 HTTPRequest の下に作成されなければなりません。
そして、メッセージ・ツリーを構文解析してビット・ストリームにするとき、HTTPRequest パーサーによって構文解析されます。
Compute ノードで独自の HTTPRequest ヘッダーを作成することもできますし、デフォルト値または入力メッセージの HTTPInput または HTTPRequest ツリーから取った値を使ってヘッダーを作成するよう、HTTPRequest ノードを構成することもできます。
HTTPRequest ノードがデフォルトの HTTPRequest ヘッダーを作成する場合、このヘッダーの中には以下の表に表示される Web サービス・ヘッダーと値が入っています。
ヘッダー |
値 |
Host |
「デフォルト Web サービス URL」プロパティーに設定された値。 |
Content-Length |
要求メッセージ本体の計算された長さ (10 進)。 |
Content-Type |
text/xml; charset=utf-8 |
SOAPAction |
"" (空ストリング) |
- 応答。
応答メッセージは、要求メッセージの送信先の Web サーバーから送信され、HTTPRequest ノードが受信します。
応答メッセージ内の HTTP ヘッダー (CRLFCRLF までのデータ (CRLFCRLF 自体も含む)) は、HTTPResponse パーサーによって構文解析され、メッセージ・ツリーの中の相関名 HTTPResponse の下に組み込まれます。
応答メッセージの中には、以下の表に表示されるヘッダーが入っているものと期待されます (しかし、絶対必要というわけではありません)。他のヘッダーが入っている場合もあります。
ヘッダー |
内容 |
例 |
Content-Length |
応答メッセージ本体の長さ (10 進)。 |
1585 |
Web サービス・サンプル・メッセージに、上記のヘッダーが組み込まれたメッセージの例を示します。