2010-08-13 4 views
0

J'ai une route qui définit un point de terminaison CXFRS. Je dois récupérer les valeurs d'en-tête HTTP personnalisé à partir de la demande entrante ...camel-cxfrs avec des en-têtes http personnalisés

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()); 
         ... 

ici est mon code de test unitaire pour simuler une demande client ...

HttpGet get = new HttpGet("http://localhost:9000/rest/customerservice/customers/126"); 
    get.addHeader("myHeader", "1234"); 
    HttpClient httpclient = new DefaultHttpClient(); 
    HttpResponse response = httpclient.execute(get); 

Le problème est que l'en-tête personnalisé "myHeader" n'est pas disponible depuis mon itinéraire. Y a-t-il un autre moyen d'y arriver? En examinant le code source de camel-cxf, je constate que la stratégie d'en-tête/de liaison par défaut ne configure que les en-têtes HTTP prédéfinis. Y a-t-il une raison pour laquelle les autres en-têtes ne passent pas aussi bien?

De toute façon, quelle est la meilleure approche pour contourner ce comportement?

grâce

Répondre

1

Après plus d'instruction, il a été constaté un bogue dans CAMEL-CXF. Il a été corrigé pour prendre en charge les en-têtes personnalisés dans le coffre Camel (prévu pour la version 2.5) ...

Questions connexes