問題タブ [cxf-client]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ssh - JAX-RS / Apache CXF で Host ヘッダーを設定する方法
HTTPS 経由でサービスにアクセスしようとしていますが、ネットワーク設定が制限されているため、ssh トンネル経由でリクエストを送信しようとしています。
次のようなコマンドでトンネルを作成します。
ssh -L 9443:my-service.com:443 sdt-jump-server
このサービスは HTTPS 経由でのみ利用でき、自己署名証明書でホストされ、ホスト名または明示的な Host ヘッダーのいずれかを使用して着信要求を適切なバックエンド サービスにルーティングするロード バランサーの背後にあります。
curl のようなものを使用して、ローカル システムからエンドポイントを呼び出すことができます
curl -k -H 'ホスト: my-service.com' https://localhost:9443/path
しかし、JAX-RS の CXF 3.1.4 実装を使用してまったく同じ要求を作成しようとすると、うまくいかないようです。接続を許可するように hostnameVerifier を構成し、サーバーの証明書をダウンロードして、トラストストアに追加しました。接続できるようになりましたが、設定しようとしている Host ヘッダーをロードバランサーが認識していないようでした。
-Djavax.net.debug
設定して、渡された Host ヘッダーが実際には設定した値ではなく、設定した値であることがわかるまで、少し迷いましたlocalhost
。WebTarget の URL の値を使用する代わりに、CXF が設定している Host ヘッダーを尊重するようにする方法は?!
java - JAXRSClientFactory が cxf-rt-frontend-jaxrs-3.3.0 に見つかりません
org.apache.cxf.jaxrs.client.JAXRSClientFactory
適切に注釈が付けられたインターフェースから REST クライアントを作成するために使用していました。
ただし、コードの他の場所が使用されているため、cxf-rt-frontend-jaxrs
バージョンをから2.7.18
に更新する必要があり、バージョンのコンパイルエラーがスローされ始めました。3.3.0
WebApplicationException
2.7.18
しかし、3.3.0
最新版であるにアップデートしたらclient
パッケージ自体がjaxrs
パッケージから消えてしまいました。
JAXRSClientFactory
新しい瓶のどこにあるのか教えてください。それは完全に削除されたようです。