Pregunta

I tiene una ruta que define un punto final CXFRS. Necesito recuperar los valores personalizados de encabezado HTTP de la petición de entrada ...

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

aquí es mi código de prueba de unidad para simular una petición de cliente ...

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

El problema es que la cabecera personalizada "myHeader" no está disponible a partir de mi ruta. ¿Hay otra manera de llegar a ella?

A partir de mirar el código fuente de camello cxf, puedo ver que la estrategia de cabecera por defecto / lógica obligatorios solamente establece predefinido cabeceras HTTP. ¿Hay una razón por otras cabeceras no se transmiten a través también?

De cualquier manera, ¿cuál es el mejor enfoque para anular este comportamiento?

gracias

¿Fue útil?

Solución

Después de más investigación, se comprobó que era un error en CAMEL-CXF. Se ha fijado para apoyar encabezados personalizados en el tronco del camello (programado para la liberación 2.5) ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top