Web Services control

The Cerberus FTP Server Graphical User Interface (GUI) and underlying Windows Service use a distributed remote protocol called SOAP for communication. The primary function of the SOAP API is to allow communication between these two services. However, we’ve made the API available so that anyone can use it to programatically control the server.

Please note: The SOAP API can change between releases. We do try to maintain backwards compatibility, but sometimes we have to make breaking changes in the interests of improving the API. Always refer to the actual WSDL included with the Cerberus distribution you are using for the latest definitions.

Available Features

Programmers can now access most of Cerberus FTP Server’s common functions through a new Web Services interface. These services use SOAP 1.2 over HTTP or HTTPS and do not require a separate HTTP server. Cerberus FTP Server’s implementation of Web Services includes a built-in, lightweight HTTP stack.

The following functionality is available through the Web Services API:

  • Listing the current Cerberus FTP Server user and group accounts
  • Adding new users or groups and modifying existing users and groups
  • Deleting users or groups
  • Retrieving user or group information
  • Adding new virtual directories or modifying existing directories for a given user or group
  • Deleting a virtual directory for a given user or group
  • Getting the server’s current started or stopped status
  • Stopping or Starting the server
  • Retrieving server statistics
  • Retrieving and modifying interface details
  • List, terminating, and blocking active connections
  • Retrieving and saving configuration information

Refer to the included Ceberus.wsdl file for specifics on the Web Services interface to these functions. You can view an example Cerberus.wsdl online here.

Example SOAP applications

We have two example applications available that use the SOAP API. There is an example .NET project available here:

.NET SOAP Example Application

A newer, simpler WCF-based client application is available for download here:

WCF SOAP Client Example

Access URL

Make sure you enable SOAP access from the Remote settings page on the Server Manager. You can access the SOAP service WSDL on your local machine at the URL http://localhost:10000/wsdl/Cerberus.wsdl.

Make sure you have Enable Web Administration selected to view the actual WSDL. If Web Administration is not enabled you will still be able to use the WSDL to develop SOAP services but you won’t be able to use the built-in web server to view the WSDL using the URL link. The WSDL is located in the installation directory where Cerberus is installed.

Security Considerations

By default, Cerberus FTP Server’s Web Services access is turned off. Before allowing Web Services access to Cerberus FTP Server, you should be well aware of the security implication that this entails. While it is the user’s responsibility to be knowledgeable of Web Services and the risks associated with using them, here are some reminders:

  • Make sure the port you are running the Web service on is properly locked down. If you are only using Web Services to communicate between programs on the same machine, the port Cerberus is running the Web Services on shouldn’t be accessible from outside of the local machine.
  • When using Web Services, remember that anyone with access to the port that the Web Services is running on can send service requests to Cerberus FTP Server. This can represent a serious security risk. Make sure you set a strong Remote access password.
  • HTTP, the backbone of Cerberus FTP Server’s Web Services, transmits information as unencrypted text. Anything you send over HTTP has the potential to be intercepted and read. Cerberus also has the option of using SSL/TLS support for Web Services over HTTPS. Using HTTPS instead of HTTP significantly increased the security of any data transmitted.

Cerberus FTP Server uses the gSOAP toolkit to implement Web Services. You can find out more about gSOAP at the gSOAP home page.