Camel HTTP プロデューサーのプロキシ設定
Camel HTTP プロデューサーのプロキシエンドポイントを直接設定し、CXF コンジットや宛先サービスと区別します。
Camel の HTTP コンポーネントでは、外向きのリクエストを行うプロデューサーのエンドポイントにフォワードプロキシを置きます。Camel 4.18 では、RouteBuilder の断片を次のように使えます:
from("direct:status")
.to("https://service.example.net/status"
+ "?proxyHost=proxy.example.net"
+ "&proxyPort=8080"
+ "&proxyAuthScheme=http");
サービス URL はあくまで宛先のままです。プロキシ認証なしで許可された公開 API のテストには、HTTP プロキシ一覧の候補が中継ホストとポートを提供できます。proxyHost と proxyPort は中継先を指定し、proxyAuthScheme はそこへの接続に使うプロトコルを選びます。HTTP プロキシは HTTPS リクエストをトンネル経由で運べます。
デプロイ固有の値にはプロパティのプレースホルダーを使います。プロキシ認証が必要な場合、コンポーネントは proxyAuthUsername、proxyAuthPassword、認証方式の個別オプションを公開します。サービスの認証は別のオプションを使います。
この設定は camel-http に属します。CXF コンジットは CXF クライアントを設定するものであり、ルートに SOAP 関連のコンポーネントが含まれるという理由だけで HTTP プロデューサーを設定するわけではありません。同様に、ProducerTemplate はエンドポイントに配送するだけで、そのエンドポイントのトランスポート設定を置き換えません。
コンポーネントレベルの設定は共有の既定値を提供できます。エンドポイントレベルの設定は、特定のルートを明示的に保ちます。