Ioannis Chouklis created CXF-5737:
-------------------------------------
Summary: The endpoint address gets manipulated after accessing it
Key: CXF-5737
URL: https://issues.apache.org/jira/browse/CXF-5737
Project: CXF
Issue Type: Bug
Components: Soap Binding
Affects Versions: 2.7.11
Reporter: Ioannis Chouklis
Priority: Minor
If a host has multiple aliases, or if there is a load balancer in-front of a
cluster, then upon accessing an endpoint, the original endpoint's address is
rewritten and therefore displayed incorrectly.
Steps to reproduce:
1. Register a CXFNonSpringServlet under some path (e.g. /webservices)
1. Publish some endpoints (e.g. /foobar, /barfoo)
2. Set multiple aliases for a node (e.g. node1, host1, server1)
3. Access the servlet /webservices via one of the aliases (e.g. node1)
4. Access one of the endpoints (e.g. /foobar)
5. Now access the /webservice via another alias (e.g. node2)
6. Access the endpoint /barfoo via node2
Actual results:
The endpoint address for /foobar has changed to http://node1/foobar, while the
endpoint address for /barfoo has changed to http://node2/barfoo. This change is
triggered via
org.apache.cxf.transport.servlet.ServletController.updateDestination(request, d)
Inside of updateDestination it is only verified whether the address of the
AbstractHTTPDestination begins with an 'http' prefix and if not, then the
address is updated.
No idea if that's normal behavior or if it's a (valid) bug.
--
This message was sent by Atlassian JIRA
(v6.2#6252)