Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
RPCs, XML, Schemas, WSDL and SOAP
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Jon Harrop <jon@f...>
Subject: RPCs, XML, Schemas, WSDL and SOAP

So I'm just looking into making remote procedure calls across the internet 
using OCaml. It seems that the people who invented these protocols have made 
a right pigs ear of it (again). :-)

There have been several galiant attempts to get this working from OCaml. 
OCSoap by Richard Jones looks good to me. However, it uses the pre 3.10 
camlp4 extensively to analyze headers.

Has anyone ported this to 3.10?

Incidentally, I like the design but I would have written a dynamically typed 
bottom layer first myself. That way users could use the library to make calls 
without having to generate bindings first. Something like:

# let rpc = Soap.connect url;;
val rpc : string -> Soap.value list -> Soap.value = <fun>
# Soap.to_float rpc("getTemp", [Soap.of_int 90210]);;
- : float = 999.0

Then the macro would spit out stubs that used that style.

Also, what's the state of XML reading and writing in OCaml. I've been using 
xml-light, which is excellent albeit "light", but I notice there is pxp and 
expat. Is expat just a parser, so it can't generate XML?

PS: Sorry if this gets double posted: I think the original got spam filtered 
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
The OCaml Journal