Dear all,
I'm writing to make a request to the development team of xmlrpc.
As mention that the WebServer class is very popular, I think the following scenario is shared by many of your users.

Indeed, I have been using the Apache implementation of xmlrpc v2 successfully for many projects I'm responsible of. It's the simplicity of XML-RPC that makes his power and beauty. I'm using it entirely as a communication bridge between php code on a web server and some distributed specialized mini java servers (using the built- in server). I think the version 2 captured the simplicity of XML-RPC. Being a complete newbie, I went to the project website and read this line:
addHandler (String name, Object handler);
All I had to do is make an interface that my object implements, send the interface to the php programmers and add my object to the builtin server with this very line.

As a practice, if I need to use a framework or a library again, I'll always check if a new version is available and take the opportunity of upgrading my projects to it as soon as they need either maintenance update or major upgrade.

I was excited to see xmlrpc 3 released and started to use it. Of course, my code stopped compiling and I started to apply the changes you recommend on your website.
Then I stumbled, as many others, on:
phm.addHandler(java.lang.String pKey, java.lang.Class pClass)
mmm, I have an object... not a class.
it might not sound as bad as it is, but this little change means a lot of work on the user side. Basically, I had to create an extra class that merely has a static reference to the object I previously registered with xmlrpc 2 and for each public methods of the interface I invoke the same method on the static object... I can afford to do this because I made sure that my object could deal with multi-threads (which is why your new approach makes sense). Being not satisfied by this solution (that felt like a hack) and because I'm always trying to create code as elegant as possible I started to dig into the project classes and this mailing list messages were (of course) several people asked the same question as me. The answers I gathered so far to solve the problem and use an object as a handler are: - Create your own handler mapping. Or your own RequestProcessorFactoryFactory. - it is suggested that you overwrite the XmlRpcHandlerMapping, if you want your own implementation of XmlRpcHandler.

Honestly, I tried for a few hours, digging deeper and deeper in the project. The problem is I'm not sure that what I'm doing is the right way (probably a mapping between classnames and initialized, instantiated objects) because I don't feel I have a deep understanding of the whole project. I think it will help many users if your team could create this very useful class.
Therefore, my request is:
- to create and add to the project a class tentatively called "ObjectHandlerMapping" implementing XmlRpcHandlerMapping that let us add object as handler, similar to the v2 way. - add a paragraph on the project website that talks specifically about this issue (Migration from version 2) explaining the problem and the solutions.

Thank you very much for your attention,
Continue the good work,
Cheers,
Gam

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to