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)

Reply via email to