
Security News
Meet Socket at Black Hat and DEF CON 2025 in Las Vegas
Meet Socket at Black Hat & DEF CON 2025 for 1:1s, insider security talks at Allegiant Stadium, and a private dinner with top minds in software supply chain security.
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.
npm install xmlrpc
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')
// Creates an XML-RPC server to listen to XML-RPC method calls
var server = xmlrpc.createServer({ host: 'localhost', port: 9090 })
// Handle method calls by listening for events with the method call name
server.on('anAction', function (err, params, callback) {
console.log('Method call params for \'anAction\': ' + params)
// ...perform an action...
// Send a method response with a value
callback(null, 'aResult')
})
console.log('XML-RPC server listening on port 9091')
// Waits briefly to give the XML-RPC server time to start up and start
// listening
setTimeout(function () {
// Creates an XML-RPC client. Passes the host information on where to
// make the XML-RPC calls.
var client = xmlrpc.createClient({ host: 'localhost', port: 9090, path: '/'})
// Sends a method call to the XML-RPC server
client.methodCall('anAction', ['aParam'], function (error, value) {
// Results of the method response
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
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.
Released under the MIT license. See the LICENSE file for the complete wording.
1.0.1 / 2012-04-29
FAQs
A pure JavaScript XML-RPC client and server.
The npm package xmlrpc receives a total of 82,889 weekly downloads. As such, xmlrpc popularity was classified as popular.
We found that xmlrpc demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Meet Socket at Black Hat & DEF CON 2025 for 1:1s, insider security talks at Allegiant Stadium, and a private dinner with top minds in software supply chain security.
Security News
CAI is a new open source AI framework that automates penetration testing tasks like scanning and exploitation up to 3,600× faster than humans.
Security News
Deno 2.4 brings back bundling, improves dependency updates and telemetry, and makes the runtime more practical for real-world JavaScript projects.