Running a Web Service Application in the Direct SOAP Mode

Before the implementation of Direct SOAP functionality, access to SOAP web service applications was available using only IIS. Client applications would make HTTP/1.1 SOAP requests to IIS, and then IIS would communicate with the Jade web application to serve responses to these requests. The communication between the IIS and the Jade web service application was performed by the Internet Server Application Programming Interface (ISAPI) extension Dynamic Link Library (DLL) called jadehttp.dll. This DLL implemented a proprietary Jade protocol between IIS and the SOAP web service applications.

The Direct SOAP functionality adds support for the HTTP/1.1 communication protocol to web service applications. This means that Jade web applications, when run in the Direct SOAP mode, no longer require IIS to enable communication with other HTTP‑compliant applications (for example, SOAP clients, web browsers, reverse proxies, web servers, or TLS termination servers). This allows a greater degree of freedom for the deployment of Jade web service applications and it also reduces the system requirements for the development of SOAP applications.

The general steps to define a SOAP web service application are specified in "Defining a Web Service Provider Application", earlier in this chapter.

The only functionality not provided by the JadeWebServiceProvider class when SOAP applications are run in the Direct SOAP mode are the three methods related to the use of the legacy IIS virtual directory feature (that is, createVirtualDirectoryFile, deleteVirtualDirectoryFile, and isVDFilePresent). If these methods are called in a Direct SOAP application, exception 1068 (Feature not available in this release) is raised.

As the use of the virtual directory is normally reserved for serving files, and SOAP applications serve only XML‑formatted SOAP responses, this loss of functionality is not expected to adversely impact applications.

In the following image, the highlighted entry is for a SOAP web service application called SoapServer. There is also another SOAP web service application called SoapServerNonGui, but these applications could also be called Milly, Molly, or Mandy.

To run a SOAP web services application

In addition to the DirectSoap parameter, the [WebOptions] section of the Jade initialization file also provides the parameters listed in the following table.

Parameter Specifies...
KeepAliveTimeout The maximum time a connection will be held open after a response has been sent.
LogHttpMessages Whether HTTP messages are logged. If logging of HTTP messages is enabled, they are also displayed in the console of GUI REST applications.
MaxRequestLength Maximum length (in bytes) of HTTP requests for SOAP web service applications running in Direct SOAP mode.
MinimumReadDataRate Minimum rate allowed for incoming data (defined in kilobits per second).
QueueDepthMax Maximum size of the SOAP web service request queue.
Running Existing SOAP Web Service Applications in Direct Mode

The majority of pre‑existing SOAP web service applications should be able to run in the legacy or Direct modes, without the need to change any application code.

To run an existing Jade SOAP web service application in Direct SOAP mode, simply:

  1. Add the DirectSoap parameter with a value of true to the [WebOptions] section of the Jade initialization file.

  2. Disable IIS.

    This step is not required if the SOAP web service application is configured to talk on any port other than the standard HTTP and HTTPS ports of 80 and 443.

2022.0.05 and higher