NonStop SOAP 4.1 User's Manual

NOTE:
When developing a service, you can set the TMFTimeout attribute as an operation level
attribute in the SDL file.
When deploying a service using the SoapAdminCL tool, the services.xml configuration
file will have the TMFTimeout attribute set to a value specified in the SDL file.
For more information about setting the TMFTimeoutattribute in the SDL file, see “NonStop
SOAP 4 Service Description Language” (page 153).
Configuring Transactions to Abort on Fault
When SOAP client-managed transactions are used, by default, the SOAP server suspends the TMF
transaction when it receives a fault indication back from a service. The SOAP server then sends a
message containing the error back to the client. The client decides what action to take next; that
is, NonStop SOAP 4 does not abort the transaction without instructions from the client. (The only
exception is that a transaction can be aborted by TMF if it exceeds its timeout limit. In this case,
NonStop SOAP 4 will receive an error back from TMF whenever it attempts its next call on behalf
of this transaction, and will return the TMF error to the client in a SOAP fault message.)
This default action can be overridden through the use of the AbortTransactionOnFault
attribute, which can be configured at the operation level in the services.xml configuration file.
The AbortTransactionOnFault attribute can be set to one of the following values:
yes
NonStop SOAP will abort a client-managed transaction if the service returns a fault or an error
occurs in NonStop SOAP 4 during request processing.
no
Nonstop SOAP 4 server will not abort a client-managed transaction if the service returns a
fault or an error occurs in NonStop SOAP 4 during request processing. NonStop SOAP 4
suspends the transaction and returns the error to the client, which then needs to decide the
error action to take. The response message sent by the SOAP server will include a transaction
header block with TransactionID set to the TMF transaction ID of the suspended transaction.
This allows the client to send an abort request to NonStop SOAP 4, if that is the appropriate
action for the application.
NOTE: For SOAP server-managed transactions (that is, the TMFTransactionSupport attribute
is set to Required and there is no transaction header block in the SOAP request), the value of
the AbortTransactionOnFault attribute, if set to no, is ignored and processing will proceed
as if set to the value of yes. That is, the transaction will be aborted if the service returns a fault or
an error occurs in NonStop SOAP 4 during request processing.
To configure NonStop SOAP 4 to abort a client-initiated transaction in case of an error or fault,
complete the following steps:
1. Open the services.xml configuration file located in <NonStop SOAP 4 Deployment
Directory>/services/<service_name>.
where,
<service_name> is the name of the service for which you want to enable or disable the
AbortTransactionOnFault attribute.
2. Set the value of the AbortTransactionOnFault attribute to either yes or no.
<operation>
.
.
AbortTransactionOnFault="[yes | no]"
248 Transaction Management