haxr-3000.9.0.1: XML-RPC client and server library.

Portability | non-portable (requires extensions and non-portable libraries)
Stability | experimental
Maintainer | bjorn@bringert.net
Safe Haskell | None

Network.XmlRpc.Client

Description

This module contains the client functionality of XML-RPC. The XML-RPC specifcation is available at http://www.xmlrpc.com/spec.

A simple client application:

     import Network.XmlRpc.Client

     server = "http://localhost/~bjorn/cgi-bin/simple_server"

     add :: String -> Int -> Int -> IO Int
     add url = remote url "examples.add"

     main = do
            let x = 4
                y = 7
            z <- add server x y
            putStrLn (show x ++ " + " ++ show y ++ " = " ++ show z)

Synopsis

- remote :: Remote a => String -> String -> a
- call :: String -> String -> [Value] -> Err IO Value
- class Remote a

# Documentation

remote Source

Arguments

:: Remote a |
=> String | Server URL. May contain username and password on the format username:password@ before the hostname.
-> String | Remote method name.
-> a | Any function `(XmlRpcType t1, ..., XmlRpcType tn, XmlRpcType r) => t1 -> ... -> tn -> IO r`

Call a remote method.

call Source

Arguments

:: String | URL for the XML-RPC server.
-> String | Method name.
-> [Value] | The arguments.
-> Err IO Value | The result

Low-level method calling function. Use this function if you need to do custom conversions between XML-RPC types and Haskell types. Throws an exception if the response was a fault.

class Remote a Source

Instances

XmlRpcType a => Remote (IO a) |
(XmlRpcType a, Remote b) => Remote (a -> b) |