Just to follow up, yes, it has been done before, by Marquee XML-RPC.
I will try to use Marquee XML-RPC.
-John
On Sun, Jun 27, 2004 at 04:58:56PM -0400, John Tobey wrote:
> Folks,
>
> Thanks for the excellent implementation! Please tell me if what I
> have in mind has already been done or is too stupid to even
> contemplate. :-)
>
> I have written a few XML-RPC methods and can call them via WebServer.
> I started writing JUnit tests for my methods and soon found myself
> writing a client stub for each method. It occurred to me that the
> stubs might be useful in contexts other than just testing. I realized
> that the stub generation might be automated with a little
> java.lang.reflect code yet to be written, assuming that I group my
> method signatures in a Java interface.
>
> Something like:
>
> interface Foo { ... } // XML-RPC method signatures
> XmlRpcClient client = ...;
> Foo proxy = (Foo) AutoProxy.create (Foo.class, client, "foo");
> proxy.meth(arg); // Call "foo.meth" remotely!
>
> ////////////////////////////////////////
> /// The code yet to be written. JDK 1.3 required. :-(
> ////////////////////////////////////////
> package org.apache.xmlrpc;
>
> public class AutoProxy implements InvocationHandler {
> /**
> * java.lang.reflect.InvocationHandler implementation
> */
> public Object invoke (Object proxy, Method meth, Object[] args)
> throws XmlRpcException, IOException
> {
> ... // translate meth/args into an XML-RPC call
> }
>
> /**
> * Create a proxy for the given methods (iFace) in the given
> * namespace (prefix).
> */
> public static Object create (Class iFace,
> XmlRpcHandler client,
> String prefix)
> {
> AutoProxy handler = new AutoProxy (iFace, client, prefix);
> return Proxy.newInstance (iFace.getClassLoader(),
> new Class[] { iFace },
> handler);
> }
> ...
> }
>
> I am thinking this might be a good opportunity to get my feet wet in
> the Java reflection API. What do you all think?
>
> Best regards,
> -John
--
John Tobey <[EMAIL PROTECTED]>
\____^-^
/\ /\