Hi,

Do ya'll want to add introspection to XML-RPC?  It sounds like there is not 
huge amount of interest.  I'm fine with that, because it uses only the public 
XML-RPC interfaces I won't have merge hell with future releases.

I have a test client, is there an existing harness I should add it to?  

If you are interested, who should I send the diffs to?  

Kevin

On Tuesday 10 September 2002 15:33, Kevin Hester wrote:
> Hi,
>
> I recently needed to add introspection support so a user could use one of
> the C++ auto glue generation frameworks.  I found an OLD set of patches for
> this, but they were very out of date.  Instead of using these, I kept the
> same usage pattern but made a new implementation based on the current 1.2
> code base.
>
> I've implemented this support by making the following changes:
>
> * Create IntrospectiveHandlerMapping - a subclass of HandlerMapping that
> allows iteration over the list of handlers.
>
> * Create a new subclass of SystemHandler called IntrospectiveHandler.  This
> class implements the system.listMethods, system.methodHelp and
> system.methodSignature calls.  I decided to make a subclass, because I
> thought some may not want introspection.
>
>   The listMethods/methodHelp functions use the same 'marker' system the old
> patches did. i.e. to mark a method as public via XMLRPC, you must declare a
> static of the form:
>       static [final] public boolean <methodName>_public = true;
> This is necessary to avoid exposing a zillion of public methods which are
> not intended for XMLRPC.
>
> If you wish to provide 'help text' via introspection, you can optionally
> define a static string of the form:
>       static [final] public String <methodName>_help = "This method will make
> you rich";
>
> * I've also changed the sample server to use this IntrospectiveHandler
> instead of the old SystemHandler.
>
> * I've created a Servlet to automate the dispatching to handlers
>
> Do ya'll want any of these changes?  Who should I send the diffs to?
>
> Ispiri is happy to contribute these changes under the Apache license.
>
> Kevin

Reply via email to