Solution provided in FAQ is wrong:  How to I get the clients IP address in a 
handler?
-------------------------------------------------------------------------------------

                 Key: XMLRPC-158
                 URL: https://issues.apache.org/jira/browse/XMLRPC-158
             Project: XML-RPC
          Issue Type: Bug
            Reporter: F. Andy Seidl
            Priority: Minor


The code provided in the "How to I get the clients IP address in a handler?" 
does not work.  Specifically, the override of method 
newPropertyHandlerMapping(URL url) attempts to set a customized 
RequestSpecificProcessorFactoryFactory class but it does so too late for it to 
have any effect.

A correct (and cleaner) solution is to make use of the 
XmlRpcServlet.setRequestProcessorFactoryFactory() method which is intended for 
this purpose.  This can be done in the constructor of the derived class.  E.g.,:

public class MyXmlRpcServlet extends XmlRpcServlet
{
        public MyXmlRpcServlet()
        {
                RequestProcessorFactoryFactory factory = new 
RequestSpecificProcessorFactoryFactory()
                {
                        protected Object getRequestProcessor(Class pClass, 
XmlRpcRequest pRequest) throws XmlRpcException
                        {
                                .
                                .
                                .
                        }
                };

                setRequestProcessorFactoryFactory(factory);
        }
.
.
.
}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to