Victor created AXIS2-5721:
-----------------------------
Summary: Module engaged at the service level is used globally
Key: AXIS2-5721
URL: https://issues.apache.org/jira/browse/AXIS2-5721
Project: Axis2
Issue Type: Bug
Components: modules
Affects Versions: 1.6.3
Reporter: Victor
Hi,
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
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]