caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* More on SOAP
@ 2005-05-13 22:09 Richard Jones
  2005-05-14 21:53 ` [Caml-list] " Mike Lin
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Richard Jones @ 2005-05-13 22:09 UTC (permalink / raw)
  To: caml-list

I've written a very trivial SOAP client in pure OCaml.  I'm interested
in what people think about the approach I've used.

Instead of parsing WSDL, what I'm doing is allowing you to define the
interface as a familiar .mli file, as in the example below:

----------------------------------------------------------------------
type campaign = {
  dailyBudget : int;
  id : int;
  name : string;
}

val hello : string -> string
val goodbye : string -> string
val concat : string -> string -> string
val show : campaign -> unit
----------------------------------------------------------------------

The .mli file is then parsed using camlp4 macros and converted into
stub functions.  These can be called, and generate real SOAP calls to
the remote SOAP server.

I have a very early, experimental package for people to play with.
This tarball contains a Perl server (based on SOAP::Lite) and the
OCaml client.

http://annexia.org/tmp/simplesoap-0.0.1.tar.gz

It requires PXP, ocamlnet, equeue and PCRE.

Any type of feedback is very welcome.

Rich.

-- 
Richard Jones, CTO Merjis Ltd.
Merjis - web marketing and technology - http://merjis.com
Team Notepad - intranets and extranets for business - http://team-notepad.com


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Caml-list] More on SOAP
  2005-05-13 22:09 More on SOAP Richard Jones
@ 2005-05-14 21:53 ` Mike Lin
  2005-05-16  8:47 ` Claudio Sacerdoti Coen
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 11+ messages in thread
From: Mike Lin @ 2005-05-14 21:53 UTC (permalink / raw)
  To: Richard Jones; +Cc: caml-list

[-- Attachment #1: Type: text/plain, Size: 2043 bytes --]

Since no one else has said anything, let me say this is the kind of 
lightweight approach that makes standards people foam at the mouth, but that 
everyone else actually wants to use, since it can be made fast, bug-free, 
and without depending on a zillion other things (although you are getting 
there :)

Keep going.

Mike

On 5/13/05, Richard Jones <rich@annexia.org> wrote:
> 
> I've written a very trivial SOAP client in pure OCaml. I'm interested
> in what people think about the approach I've used.
> 
> Instead of parsing WSDL, what I'm doing is allowing you to define the
> interface as a familiar .mli file, as in the example below:
> 
> ----------------------------------------------------------------------
> type campaign = {
> dailyBudget : int;
> id : int;
> name : string;
> }
> 
> val hello : string -> string
> val goodbye : string -> string
> val concat : string -> string -> string
> val show : campaign -> unit
> ----------------------------------------------------------------------
> 
> The .mli file is then parsed using camlp4 macros and converted into
> stub functions. These can be called, and generate real SOAP calls to
> the remote SOAP server.
> 
> I have a very early, experimental package for people to play with.
> This tarball contains a Perl server (based on SOAP::Lite) and the
> OCaml client.
> 
> http://annexia.org/tmp/simplesoap-0.0.1.tar.gz
> 
> It requires PXP, ocamlnet, equeue and PCRE.
> 
> Any type of feedback is very welcome.
> 
> Rich.
> 
> --
> Richard Jones, CTO Merjis Ltd.
> Merjis - web marketing and technology - http://merjis.com
> Team Notepad - intranets and extranets for business - 
> http://team-notepad.com
> 
> _______________________________________________
> Caml-list mailing list. Subscription management:
> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives: http://caml.inria.fr
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
>

[-- Attachment #2: Type: text/html, Size: 2749 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Caml-list] More on SOAP
  2005-05-13 22:09 More on SOAP Richard Jones
  2005-05-14 21:53 ` [Caml-list] " Mike Lin
@ 2005-05-16  8:47 ` Claudio Sacerdoti Coen
  2005-05-16  9:14   ` Richard Jones
  2005-05-16 14:43 ` Richard Jones
  2005-05-24 16:32 ` [Caml-list] More on SOAP Eric Stokes
  3 siblings, 1 reply; 11+ messages in thread
From: Claudio Sacerdoti Coen @ 2005-05-16  8:47 UTC (permalink / raw)
  To: Richard Jones; +Cc: caml-list

 Dear Richard,

> Instead of parsing WSDL, what I'm doing is allowing you to define the
> interface as a familiar .mli file, as in the example below:

 what do you do with higher order functions?

 						Regards,
						C.S.C.

-- 
----------------------------------------------------------------
Real name: Claudio Sacerdoti Coen
Doctor in Computer Science, University of Bologna
E-mail: sacerdot@cs.unibo.it
http://www.cs.unibo.it/~sacerdot
----------------------------------------------------------------


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Caml-list] More on SOAP
  2005-05-16  8:47 ` Claudio Sacerdoti Coen
@ 2005-05-16  9:14   ` Richard Jones
  2005-05-16  9:17     ` Claudio Sacerdoti Coen
  2005-05-16  9:17     ` Richard Jones
  0 siblings, 2 replies; 11+ messages in thread
