12.2.2. 設定の使用
Namespace
HTTP コンシューマーエンドポイントの設定に使用される要素は、名前空間 http://cxf.apache.org/transports/http/configuration で定義されています。通常、接頭辞 http-conf
を使用して参照されます。HTTP 設定要素を使用するには、例12.4「HTTP コンシューマー設定名前空間」 にある行をエンドポイント設定ファイルの beans
要素に追加する必要があります。また、設定要素の namespace を xsi:schemaLocation
属性に追加する必要があります。
例12.4 HTTP コンシューマー設定名前空間
<beans ... xmlns:http-conf="http://cxf.apache.org/transports/http/configuration" ... xsi:schemaLocation="... http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd ...">
Undertow ランタイムまたは Netty ランタイム
http-conf
namespace の要素を使用して、Undertow ランタイムまたは Netty ランタイムを設定できます。
conduit 要素
http-conf:conduit
要素とその子を使用して、HTTP コンシューマーエンドポイントを設定します。http-conf:conduit
要素は、エンドポイントに対応する WSDL port
要素を指定する単一の属性 name
を取ります。name
属性の値は、portQName`.http-conduit` の形式を取ります。例12.5「http-conf:conduit
要素」 は、エンドポイントのターゲット namespace が http://widgets.widgetvendor.net の場合に WSDL フラグメント <port binding="widgetSOAPBinding" name="widgetSOAPPort>
によって指定されるエンドポイントの設定を追加するために使用される http-conf:conduit
要素を示しています。
例12.5 http-conf:conduit
要素
... <http-conf:conduit name="{http://widgets/widgetvendor.net}widgetSOAPPort.http-conduit"> ... </http-conf:conduit> ...
http-conf:conduit
要素には、設定情報を指定する子要素があります。これらは、表12.1「HTTP コンシューマーエンドポイントの設定に使用する要素」 に説明があります。
要素 | 説明 |
---|---|
| タイムアウト、キープアライブリクエスト、コンテンツタイプなどの HTTP 接続プロパティーを指定します。「クライアント要素」を参照してください。 |
エンドポイントがプリエンプションで使用する Basic 認証方法を設定するためのパラメーターを指定します。 | |
送信 HTTP プロキシーサーバーに対して Basic 認証を設定するためのパラメーターを指定します。 | |
SSL/TLS の設定に使用するパラメーターを指定します。 | |
エンドポイントによって使用される基本認証情報または 401 HTTP チャレンジへの応答として、エンドポイントによって使用される基本認証情報を提供するオブジェクトの Bean 参照またはクラス名を指定します。 | |
情報送信前に HTTPS サービスプロバイダーとのコネクションに対して信頼を確立するために HTTP(S) |
クライアント要素
http-conf:client
要素は、コンシューマーエンドポイントの HTTP コネクションのセキュリティー以外のプロパティーを設定するために使用されます。表12.2「HTTP コンシューマー設定の属性」 で説明されている属性で、接続のプロパティーを指定します。
属性 | 説明 |
---|---|
コンシューマーがタイムアウトするまでの接続の確立を試みる期間 (ミリ秒単位) を指定します。デフォルトは
| |
コンシューマーがタイムアウトするまでの応答を待つ期間 (ミリ秒単位) を指定します。デフォルトは
| |
コンシューマーが自動的に発行されたリダイレクトに従うかどうかを指定します。デフォルトは | |
コンシューマーがリダイレクトを満たすリクエストを再送信する最大回数を指定します。デフォルトは | |
コンシューマーがチャンクを使用して要求を送信するかどうかを指定します。デフォルトは 以下のいずれかが true の場合、チャンクは使用できません。
いずれの場合も、 | |
コンシューマーを処理する用意があるメディアタイプを指定します。値は HTTP | |
応答を受信する目的でコンシューマーが好む言語 (たとえば、アメリカ英語) を指定します。この値は、HTTP 言語タグは、国際標準化機構 (ISO) によって規制されており、通常、ISO-639 標準によって決定される言語コードと ISO-3166 標準によって決定される国コードをハイフンで区切って組み合わせることによって形成されます。たとえば、en-US はアメリカ英語を表します。 | |
コンシューマーを処理する用意があるコンテンツエンコーディングを指定します。コンテンツエンコーディングラベルは、Internet Assigned Numbers Authority (IANA) により規制されています。この値は、HTTP | |
メッセージのボディーに送信されるデータのメディアタイプを指定します。メディアタイプは、多目的インターネットメール拡張機能 (MIME) タイプを使用して指定されます。値は、HTTP
Web サービスの場合、これを | |
要求が呼び出されるリソースのインターネットホストおよびポート番号を指定します。値は HTTP 通常この属性は必要ありません。これは、特定の DNS シナリオまたはアプリケーション設計でのみ必要です。たとえば、クライアントがクラスターに優先するホスト (つまり、同じインターネットプロトコル (IP) アドレスへのマッピング) を示します。 | |
各リクエスト/レスポンスダイアログの後に、特定の接続を開いたままにするか、閉じるかどうかを指定します。有効な値は 2 つあります。
| |
コンシューマーからサービスプロバイダーへの要求を設定するチェーンに含まれるキャッシュが順守する必要のある動作に関するディレクティブを指定します。「コンシューマーキャッシュ制御ディレクティブ」を参照してください。 | |
すべての要求で送信される静的クッキーを指定します。 | |
要求の発信元のブラウザーに関する情報を指定します。World Wide Web コンソーシアム (W3C) の HTTP 仕様では、これは ユーザーエージェント とも呼ばれます。一部のサーバーは、リクエストを送信するクライアントに基づいて最適化されます。 | |
特定のサービスで要求を行うようにコンシューマーに指示するリソースの URL を指定します。この値は、HTTP この HTTP プロパティーは、要求が URL を入力せずにハイパーリンクの結果をクリックすると、使用されます。これにより、サーバーは以前のタスクフローに基づいて処理を最適化し、ログ記録、最適化されたキャッシュ、廃止されたリンクやタイプミスのあるリンクのトレースなどの目的でリソースへのバックリンクのリストを生成できます。ただし、通常は Web サービスアプリケーションでは使用されません。
| |
別のプロバイダー→コンシューマー接続を介して応答を受信するための分離されたエンドポイントの URL を指定します。分離されたエンドポイントの使用の詳細については、「分離モードでの HTTP トランスポートの使用」 を参照してください。 分離されたエンドポイントが機能するには、WS-Addressing を使用するようにコンシューマーエンドポイントとサービスプロバイダーエンドポイントの両方を設定する必要があります。 | |
要求がルーティングされるプロキシーサーバーの URL を指定します。 | |
要求がルーティングされるプロキシーサーバーのポート番号を指定します。 | |
要求のルーティングに使用されるプロキシーサーバータイプを指定します。有効な値は以下のとおりです。
|
例
例12.6「HTTP コンシューマーエンドポイントの設定」 は、リクエスト間でプロバイダーへの接続を開いたままにし、呼び出しごとに 1 回だけリクエストを再送信し、チャンクストリームを使用できない HTTP コンシューマーエンドポイントの設定を示しています。
例12.6 HTTP コンシューマーエンドポイントの設定
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:http-conf="http://cxf.apache.org/transports/http/configuration" xsi:schemaLocation="http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <http-conf:conduit name="{http://apache.org/hello_world_soap_http}SoapPort.http-conduit"> <http-conf:client Connection="Keep-Alive" MaxRetransmits="1" AllowChunking="false" /> </http-conf:conduit> </beans>
補足情報
HTTP コンジットの詳細については、16章コンジット を参照してください。