質問

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ヘッダーのみをセットアップすることがわかります。他のヘッダーも通過しない理由はありますか?

いずれにせよ、この動作を無効にするための最良のアプローチは何ですか?

ありがとう

役に立ちましたか?

解決

さらに調査した後、これはCamel-CXFのバグであることがわかりました。キャメルトランクのカスタムヘッダーをサポートするために修正されました(2.5リリース予定)...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top