From: Richard Jones @ 2005-05-16  9:14 UTC (permalink / raw)
  To: Claudio Sacerdoti Coen; +Cc: caml-list

On Mon, May 16, 2005 at 10:47:50AM +0200, Claudio Sacerdoti Coen wrote:
>  Dear Richard,
> 
> > Instead of parsing WSDL, what I'm doing is allowing you to define the
> > interface as a familiar .mli file, as in the example below:
> 
>  what do you do with higher order functions?

It would refuse to parse the type if it noticed that a function was
passed to or returned from a SOAP stub.  I wasn't even aware that you
could pass higher-order functions to SOAP functions - in fact, I don't
even know how that would work with the majority of languages used to
implement SOAP servers (ie. Java and C#) which don't support functions
as first class objects.

Rich.

-- 
Richard Jones, CTO Merjis Ltd.
Merjis - web marketing and technology - http://merjis.com
Team Notepad - intranets and extranets for business - http://team-notepad.com


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Caml-list] More on SOAP
  2005-05-16  9:14   ` Richard Jones
@ 2005-05-16  9:17     ` Claudio Sacerdoti Coen
  2005-05-16  9:17     ` Richard Jones
  1 sibling, 0 replies; 11+ messages in thread
From: Claudio Sacerdoti Coen @ 2005-05-16  9:17 UTC (permalink / raw)
  To: Richard Jones; +Cc: caml-list

> It would refuse to parse the type if it noticed that a function was
> passed to or returned from a SOAP stub.  I wasn't even aware that you
> could pass higher-order functions to SOAP functions - in fact, I don't
> even know how that would work with the majority of languages used to
> implement SOAP servers (ie. Java and C#) which don't support functions
> as first class objects.

 That is were things start to become fun :-)  I would expect an higher
 order function to receive the address of a remote stub...

-- 
----------------------------------------------------------------
Real name: Claudio Sacerdoti Coen
Doctor in Computer Science, University of Bologna
E-mail: sacerdot@cs.unibo.it
http://www.cs.unibo.it/~sacerdot
----------------------------------------------------------------


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Caml-list] More on SOAP
  2005-05-16  9:14   ` Richard Jones
  2005-05-16  9:17     ` Claudio Sacerdoti Coen
@ 2005-05-16  9:17     ` Richard Jones
  1 sibling, 0 replies; 11+ messages in thread
From: Richard Jones @ 2005-05-16  9:17 UTC (permalink / raw)
  Cc: caml-list

On Mon, May 16, 2005 at 10:14:10AM +0100, Richard Jones wrote:
> could pass higher-order functions to SOAP functions

I mean, of course, "pass functions to SOAP functions", or
"declare SOAP functions as HOFs".

Rich.

-- 
Richard Jones, CTO Merjis Ltd.
Merjis - web marketing and technology - http://merjis.com
Team Notepad - intranets and extranets for business - http://team-notepad.com


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Caml-list] More on SOAP
  2005-05-13 22:09 More on SOAP Richard Jones
  2005-05-14 21:53 ` [Caml-list] " Mike Lin
  2005-05-16  8:47 ` Claudio Sacerdoti Coen
@ 2005-05-16 14:43 ` Richard Jones
  2005-05-16 22:27   ` Richard Jones
  2005-05-24 16:32 ` [Caml-list] More on SOAP Eric Stokes
  3 siblings, 1 reply; 11+ messages in thread
From: Richard Jones @ 2005-05-16 14:43 UTC (permalink / raw)
  To: caml-list

There's an updated proof-of-concept here.  This version can actually
send _and receive_ a limited range of data types from a Perl server.

http://annexia.org/tmp/simplesoap-0.0.2.tar.gz

Rich.

-- 
Richard Jones, CTO Merjis Ltd.
Merjis - web marketing and technology - http://merjis.com
Team Notepad - intranets and extranets for business - http://team-notepad.com


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Caml-list] More on SOAP
  2005-05-16 14:43 ` Richard Jones
@ 2005-05-16 22:27   ` Richard Jones
  2005-05-17 21:46     ` Richard Jones
  0 siblings, 1 reply; 11+ messages in thread
From: Richard Jones @ 2005-05-16 22:27 UTC (permalink / raw)
  To: caml-list

And the latest version, predictably called:
http://annexia.org/tmp/simplesoap-0.0.3.tar.gz

Rich.

