0

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ヘッダーのみを設定していることがわかります。他のヘッダーも渡されない理由はありますか?

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

ありがとう

4

1 に答える 1

1

さらに調査した結果、これは CAMEL-CXF のバグであることが判明しました。Camel トランク (2.5 リリース予定) でカスタム ヘッダーをサポートするように修正されました...

于 2010-08-20T00:53:59.607 に答える