3.1.4.7 TransactedTerminate
The WSDL definition of the TransactedTerminate operation is as follows:
-
<wsdl:operation name="TransactedTerminate"> <wsdl:input wsaw:Action="http://schemas.datacontract.org/2008/10/ WorkflowServices/IWorkflowInstanceManagement/TransactedTerminate" message="tns:IWorkflowInstanceManagement_TransactedTerminate_InputMessage" /> <wsdl:output wsaw:Action="http://schemas.datacontract.org/2008/10/ WorkflowServices/IWorkflowInstanceManagement/TransactedTerminateResponse" message="tns:IWorkflowInstanceManagement_TransactedTerminate_OutputMessage" /> </wsdl:operation>
TransactedTerminate is an atomic operation that transitions a durable program instance from the active or suspended state to the completed state. It SHOULD perform the minimal possible work needed to transition the durable program instance to the completed state. This operation SHOULD be performed under the scope of a transaction flowed in from the client, if one is flowed in, using a protocol that is recognized by the client and server roles, such as [MS-WSRVCAT].
If the system maintains the durable state of the durable program instance, then the durable state MUST be updated during execution of this operation. If the durable store is a transactional resource manager, then the same transaction SHOULD be used for the durable state change. Failure to make the durable state change MUST result in failure of the operation.
A GUID MUST be passed to the operation as the value of the <instanceId> element to identify the durable program instance on which the operation is to be performed.
The operation SHOULD return a SOAP fault message if one or more of the following conditions exist:
The value of the <instanceId> element is not in the correct format, as specified in [MS-DTYP] section 2.3.4.
The <instanceId> element is absent.
The value of the <instanceId> element does not exist in the Durable Program Instance Table on the server.
The durable program instance associated with the value of the <instanceId> element is in the completed state.
The server encounters an internal error while executing the TransactedTerminate operation.