From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=1.1 required=5.0 tests=AWL,SPF_SOFTFAIL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from discorde.inria.fr (discorde.inria.fr [192.93.2.38]) by yquem.inria.fr (Postfix) with ESMTP id E44FEBC69 for ; Sat, 7 Jul 2007 14:51:45 +0200 (CEST) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.171]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id l67Cpjat008870 for ; Sat, 7 Jul 2007 14:51:45 +0200 Received: by ug-out-1314.google.com with SMTP id o2so812709uge for ; Sat, 07 Jul 2007 05:51:45 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=googlemail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=n2NKnEdWl2ti2/cFHmL7j1ertiei7QLAq98MyYOb6XE4ttf7xjFkALoTKZhPG9VPzIwGeC4eJtm2zrVi+ZHIJ4RDWPNoq/gePGDxPZs8Dmf5s0xH/MxoH6VQWrBhPrc1Rd4VKP1hB1be9aiZKdyQAF+E9R/UMHNqEeFhq5PM5RU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=beta; h=received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=HZ5tQb1OR54lDwVtZivkYm2XUmm0R9lBs3CN2Pd78aONlZ03q+/BINK/jJQ0qD/UqCHHa2z0hE3VN95H/Gkb1+r9UsGh/6WGKZ+wKLzugxG/XofItdHar/mEn+iUfePH4Yo4peevaSII2QU2ZhjHvvNa8WeTaYwlrjh5UOXr74A= Received: by 10.78.195.9 with SMTP id s9mr748571huf.1183812705069; Sat, 07 Jul 2007 05:51:45 -0700 (PDT) Received: by 10.78.192.19 with HTTP; Sat, 7 Jul 2007 05:51:45 -0700 (PDT) Message-ID: <9b415f950707070551q7fedbf8o59015d95887b36ae@mail.gmail.com> Date: Sat, 7 Jul 2007 14:51:45 +0200 From: "Benedikt Grundmann" Sender: benedikt.grundmann@googlemail.com To: "Richard Jones" Subject: Re: [Caml-list] RPCs, XML, Schemas, WSDL and SOAP Cc: "Jon Harrop" , caml-list@inria.fr In-Reply-To: <20070706185741.GA30545@furbychan.cocan.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <200707061724.44910.jon@ffconsultancy.com> <20070706185741.GA30545@furbychan.cocan.org> X-Google-Sender-Auth: 1baba24f879e9a5d X-Miltered: at discorde with ID 468F8C61.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; grundmann:01 ocaml:01 ocaml:01 erlang:01 sockets:01 cheers:01 0100,:01 camlp:01 extensively:01 camlp:01 bindings:01 val:01 stubs:01 type-safe:01 bindings:01 I haven't followed this discussion, but assuming that you only want to do remote procedure calls between programs written in ocaml, you will soon be able to use my eConcurrency library. I'm writing this library as part of the OCaml Summer Project, it (will) provide means to write concurrent and distributed programs in style similar to erlang. Concurrency is based on separate processes communicating over unix domain sockets (that part is done), distribution will be based tcp/ip and a first version should be done by the end of this weekend/middle of next week. Cheers, Bene 2007/7/6, Richard Jones : > On Fri, Jul 06, 2007 at 05:24:44PM +0100, Jon Harrop wrote: > > 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? > > Also, OCSoap is only a client. And WSDL is so complicated that > there's quite an effort required to adapt OCSoap to new schemas. > > BTW, the camlp4 stuff in OCSoap isn't really required, and could be > removed with relative ease. > > > 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 = > > # Soap.to_float rpc("getTemp", [Soap.of_int 90210]);; > > - : float = 999.0 > > > > Then the macro would spit out stubs that used that style. > > Well, I guess the point of OCSoap was to write type-safe bindings to > the Google AdWords API. The bindings are generated statically using a > CDuce program which grinds over the WSDL and generates *.ml and *.mli > files. You then compile these and presto you have a type-safe client. > > [..] > > Have you looked into using SunRPC? ocamlnet provides an > implementation, it can be run over SSL, it's far more lightweight than > XML, and there's a strong chance you'll be able to interoperate with > clients and servers written in other languages. Another option would > be s-expressions using the Jane St. library. > > Rich. > > -- > Richard Jones > Red Hat > > _______________________________________________ > 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 > -- Calvin: I try to make everyone's day a little more surreal. (From Calvin & Hobbes)