-- 
Richard Jones, CTO Merjis Ltd.
Merjis - web marketing and technology - http://merjis.com
Team Notepad - intranets and extranets for business - http://team-notepad.com


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Caml-list] More on SOAP
  2005-05-16 22:27   ` Richard Jones
@ 2005-05-17 21:46     ` Richard Jones
  2005-05-23 21:03       ` ANNOUNCE: OCaml SimpleSOAP 0.1.1 released Richard Jones
  0 siblings, 1 reply; 11+ messages in thread
From: Richard Jones @ 2005-05-17 21:46 UTC (permalink / raw)
  To: caml-list

A website and some background documentation on the project:

http://merjis.com/developers/simplesoap
http://merjis.com/_file/simplesoap-doc.html

Rich.

-- 
Richard Jones, CTO Merjis Ltd.
Merjis - web marketing and technology - http://merjis.com
Team Notepad - intranets and extranets for business - http://team-notepad.com


^ permalink raw reply	[flat|nested] 11+ messages in thread

* ANNOUNCE: OCaml SimpleSOAP 0.1.1 released
  2005-05-17 21:46     ` Richard Jones
@ 2005-05-23 21:03       ` Richard Jones
  0 siblings, 0 replies; 11+ messages in thread
From: Richard Jones @ 2005-05-23 21:03 UTC (permalink / raw)
  To: caml-list

I'm pleased to announce the release of version 0.1.1 of the simple,
experimental SOAP client library written in pure 100% OCaml.  The
library is released under the GNU LGPL with OCaml linking exception.

http://merjis.com/developers/simplesoap
http://merjis.com/_file/simplesoap-doc.html

Development continues rapidly.  This version has a limited
understanding of XML Schema datatypes so it can parse responses from
the server which have been encoded, for example in base-64.  It comes
with a more extensive test suite and regression tests.  We have used
it sucessfully against several SOAP::Lite servers and a Java
AXIS-based server.  We now set SOAPAction HTTP headers correctly and
SOAP can be used in direct or proxy mode, even over SSL.  It comes
with several example programs.

To run this release you will need:

	- Extlib
		http://ocaml-lib.sourceforge.net/
	- Marcus Mottl's ocaml-pcre
		http://ocaml.info/ocaml_sources/
	- Gerd Stolpmann's equeue
		http://www.ocaml-programming.de/programming/equeue.html
	- Gerd's ocamlnet
		http://www.ocaml-programming.de/programming/ocamlnet.html
	- Gerd's PXP (XML parser)
		http://www.ocaml-programming.de/programming/pxp.html

	- Perl and SOAP::Lite if you want to run examples and tests.

Rich.

-- 
Richard Jones, CTO Merjis Ltd.
Merjis - web marketing and technology - http://merjis.com
Team Notepad - intranets and extranets for business - http://team-notepad.com


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Caml-list] More on SOAP
  2005-05-13 22:09 More on SOAP Richard Jones
                   ` (2 preceding siblings ...)
  2005-05-16 14:43 ` Richard Jones
@ 2005-05-24 16:32 ` Eric Stokes
  3 siblings, 0 replies; 11+ messages in thread
From: Eric Stokes @ 2005-05-24 16:32 UTC (permalink / raw)
  To: Richard Jones; +Cc: caml-list

I like the camlp4 approach you've used very much. I'm sure it was
refreshing not to have to invent yet another interface definition language.

Richard Jones wrote:

>I've written a very trivial SOAP client in pure OCaml.  I'm interested
>in what people think about the approach I've used.
>
>Instead of parsing WSDL, what I'm doing is allowing you to define the
>interface as a familiar .mli file, as in the example below:
>
>----------------------------------------------------------------------
>type campaign = {
>  dailyBudget : int;
>  id : int;
>  name : string;
>}
>
>val hello : string -> string
>val goodbye : string -> string
>val concat : string -> string -> string
>val show : campaign -> unit
>----------------------------------------------------------------------
>
>The .mli file is then parsed using camlp4 macros and converted into
>stub functions.  These can be called, and generate real SOAP calls to
>the remote SOAP server.
>
>I have a very early, experimental package for people to play with.
>This tarball contains a Perl server (based on SOAP::Lite) and the
>OCaml client.
>
>http://annexia.org/tmp/simplesoap-0.0.1.tar.gz
>
>It requires PXP, ocamlnet, equeue and PCRE.
>
>Any type of feedback is very welcome.
>
>Rich.
>
>  
>


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2005-05-24 16:32 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-05-13 22:09 More on SOAP Richard Jones
2005-05-14 21:53 ` [Caml-list] " Mike Lin
2005-05-16  8:47 ` Claudio Sacerdoti Coen
2005-05-16  9:14   ` Richard Jones
2005-05-16  9:17     ` Claudio Sacerdoti Coen
2005-05-16  9:17     ` Richard Jones
2005-05-16 14:43 ` Richard Jones
2005-05-16 22:27   ` Richard Jones
2005-05-17 21:46     ` Richard Jones
2005-05-23 21:03       ` ANNOUNCE: OCaml SimpleSOAP 0.1.1 released Richard Jones
2005-05-24 16:32 ` [Caml-list] More on SOAP Eric Stokes

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).