Operation: GetStatus

Implementation of the GetStatus operation is optional.

The GetStatus operation can be used within any transaction to determine the transaction's status. Reminder: A transaction is modelled as a finite-state machine whose respective states are represented by the numbers 1 to 199, where 1 is the initial state.

The request in the GetStatus operation is the element vct:GetStatusRequest. It is of type vct:RequestType. The response is the element vct:GetStatusResponse. It extends the type vct:ResponseType with the element vct:TransactionStatus of type vct:TransactionStatusType, which can be repeated as often as necessary. This element is a sequence consisting of the elements vct:TransactionId (type: xsd:normalizedString) and the element vct:StatusCode of type vct:StatusCodeType. This type is a limitation of xsd:integer to the numbers 1 to 199.

Rule: GetStatus.

  1. If a transactionID is submitted in the request, and there is a transaction instance in this connection, the response contains ResponseCode 200, a TransactionStatus element with this TransactionID, and the transaction instance's current status. If there is no transaction instance, ResponseCode 420 is returned.

  2. If no transactionID is submitted in the request, the server determines all transaction instances whose transaction context matches the request with respect to BuyersID. For each of these transaction instances, the response includes a TransactionStatus element indicating the TransactionID and status of the respective transaction instance. The ResponseCode is 200.

  3. If the client's request is not appropriate for determining which operation should be executed, the server can return ResponseCode 400 or 405 with a GetStatusResponse element. Alternatively, http error code 404 can be returned.