Even more strange,

i can see 500 in the logs however, response in postman is 404 in this
example.

from("direct:uploadFiles")
        .process(new Processor() {
            @Override
            public void process(Exchange exchange) throws Exception {

exchange.getIn().setHeader(Exchange.HTTP_RESPONSE_CODE,
constant(500));
            }
        })
        .log("Response code header: ${in.header.CamelHttpResponseCode}")
.choice().when(simple("${in.header.CamelHttpResponseCode} == 500"))
        .setHeader(Exchange.HTTP_RESPONSE_CODE, constant(500))
.otherwise().setHeader(Exchange.HTTP_RESPONSE_CODE, constant(404))
.end();


On Thu, Aug 19, 2021 at 2:51 PM Onder SEZGIN <ondersez...@gmail.com> wrote:

> Hi,
>
> i have a confusing issue while camel 3.7.5.
>
> when i have below. i can get 500.(Working fine titled example)
>
> However, if i have, HTTP response is not getting set to 500.
>
> Can anyone provide any light on this?
>
> Thanks.
>
> from("direct:uploadFiles")
>         .process(new Processor() {
>             @Override
>             public void process(Exchange exchange) throws Exception {
>                 exchange.getIn().setHeader(Exchange.HTTP_RESPONSE_CODE, 
> constant(500));
>             }
>         });
>
>
> Working fine:
> ------
>
> rest("/endpoint")
>         .consumes("application/json")
>         .produces("application/text")
>         .post("/upload")
>         .type(Void.class)
>         .to("direct:uploadFiles");
>
> from("direct:uploadFiles")
>
> .setHeader(Exchange.HTTP_RESPONSE_CODE, constant(500))
>
>

Reply via email to