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.