You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Frank Denninger (Jira)" <ji...@apache.org> on 2020/08/04 20:06:00 UTC

[jira] [Updated] (CAMEL-15370) CxfRsProducer: All but last value of query parameter with multiple values are lost

     [ https://issues.apache.org/jira/browse/CAMEL-15370?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Frank Denninger updated CAMEL-15370:
------------------------------------
    Description: 
If using a query parameter name multiple times, only the last value is actually used.

 

e.g.  .to("cxfrs:[http://example.com/]") with Exchange value Exchange.HTTP_QUERY id=1&id=2 will call to example.com with id=2

 

As far as i can tell the problem is caused by CxfRsProducer::getQueryParametersFromQueryString. In the method all query paramters are inserted in a map, and only the last use of a parameter name is preserved.

 

One solution would be to insert the values directy into the client field, skipping the Map.

 

  was:
If using a query parameter name multiple times, only the last value is actually used.

 

e.g.  .to("cxfrs:http://example.com/") with Exchange value Exchange.HTTP_QUERY id=1&id=2 will call to example.com with id=2

 

As far as i can tell the problem is caused by CxfRsProducer::getQueryParametersFromQueryString. In the method all query paramters are inserted in a map, and only the last use of a parameter name is preserved.

 

One solution would be to insert the values directy into the client variable and skiping the Map.

 


> CxfRsProducer: All but last value of query parameter with multiple values are lost
> ----------------------------------------------------------------------------------
>
>                 Key: CAMEL-15370
>                 URL: https://issues.apache.org/jira/browse/CAMEL-15370
>             Project: Camel
>          Issue Type: Bug
>          Components: came-cxf
>    Affects Versions: 3.3.0
>            Reporter: Frank Denninger
>            Priority: Major
>
> If using a query parameter name multiple times, only the last value is actually used.
>  
> e.g.  .to("cxfrs:[http://example.com/]") with Exchange value Exchange.HTTP_QUERY id=1&id=2 will call to example.com with id=2
>  
> As far as i can tell the problem is caused by CxfRsProducer::getQueryParametersFromQueryString. In the method all query paramters are inserted in a map, and only the last use of a parameter name is preserved.
>  
> One solution would be to insert the values directy into the client field, skipping the Map.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)