XML-RPC over libwww...

Hello all,

Yesterday I asked if anyone had brought miniserv in line
with the latest release of libww. My reasons for asking are
that I am trying to use libwww as the transport mechanism
for Epinions XML-RPC. I find the compressed zlib stream of
libwww *extremely* interesting and a compelling reason for
me to pursue success with integrating my application with
libwww.

I have been using the listen.c example as the basis for my
implementation - and sure enough it works perfectly. I have
written my own stream interface based on the libwww
examples (attached) which simply takes a copy of the stream
for me to play with in my application. I may not even have had
to do this.

What I haven't discovered yet is how to reply to my XML-RPC
client with libwww. I have spent a while wallowing around in
the enormity of library and I would truly appreciate a helping hand
from a fellow engineer/human being to give me direction. I have
attached shamelessly hacked 'listen.c' modified to talk to my
application bits and I have also attached my streams interface,
which works (well, seems to - no guarantees).

Currently both my client and server are based on Codepunk/Indy.

http://www.codepunk.com/
http://www.nevrona.com/Indy/

My XML-RPC Client sends...

POST /RPC2 HTTP/1.0
Connection: Keep-Alive
Content-Type: text/xml
Content-Length: 189
Host: localhost:8080
Accept: */*
User-Agent: Mozilla/3.0 (compatible; Indy Library)

<?xml version="1.0"?>
<methodCall>
   <methodName>example.getHello</methodName>
   <params>
   <param>
<value><string>Hello</string></value>
   </param>
   </params>
</methodCall>

The Server sends back...

HTTP/1.1 200 OK
Connection: close
Content-Type: text/xml
Content-Length: 197
Server: Indy/9.00.10

<?xml version="1.0"?>
<methodResponse>
   <params>
   <param>
<value><string>You just sent some TEXT - it was: &quot;Hello&quot;</string></value>
   </param>
   </params>
</methodResponse>

This is what I want to achieve with libwww as the transport mechanism. I am after the
reverse of listen.c, or more exactly a listen.c that can reply to my client. Hence my prior
interest in miniserv.

I am game on for a pint to any kind contributor who ends up in my neck of the woods.
There, there is desperation for you:-)

Development environment is Borland C++ Builder 5, 
set tabstop=2 if the code looks weird.

Thank you for taking the trouble to read this,

Best Regards, Paul Ingram.


Paul Ingram Group Ltd           email: Paul.Ingram@ig.co.uk
140A High Street                   tel: +44 1483 862860
Godalming                             fax: +44 1483 862801
Surrey,                                  www.ig.co.uk
GU7 1AB United Kingdom    www.sitedirector.org

Received on Tuesday, 3 December 2002 14:07:48 UTC