XML-RPC Interface

Users can submit jobs to and retrieve results from NEOS using XML-RPC, which is a simple, portable way to make remote procedure calls over HTTP. The NEOS XML-RPC server can communicate with clients written in a variety of languages including C, C++, Java, Perl, PHP, Python, and Ruby. Any job submitted to NEOS using XML-RPC must be in the XML format required by the selected solver.

As of July 2016, HTTPS submissions will be accepted at the URL https://neos-server.org:3333. Please update your client programs with the new URL. HTTP submissions to the URL http://neos-server.org:3332 will be phased out.

Step 1: Review the NEOS XML-RPC API documentation
The NEOS XML-RPC API is a set of functions and routines to get information from NEOS, to submit jobs to NEOS and to retrieve results from NEOS, and to maintain a solver on NEOS. The functions and routines of the NEOS XML-RPC API are documented here.
Step 2: Prepare the XML format
Any job submitted to NEOS using XML-RPC must be in the XML format required by the selected solver. Each solver's format is specified on the solver's interface page. From the list of available solvers, click on appropriate interface page and follow the "XML-RPC" link in the box in the top right corner of the page to view the XML template for that solver. In your client program, you may choose to read the job's XML description from a file or to build the job's XML description as a string within the program. Note that the XML-RPC interface is not available for some solvers.
Step 3: Write the client program to submit jobs and retrieve results
The NEOS XML-RPC server can communicate with clients written in a variety of languages. See Eric Kidd's XML-RPC HOWTO for descriptions and code samples of how to implement XML-RPC in a variety of languages. We provide additional information and sample code for