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 はエンドポイントに配送するだけで、そのエンドポイントのトランスポート設定を置き換えません。

コンポーネントレベルの設定は共有の既定値を提供できます。エンドポイントレベルの設定は、特定のルートを明示的に保ちます。

関連記事