Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
3.1
-
None
-
None
Description
1)
A bug was inserted when the patch for XMLRPC-116 was changed/refactored slightly.
In handleInitParameters you call ReflectionUtil.setProperty(server, name, value) where server is an XmlRpcServletServer . This class does not have any setters for init parameters such as "enabledForExtensions" or "contentLengthOptional", so reflection fails. I believe that methods on XmlRpcServerConfig are reflection should be used on (this is what I did in my patch) and therefore
ReflectionUtil.setProperty(server, name, value)
should change to
ReflectionUtil.setProperty(server.getConfig(), name, value).
2)
The latter issue was due to voidMethodEnabled not being set (here: to true) using isEnabledForExtension prior to public method being registered and therefore
XmlRpcServlet.newPropertyHandlerMapping:~180
should change to
mapping.setVoidMethodEnabled(server.getConfig().isEnabledForExtensions());
mapping.load(Thread.currentThread().getContextClassLoader(), url);
from
mapping.load(Thread.currentThread().getContextClassLoader(), url);
mapping.setVoidMethodEnabled(server.getConfig().isEnabledForExtensions());