NonStop SOAP User's Manual
Using NonStop SOAP with a TS/MP Application and
NonStop Processes
NonStop SOAP User’s Manual—520501-012
6-30
Sessions and Transactions with TS/MP Servers and
NonStop Processes
•
While a subsession is in progress, responses include the header attribute
Subsession with a value of “on”. If the target server class has no more data to
send, the subsession ends
implicitly
, and the response does not include the
Subsession attribute.
•
The client can
explicitly
abort a subsession by including the header attribute
SessionCommand=“AbortSubsession” in the request.
Within a subsession, the client can initiate and control transactions by using header
attributes described in Transaction Management on page 4-15. A transaction can span
calls to multiple server classes. The number of transactions permitted within a
subsession depends on the transaction model the service supports; the options are
•
One-transaction-per-dialog
•
Many-transactions-per-dialog
If the service supports one transaction per dialog, the client can end the transaction
only after the server has indicated that there is no more data for the client. If the
service supports multiple transactions per dialog, the client can conduct multiple
transactions within a session.
You indicate whether a target service supports one or more transactions per dialog by
using the OneTxnPerDialog attribute of the Service element in the SDL file. If the value
of that attribute is “yes,” the client can commit the transaction only after the TS/MP
service has ended the dialog. If the value of that attribute is “no”, the client can commit
or abort a transaction and start another transaction within the same session.
You indicate whether a server class supports transactions by using the
TMFTransactionSupport attribute when you define the service in the SDL file. If the
attribute has a value of “yes” for a service specified in the SDL and the client sends a
request to the service without having begun a transaction, the SOAP server returns a
fault message to the client.
In general, the SOAP server commits or aborts a transaction in response to an explicit
request from the client. However, if a TS/MP server supporting one transaction per
dialog aborts a dialog, the SOAP server ends the session, aborts the transaction, and
returns an error to the client.
Examples 5 and 6: Sessions with Context-Sensitive Services
This example illustrates a session between a client and a context-sensitive TS/MP
service defined in Example 2: Multiple Services, Transaction Support on page 6-10.