I sent an email today describing a small patch which simply does a bit more refactoring with the XmlRpcRequest object, deprecating the various execute() methods that were around to use this central object. I also added a few more fields to it, and the accumulation of headers (which aren't used at the moment). This patch should hopefully be very straightforward. I haven't written any extra test cases, but 'ant test' passes the test cases. My intention is to hopefully build on this with an introspection patch and/or interceptors patch. A Kevin Hester seems to have already contributed a patch implementing the exact same introspection I would (it all derives from the same original patch). My introspection mods are sitting on my disk at work, I wanted to take one step at a time. However it seems that maybe people don't want introspection in (for security reasons), which is fine. Already (again) I hear someone asking about adding the ability to modify HTTP headers. I hate to beat the same drum over again, but I have frequently replied to posts saying that the interceptors patch would handle this, not to much avail. With the patch I sent today, at least this is a possibility without interceptors (because now XmlRpcRequest holds the headers).
As far as my original attempts to get the interceptors patch noticed, you can find some of the history here: http://marc.theaimsgroup.com/?a=93724818900001&r=1&w=2 (it doesn't go all the way back because I started back when Hannes Wolfner was still running the project from his site) To defend myself, I did describe what files were touched, what the patch did, and supplied a web page with further documentation on the flow of control, etc (it's all still there at: http://aeolus.cit.cornell.edu/xmlrpc/xmlrpc.html). I also included a verbosely documented fully working example usage (http://aeolus.cit.cornell.edu/xmlrpc/InterceptorsSample.java.html). I'm not sure if this counts as a "test case"...it is not a JUnit test case although it could encapsulated by one. This was an update to a preexisting patch of mine, and I don't remember any feedback indicating I should provide any further test case. I don't mind my patch being rejected, as long as I am at least told as much. It is just frustrating to see people ask for the same functionality over and over again which could be provided by a patch sitting on my hard drive. Personally, I don't see a critical need for introspection, however to do anything but basic HTTP authentication (and perhaps SSL, I've never tried that with this package), some sort of hooking mechanism is critical. CORBA has it, Tomcat has it, JBoss has it, even Axis appears to have it to some extent. The overhead of XML parsing/generating, and network IO probably dwarves any other aspect of the library. I think we are going to have to move to SOAP here (which is why I am investigating hooking mechanisms in Axis) because that is the train the industry has jumped on, so if the Apache xml-rpc community really doesn't want interceptors I'm not going to force it. Aaron Hamid