CXFRSエンドポイントを定義するルートがあります。インバウンドリクエストからカスタムHTTPヘッダー値を取得する必要があります...
from(CXF_RS_ENDPOINT_URI)
.process(new Processor() {
public void process(Exchange exchange) throws Exception {
Message inMessage = exchange.getIn();
System.out.println("headers->" + inMessage.getHeaders());
...
これがクライアントリクエストをシミュレートするためのユニットテストコードです...
HttpGet get = new HttpGet("http://localhost:9000/rest/customerservice/customers/126");
get.addHeader("myHeader", "1234");
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = httpclient.execute(get);
問題は、カスタムヘッダー「myHeader」が私のルートから利用できないことです。それに到達する別の方法はありますか?
camel-cxfのソースコードを見ると、デフォルトのヘッダー戦略/バインディングロジックは事前定義されたHTTPヘッダーのみを設定していることがわかります。他のヘッダーも渡されない理由はありますか?
いずれにせよ、この動作をオーバーライドするための最良のアプローチは何ですか?
ありがとう