XML-RPC Interactive GUI

BlitzMax Forums/BlitzMax Programming/XML-RPC Interactive GUI

Htbaa(Posted 2009) [#1]
A few days ago I made a topic about wrapping XMLRPC-EPI. A C library that allows you to make XML-RPC clients and servers.

After a lot of hours of debugging memory exceptions it seems like I've finally fixed them. As I can now do multiple requests to an XML-RPC server without receiving errors :-).

So far most of the client oriented functions are wrapped and working properly. I haven't found any memory leaks but there could still be some. So testers and collaborators are more than welcome. The project is hosted on GitHub so anyone can access it.

To speed up testing different type of requests I wrote a little GUI (see screen), thanks to LogicGUI. It shows the XML request, XML response and in the BlitzMax tab it shows how it's translated to BlitzMax.



When filling in the fields in the GUI make sure everything is correct. I use a socket to do the request, but haven't implemented a connection timeout so the app will freeze up if you enter the wrong host.

By default the request type will be off the type xmlrpc_vector_mixed. I need to add listbox to the GUI which allows you to select xmlrpc_vector_none, xmlrpc_vector_array, xmlrpc_vector_mixed or xmlrpc_vector_struct.

The parameters textarea allows you to pass parameters to the function you're calling. It uses this syntaxt:

type:id:value


Type can be: boolean, int, double, string, base64, datetime.
Id can be left blank, so use this syntaxt; id::value
Value speaks for itself.

A nice example to see how xmlrpc.mod handles a complex response is to empty the parameters textarea, and call funcs.somefunc2.

Any comments are welcome :-).

Download XML-RPC Interactive GUI
Project on GitHub (htbaapub.mod)


Htbaa(Posted 2009) [#2]
I've also started work on wrapping the XML-RPC Server part. I created a separate branch for it. It already works nicely but it needs some helper functions so it becomes easier to wrap BlitzMax functions for the XML-RPC server.

Any suggestions/improvements are more then welcome.