The other inconsistence is that path parameters defined in the Rest DSL are 
copied to Exchange headers without any issue, i.e., unaffected by the header 
filter strategy.  So we end up with:

Path parameters unaffected by header filter.
Query parameters affected by header filter.

I would think both should behave the same way, preferable not being affected by 
the header filter strategy.


Best regards,
Alex soto




> On Feb 6, 2020, at 4:44 PM, Alex Soto <alex.s...@envieta.com> wrote:
> 
> Look like it is caused by my:
> 
>       <endpointProperty key="headerFilterStrategy" value="#headerFilter" />
> 
> Which is very strange, since the ones that have default value are not being 
> filtered.  
> 
> However my intention (when using the header filter strategy) is to filter 
> incoming HTTP request headers,  not to the headers that are copied from the 
> query parameters, since this is done by Camel and it is still useful.   Is 
> there a way to control this?
> 
> 
> Best regards,
> Alex soto
> 
> 
> 
> 
>> On Feb 6, 2020, at 3:34 PM, Alex Soto <alex.s...@envieta.com 
>> <mailto:alex.s...@envieta.com>> wrote:
>> 
>> Hello:
>> 
>> Running Camel 3.0.1.  I have a Rest DSL, where Query Params are not being 
>> copied to the Exchange 
>> 
>>              <rest path="executions">
>>                      <get>                                           
>>                              <param name="dataSchemaId" type="query" 
>> dataType="int" required="false"/>
>>                              <param name="dataSourceId" type="query" 
>> dataType="int" required="false"/>
>>                              <param name="incomplete" type="query" 
>> dataType="boolean" required="false" defaultValue="false"/>
>>                              <param name="pending" type="query" 
>> dataType="boolean" required="false" defaultValue="false"/>
>>                              <param name="running" type="query" 
>> dataType="boolean" required="false" defaultValue="false"/>
>>                              <param name="failed" type="query" 
>> dataType="boolean" required="false" defaultValue="false"/>
>>                              <param name="offline" type="query" 
>> dataType="boolean" required="false" defaultValue="false"/>
>>                              <param name="startIndex" type="query" 
>> dataType="int" required="false"/>
>>                              <param name="maxResult" type="query" 
>> dataType="int" required="false"/>
>>                              <param name="ascendingSortOrder" type="query" 
>> dataType="boolean" required="false" defaultValue="false"/>
>>                              
>>                              <to uri="direct:list-executions"/>
>>                      </get>
>>              </rest>
>> 
>> 
>> When I send a GET request to  executions?dataSchemaId=100    the exchange 
>> parameters do not include the dataSchemaId parameter, but it does contain 
>> all the other params that have a default value.  The Rest DSL is configured 
>> to use Servlet component.  The documentation 
>> https://camel.apache.org/manual/latest/rest-dsl.html 
>> <https://camel.apache.org/manual/latest/rest-dsl.html> seems to imply that 
>> the query parameters are copied to the Exchange headers, but this is not 
>> happening.  Any idea?
>> 
>> 
>> Best regards,
>> Alex soto
>> 
>> 
>> 
>> 
> 

Reply via email to