Module XmlRpcServer

module XmlRpcServer: sig .. end
XmlRpc Light server.


Example:
    let server = new XmlRpcServer.cgi () in
    server#register "demo.sayHello"
      (fun _ -> `String "Hello!");
    server#run () 

By inheriting from XmlRpcServer.base, all servers provide the following introspection functions by default: system.listMethods, system.getCapabilities. To prevent their use, use server#unregister.

Additionally, the methods system.methodHelp and system.methodSignature will be made available if at least one method help or method signature is provided.

type param_type = [ `Array
| `Binary
| `Boolean
| `DateTime
| `Double
| `Int
| `String
| `Struct
| `Undefined ]
Type of parameters used in method signatures.

Base classes


class virtual base : object .. end
Abstract base class for XmlRpc servers.
class type server = object .. end
Type of concrete XmlRpc server classes.

Server implementations


class cgi : unit -> server
CGI XmlRpc server based on Netcgi2.
class netplex : ?parallelizer:Netplex_types.parallelizer -> ?handler:string -> unit -> server
Stand-alone XmlRpc server based on Netplex.

Utility functions


val invalid_method : string -> 'a
Raise an XmlRpc.Error indicating a method name not found.
val invalid_params : unit -> 'a
Raise an XmlRpc.Error indicating invalid method parameters.