The What
The xmlrpc module is a pure JavaScript XML-RPC server and client for node.js.
Pure JavaScript means that the XML parsing
and XML building use pure JavaScript
libraries, so no extra C dependencies or build requirements. The xmlrpc module
can be used as an XML-RPC server, receiving method calls and responding with
method responses, or as an XML-RPC client, making method calls and receiving
method responses, or as both.
The How
To Install
npm install xmlrpc
To Use
The file client_server.js in the example directory has a nicely commented
example of using xmlrpc as an XML-RPC server and client (they even talk to each
other!).
A brief example:
var xmlrpc = require('xmlrpc')
var server = xmlrpc.createServer({ host: 'localhost', port: 9090 })
server.on('anAction', function (err, params, callback) {
console.log('Method call params for \'anAction\': ' + params)
callback(null, 'aResult')
})
console.log('XML-RPC server listening on port 9091')
setTimeout(function () {
var client = xmlrpc.createClient({ host: 'localhost', port: 9090, path: '/'})
client.methodCall('anAction', ['aParam'], function (error, value) {
console.log('Method response for \'anAction\': ' + value)
})
}, 1000)
Output from the example:
XML-RPC server listening on port 9090
Method call params for 'anAction': aParam
Method response for 'anAction': aResult
To Test
XML-RPC must be precise so there are an extensive set of test cases in the test
directory. Vows is the testing framework and Travis
CI is used for Continuous
Integration.
To run the test suite:
make test
If submitting a bug fix, please update the appropriate test file too.
The License (MIT)
Released under the MIT license. See the LICENSE file for the complete wording.