[ 
https://issues.apache.org/jira/browse/CAMEL-25516?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18125782#comment-18125782
 ] 

Claus Ibsen commented on CAMEL-25516:
-------------------------------------

Covers variables too: a header, exchange property or variable read where the 
route keeps the name in one of the other two (Claus: Camel favours variables 
now).

> camel-jbang - the validator reports a header read where the route sets an 
> exchange property of that name, and the reverse
> -------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-25516
>                 URL: https://issues.apache.org/jira/browse/CAMEL-25516
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-jbang
>            Reporter: Claus Ibsen
>            Priority: Major
>             Fix For: 4.23.0
>
>
> A route that keeps a value in an exchange property and reads it as a header 
> (or the reverse) gets null, with no error: in the local-model benchmark's 
> http-client example the model kept the line's sku in the exchange property 
> sku and built the URL with toD http://localhost:8080/stock/${header.sku}, so 
> every call went to /stock/ (63 and 81 failed requests in two runs). The 
> validator already says this for Camel's own names ("CamelTimerCounter is an 
> exchange property set by timer, not a header"); the same mix-up with the 
> route's own names is the most common slip of a model on the HTTP examples 
> (CAMEL-24886).
> Report, at the line that reads it:
> * ${header.X} (or ${headers.X}, ${header[X]}) when the route sets an exchange 
> property X and no step sets a header X: "the route keeps sku in an exchange 
> property, not a header (the header is null here): write 
> ${exchangeProperty.sku}"
> * ${exchangeProperty.X} when the route sets a header X and no exchange 
> property X, the other way round
> Quiet where the name can come from elsewhere: a route that consumes from an 
> endpoint that can carry headers (only timer, scheduler, cron, quartz and file 
> cannot), a rest or platform-http path parameter {X}, and a name set in both 
> forms.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to