Websydian v6.1 online documentationOnline documentation - WebsydianExpress v3.0

SoapServiceProcessor

Scoped name

XMLAbstract.SoapServiceProcessor

Please note that this function is found in the WSYAPIWS model.

Purpose

ServiceProcessor are called when the runtime has identified that a request is a web service request and the ServiceProcessor is specified for the URL of the request.

A SoapServiceProcessor function performs the following steps:

  1. Receive the data, save them to a file; load the content as an XML document in the XML-Parser.
  2. Extract the document contained in the soap-body element.
  3. Identify and call the ServiceHandler function. The TransacXML object-references specifying the input (the content of the soap-body element) and output document are transferred to the ServiceHandler.
  4. Wraps the returned document in a soap-envelope.
  5. Save the soap output document to a file and return the data to the client.

The SoapServiceProcessor can be used when the data of the request and the response are valid XML-documents. The documents will be handled according to the SOAP 1.1 standard. All requests will be document/literal.

Usage

Inherit from the abstract SoapServiceProcessor if the input and output you want to transfer are SOAP 1.1 XML-documents - and you want to handle these documents using the TransacXML library.

Before creating your own implementation of the function you should consider whether you can use the implemented SoapServiceProcessor that is delivered with the standard WebsydianExpress installation.

The most common reason to create a special version of the SoapServiceProcessor function is if you need to pre-process the request data or post-process the response data. You might have to do so if you want to implement specialized handling of the content of special soap headers.

If you only need to get access to information sent in the soap-header section, you should be aware that you can actually access this information in your ServiceHandler function. By calling the GetXmlDoc function and specifying "Header" as the file type, you will get the object handles of the soap header document.

If you need to add special information to the envelope of the response document, you will always have to create your own version of SoapServiceProcessor - as this functionality is not handled by the abstract function.

Special considerations

Please note that all ServiceProcessors are called dynamically based on the entries specified in the service structure tree. This means that you may not change the interface of the implemented function.

As the function uses the TransacXML patterns, it is placed in the WSYAPIWS model instead of the WSYAPI model.

The function can only be used in the Java, WinC, and WinC/iSeries versions - not in the iSeries version.

The abstract function supports SOAP 1.1 services of the type document/literal.

More information

Background: Handling web service requests

Background: Understanding the service structure

Background: Service processors

Background: Selection criteria

Background: WSYAPIWS model

SOAP 1.1 standard