NonStop SOAP User's Manual
NonStop SOAP User-Exits
NonStop SOAP User’s Manual—520501-012
C-4
Nonstop Soap Server Processing Flow With User-
Exits
Nonstop Soap Server Processing Flow With
User-Exits
The default NonStop SOAP server-processing flow as described above provides out-
of-the-box support for Pathway services and NonStop server processes that
communicate using the Guardian file system read/write mechanism. Generally, if you
are using NonStop SOAP to SOA enable a Pathway application, this can be done
simply by defining the Pathway application to NonStop SOAP. There is no coding
required, and all the necessary data and protocol transformation is done for you
automatically by the NonStop SOAP service adapter. However, other types of
applications running on the NonStop server do not fall into this category (e.g., NonStop
Tuxedo or NonStop CORBA services), or the default NonStop SOAP processing may
not otherwise suit your needs.
To provide access to these other service types or to perform specialized processing,
NonStop SOAP software provides a means of customizing the processing flow through
the NonStop SOAP server by using a user-exit mechanism. These user-exits are called
at various points during the path of request and response processing, and user-written
code can be linked in to modify the data and change the normal processing flow
performed by the NonStop SOAP server. NonStop SOAP software includes a set of
programming methods that may be invoked from a user-exit to help accomplish this.
Utilizing user-exits, the NonStop SOAP server can be customized for use with other
types of service implementations or to perform specialized processing.
At a high-level, the way in which user-exits are used to modify the behavior of the
NonStop SOAP server is as follows:
•
Construct the Service Request buffer.
Using the SOAP Request structure as input, custom user-exit code generates the
Service Request buffer that is expected by the service provider. For example,
creating a request buffer for a NonStop Tuxedo service.
•
Invoke the service provider.
The default NonStop SOAP service() invocation is skipped, and instead user-exit
code explicitly calls the service provider with the Service Request buffer created
above using the appropriate application program interface (API). For example,
executing a tpcall() for a NonStop Tuxedo service. The user-exit then receives
and saves the Service Response buffer from the service provider.
•
Construct the SOAP Response structure.
Using the saved Service Response buffer, user-exit code then generates the
SOAP Response structure that is expected by NonStop SOAP by transforming the
Service Response buffer into the required structure, as described by the response
DDL for the service.
•
Default NonStop SOAP server processing will then marshal the SOAP Response
structure into the SOAP Response XML document and return it to the service
consumer.