Hello,
I have diagnosed this problem and it appears that void methods are turned on
if content extensions are turned on.
FYI the following code in the overridden Servlet is a workaround:
/** Creates a new instance of {...@link PropertyHandlerMapping} by
* loading the property file from the given URL. Called from
* {...@link #newXmlRpcHandlerMapping()}.
*/
@Override
protected PropertyHandlerMapping newPropertyHandlerMapping(URL url)
throws IOException, XmlRpcException {
PropertyHandlerMapping mapping = new PropertyHandlerMapping();
mapping.setAuthenticationHandler(getAuthenticationHandler());
if (getRequestProcessorFactoryFactory() != null) {
mapping.setRequestProcessorFactoryFactory(getRequestProcessorFactoryFactory(
));
}
if (getTypeConverterFactory() != null) {
mapping.setTypeConverterFactory(getTypeConverterFactory());
} else {
mapping.setTypeConverterFactory(getXmlRpcServletServer().getTypeConverterFac
tory());
}
mapping.setVoidMethodEnabled(false);
mapping.load(Thread.currentThread().getContextClassLoader(), url);
return mapping;
}
Cheerio,
Nic
-----Original Message-----
From: Nicholas Hemley [mailto:[email protected]]
Sent: 05 January 2010 11:07
To: [email protected]
Subject: problem upgrading from 3.0 to 3.1.2
Hello,
I have recently installed the 3.1.2 jars in place of the 3.0 jars and have
encountered a problem.
None of my XmlRpcServlets work and when I connect, the following error is
reported:
java.lang.IllegalStateException: Invalid parameter or result type:
javax.servlet.ServletRequest
org.apache.xmlrpc.common.TypeConverterFactoryImpl.getTypeConverter(TypeConve
rterFactoryImpl.java:296)
This error occurs at the beginning of my overridden
newXmlRpcHandlerMapping() method
protected XmlRpcHandlerMapping newXmlRpcHandlerMapping() throws
XmlRpcException {
...
here >> PropertyHandlerMapping mapping = (PropertyHandlerMapping)
super.newXmlRpcHandlerMapping();
...
}
Please can anyone explain this problem? Is the XML-RPC documentation on the
website not up to date?
Cheerio,
Nic Hemley