XML-RPC
(require (planet jaymccarthy/xml-rpc:1:2)) |
This package is based on the XML-RPC package by Matt Jadud and Noel Welsh of Untyped
This library implements the XML-RPC protocol, a popular protocol for interface to Internet
services such as blog engines, as specified at
http://www.xmlrpc.com/spec.
1 Clients
(require (planet jaymccarthy/xml-rpc:1:2/client)) |
The client library provides a few forms for defining servers and
their supported endpoints.
Returns a function configured to make XML-RPC requests to the given
URL. The function accepts a string, the name of the method, and
returns a function of any arguments which calls the method with the
given arguments.
This example calls the examples.getStateName method on the server
betty.userland.com:
Examples: |
|
(define get-state-name (betty 'examples.getStateName)) | |
|
> (get-state-name 42) |
"Tennessee" |
2 Servers
(require (planet jaymccarthy/xml-rpc:1:2/server)) |
The server library provides
Returns a function from HTTP requests encoding XML-RPC queries to HTTP responses encoding XML-RPC answers
that computes answers by calling the procedure associated with the XML-RPC method name in the exports
hash table.
Examples: |
|
(define xml-rpc-adder | (make-handle-xml-rpc | (hasheq 'math.add add | 'math.+ + | 'addFun add))) | |
|
(define (run-server!) | (serve/servlet xml-rpc-adder | #:port 8080 | #:servlet-path "/" | #:command-line? #t)) | |
|
|
3 Errors
A subtype of exn, this exception is raised whenever the XML-RPC library
encounters an error.
A subtype of exn:xml-rpc, this exception is raised when the XML-RPC
server responds to the client with a fault. The code is an integer
containing the fault code returned by the server. The fault message
returned by the server is contained in the exception message.