axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Victor (JIRA)" <>
Subject [jira] [Created] (AXIS2-5721) Module engaged at the service level is used globally
Date Wed, 16 Sep 2015 14:13:45 GMT
Victor created AXIS2-5721:

             Summary: Module engaged at the service level is used globally
                 Key: AXIS2-5721
             Project: Axis2
          Issue Type: Bug
          Components: modules
    Affects Versions: 1.6.3
            Reporter: Victor


Maybe I misunderstood how Axis2 was meant to work, but I have addressing and rampart present
in my modules directory, they are made available in the AxisConfiguration object, then addressing
is globally engaged because it is present in the axis2.xml file.

Later I engage rampart manually on a specific service (by calling engageModule() on the AxisService
object) and then the rampart handlers are executed for every request, even not those of the
aforementioned service.
I looked at the code and apparently, engageModule() goes down to call PhaseResolver.engageModuleToOperation(AxisOperation,
AxisModule, int) on all the operations of the AxisService, gather all the phases from the
global AxisConfiguration object and then add the Handler to the needed phases (Security in
this case) within the method PhaseHolder.addHandler(HandlerDescription).

Obviously, being in an Object-Oriented language, modifying the Phase without cloning it first
will impact also the global AxisConfiguration that have references to them as well as all
the other PhaseHolder for all the operations that have references to them…

Is that meant to be? I don't think so but I may be mistaken :)

Thank you

This message was sent by Atlassian JIRA

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message