XML-RPC Bridges

Introduction

This document describes how to bridge various clients to the XML-RPC API described in Remote API. The goal is to minimise duplicate efforts and reuse the public API where possible.

Clients that can not natively support XML-RPC (such as web clients and instant messengers) can be implemented as server side components that bridge their own native API to the XML-RPC API.

Web clients

This can be a web app that talks good old HTTP/HTML with the client (the web browser). All POST and GETs from the browser will be translated to XML-RPC calls towards the CI system on the server, and the result is interpreted, formatted and sent back to the browser.

Instant messengers.

Commands can be issued by a user in the IM client. These commands (who should be simple to write and remember) could be picked up by a bot (on the same channel as the user) and translated to an XML-RPC call. The result is then interpereted and sent back to the channel so the user can see it.

It is recommended that these bots accept a "help" command so that a summary of available commands are displayed.

Some IM clients can also work in a push mode, and it is beyond the scope of this API consolidation effort to define that. In fact, it is pointless. An example is a CI system that pushes out buld status on a particular channel when build events occur.

Labels

 
(None)
  1. Apr 22, 2004

    Mike Roberts says:

    CCNet already offers a Web Service API its the .NET standard implementation so i...

    CCNet already offers a Web Service API - its the .NET standard implementation so its probably SOAP. It is just implemented as a standalone bridge onto the CCNet server's .NET Remoting API. I guess for CCNet we could startoff by implementing a separate standalone bridge for XML-RPC - does anyone have suggestions for a good/easy XML-RPC library for .NET?

  2. Apr 22, 2004

    Aslak Hellesøy says:

    I believe most are listed here:

    I believe most are listed here: http://www.xmlrpc.com/directory/1568/implementations

    There are two here:
    http://www.xml-rpc.net/
    http://opaque.ods.org/XmlRpcCS/

    Haven't tried them.

  3. Apr 22, 2004

    Jon Tirsen says:

    I use a small simple library that can be downloaded from here:

    I use a small simple library that can be downloaded from here:
    http://www.c-sharpcorner.com//Code/2003/Feb/XmlRpcCS-1.2.zip

    I had to patch it a little bit. On line 50, it says:
    request.ContentType = "test/xml";
    Change that to:
    request.ContentType = "text/xml";

    Just a typo, but some XML-RPC clients barf on it. Apart from that it works wonders and is really sweet and small to use.

  4. Apr 22, 2004

    Mike Roberts says:

    I went with xmlrpc.net before I saw your 2 answers. Seemed to do the trick OK fo...

    I went with xml-rpc.net before I saw your 2 answers. Seemed to do the trick OK for hosting in IIS.
    Thanks