Homepage: XmlRpcCS
Package: XmlRpcCS Sourceforge


This package provides a simple XML-RPC client and server for C# applications. Possibly any .NET applications though I've not tested that. It's pure C#, using the stock .NET assemblies and nothing else.

The goals of XmlRpcCS were to keep it small and simple. The motivation was to write something that was easy to use while being flexible.

Notable Features

Prerequisites to Build

To Build

In a command shell:
   nant -find all

Basic Test

Open two command shells, in one:
In the other:


Sample Code

Under src/samples there are examples. Read the Examples for more info.

Unit Tests

Under tests/ there are some basic unit tests. To run them have NUnit installed, edit the path to NUnit in xmlrpccs.build and then:

	nant -find unit-tests

Why didn't I use nant's nunit task you ask?  It's rather broken.


XmlRpcCS is under the BSD license. See: License


To Do


Version Date Changes
1.10 20030617 Support for dynamic local proxies.
Bug fix to XmlRpcException.ToString()
Bug fix to XmlRpcServer Stop/Start
1.9 20030425 .NET Compact Framework compatible
XSL method doc extraction for system.methodHelp
Stop() method on XmlRpcServer (Thanks: "Chris" <chris@bartling.net>)
1.8 20030415 Threaded XML-RPC responses behind the XmlRpcServer
Collection types moved to interfaces at all levels.
methodHelp system method basic implementation.
Bug fix, null returns throw an exception.
AssemblyInfo standard class added.
mime type "test" -> "text" typo fix (Thanks: "Tony" <platoduck@hotmail.com>)
Request buffering fix. (Thanks:  "Tony" <platoduck@hotmail.com>)
build cleanups
initial mono support
bugfix in XmlRpcServer's string building
1.6 20030325 Fixed a deserializer bug with structs in structs
Better look to documentation I think
Google example
Some performance improvements
A few unit tests.
1.5 20030301 Improve document formatting and content.
Some code refactoring.
1.4 20030217 XLST for /doc XML -> HTML
1.3 20030210 Boxcaring supported (major speed up under correct conditions!)
Request deserializer bug fix
Various refactorings, particularly Invoke method
Samples improved
Notes improved
1.2 20030130 Introspection via "system" object
Added optional XmlRpcExposed Attribute
Moved to using "is" operator...damn C# is syntax fat
Fix known deserializer bug pertaining to containers (array/struct) in containers
1.1 20030128 Bug fix in request deserializer
Better samples
response.FaultCode/.FaultString added
indentation on the XML in ToString of request/response
1.0 20030125 Support for base64
Use .NET's XmlWriter
Centralize XML-RPC tokens into XmlRpcXmlTokens