Header image  

an open-source HTTP and XML-RPC server for Matlab Simulink



How to use it

Building from source

Javascript demo

Building from source

I’ve included the binary files for Matlab 2007a, but if you wish to re-build it, or extend it for your own use, here are the instructions.


The compiler I used was the Microsoft Visual C++ compiler V6.0, but it ought to work fine with newer versions of the Microsoft compiler.

Source packages

All of the source packages required are included in the .\source folder, so you don’t have to download them. Most of them will require unzipping into their own subfolders. If you'd like to download updated versions, you can find the details below.


The http server component is the open-source HTTP server MiniWeb (http://miniweb.sourceforge.net). The version used was the latest version from the Sourceforge subversion repository, as of 19/08/2008 (Rev 113). I’ve also included it in the .\source folder. Miniweb is released under the GPL (GNU General Public License).


The XML-RPC engine is the open-source xmlrpc-epi library. It can be downloaded from http://xmlrpc-epi.sourceforge.net/. I’ve also included it in the .\source folder. Xmlrpc-epi is released under a BSD license.


The xmlrpc-epi library uses the expat xml parser library. Version 2.0.1 was used (from http://sourceforge.net/projects/expat/). I’ve also included it in the .\source folder. Expat is released under an MIT license.


Xmlrpc-epi also uses the iconv library. Libiconv performs conversions between different text encoding mechanisms. Libiconv is a component of the GNU project (http://www.gnu.org/). A Windows install version of Libiconv for Windows can be found at http://gnuwin32.sourceforge.net/packages/libiconv.htm ( I’ve also included it in the .\source folder). It installs the library in the C:\Program Files\GnuWin32 folder by default, which is where the build scripts expect to find it. Libiconv is released under the GPL (GNU General Public License).

Building it

Hopefully, if you’ve got all of the source packages in the right place, all you need to do is run the build_source m-file script in the top level model folder. It should mex the whole lot and put the new binary file in the top level model folder.