Claus Ibsen created CAMEL-26131:
-----------------------------------
Summary: camel-weather - a CamelWeatherLocation of current writes
the geolocation into the shared configuration, so every later query uses it
Key: CAMEL-26131
URL: https://issues.apache.org/jira/browse/CAMEL-26131
Project: Camel
Issue Type: Bug
Components: camel-weather
Reporter: Claus Ibsen
Fix For: 4.24.0
Found while adding the catalog body types of atom, rss, oaipmh and weather
(CAMEL-24961, PR #28417).
h4. 1. The geolocation of one exchange is used by every later query
When the {{CamelWeatherLocation}} header is {{current}} (or empty),
{{WeatherQuery.getQuery}} (main 2a465aa4814c, lines 54-57) runs the geolocation
and writes the lat/lon into the endpoint's shared {{WeatherConfiguration}}.
Every later query on that endpoint then sends that lat/lon: a request for
current and then one for Paris both requested {{lat=2&lon=1}}. Checked on
4.24.0-SNAPSHOT with a fake {{CloseableHttpClient}} and a fake
{{GeoLocationProvider}}.
Proposed: keep the lat/lon of a header-driven query local to that query instead
of setting them on the configuration.
h4. 2. The error message names the endpoint query, not the URI called
On a non-200 response {{WeatherProducer.process}} (main 2a465aa4814c, lines
62-64) reports "... as the result of the query '" + query + "'" with the
endpoint's query, not the URI built from the {{CamelWeatherLocation}} header
that was actually called. Checked on 4.24.0-SNAPSHOT with a fake
{{CloseableHttpClient}}.
Proposed: put {{uri}} in the message.
_Claude Code on behalf of davsclaus_
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)