Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-5737

The endpoint address gets manipulated after accessing it

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.7.11
    • Fix Version/s: 3.0
    • Component/s: Soap Binding
    • Labels:
      None
    • Estimated Complexity:
      Unknown

      Description

      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.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              ioannis.chouklis Ioannis Chouklis
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: