ChemGPS-NP Web - Web Services API (SOAP)

Introduction:

Batchelor supports the SOAP protocol and have been successful integrated with PHP and Java service consumers (client applications).

The SOAP interface consists of methods for:

The interface was developed using Java JAX-WS to ensure conformance to relevant standards. The SOAP API of Batchelor has been tested to work with various SOAP frameworks in different languages (like Java and PHP)

Usage:

Using WSDL:

Use the WSDL describing the SOAP service with your favourite SOAP framework to generate code (stub methods) to connect your application to the Batchelor SOAP service.

The Java library:

You can download the client side Java (tm) library batchelor-java. The library is fully documented using javadoc comments.

Example:

Using the batchelor-java library is as simple as:

import se.uu.bmc.it.batchelor.*;
import se.uu.bmc.it.batchelor.soap.*;

class Client {

    private BatchelorSoapClient service;

    Client(URL url) {
        service = new BatchelorSoapClient(url);  // Use WSDL as URL.
    }

    // ... methods calling service.XXX()

}

Method description:

This section documents the various methods and their purpose. For those using the batchelor-java library, its better to read the Javadoc API documentation.

Running jobs:

Monitor jobs:

Reading results:

The in and out types of each method can be read on the SOAP types page.

Optimizing WSDL:

The WSDL is generated dynamic by default from source/ws/schema/wsdl/batchelor.wsdl by substituting the soap:address location and the SOAP type schema location (a split WSDL). The dynamic generation can be disabled by putting a pre-parsed version of batchelor.wsdl named batchelor.wsdl.cache under source/ws/schema/wsdl/. If it exist, then its sent "as is".

Testing:

The SOAP service can be tested by using the CLI web service utility (included with the source code for batchelor). Run the utility like this to dump the queue sorted on job ID:

bash$> cd utils
bash$> php ws.php --type=soap --func=queue --params='sort=jobid&filter=all'

This command shows the available remote methods (attach -v to also see the method argument types):

bash$> php ws.php --type=soap -d



Index :: Introduction :: Setup :: SOAP :: REST :: HTTP RPC :: XML-RPC