|
When Axis utilizes reflection it uses the
getDeclaredXXX methods rather than just getXXX methods. Why does
axis need access to class private information? The java code
emitted by wsdl2java doesn't create beans with private
methods, private fields, or private constructors for
marshalling\unmarshalling.
Explanation?
Intentional? As currently designed the security manager
must be set up with java.lang.RunTimePermission "accessDeclaredMembers".
getDeclaredConstructor
getDeclaredMethod
getDeclaredField
vs.
getConstructor
getMethod
getField
A few examples:
org\apache\axis\client\ServiceFactory.java
Service.class.getDeclaredConstructor(
formalArgs);
vs:
Service.class.getConstructor(formalArgs);
org/apache/axis/wsdl/fromjava/Emitter.java
cls.getDeclaredConstructors();
vs.
cls.getConstructors(); thanks in advance
|
