Croway opened a new pull request, #194:
URL: https://github.com/apache/camel-spring-boot-examples/pull/194
## Summary
- `HttpSslClientRouter` called
`.to("https://localhost:8443/ping?bridgeEndpoint=true")` from a `direct:` route
fed by a `rest().get("ping")` consumer. `bridgeEndpoint=true` only controls
whether the `CamelHttpUri` header overrides the producer's configured base URI
— it does **not** stop the `CamelHttpPath` header (set to `/ping` by the
inbound platform-http consumer) from being unconditionally appended in
`HttpHelper.createURL` (`camel-http-common`). Every call therefore hit
`https://localhost:8443/ping/ping`, got a 404 from the server, and the client
wrapped that into a 500 back to the caller.
- Confirmed this is original Camel HTTP producer behavior going back to the
component's earliest history, not a version regression — servers work fine when
hit directly, and all three documented scenarios (one-way SSL, two-way SSL,
Undertow server) were affected identically since they share the same client
router.
- Fix: drop `bridgeEndpoint=true` (the producer URI is already fully static
— nothing needs bridging) and strip the inbound `CamelHttp*` headers before the
producer call, since a plain static call doesn't need any of them forwarded.
## Test plan
- [x] Ran `ssl-server` + `ssl-client` (default, one-way SSL) — `curl
http://localhost:8080/ping` → `200 pong`
- [x] Ran `ssl-server` + `ssl-client` with `-Ptwoways` (mutual TLS) — `curl
http://localhost:8080/ping` → `200 pong`
- [x] Ran `ssl-camel-server` (Undertow) + `ssl-client` — `curl
http://localhost:8080/ping` → `200 pong`
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_015D2Ayyr8bDqenLgLpcgH4K
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]