6.3. Operation: GetStatus
Die Operation GetStatus kann innerhalb jeder beliebigen Transaktion
angewendet werden, um den Status der Transaktion zu ermitteln. Zur
Erinnerung: Eine Transaktion wird als endlicher Automat modelliert, die
jeweiligen Zustände dieses Automaten sind mit den Zahlen 1 bis 199
bezeichnet, wobei 1 der Startzustand ist.
Die Anfrage in der GetStatus-Operation ist das Element vct:GetStatusRequest.
Dieses ist vom Typ vct:RequestType. Die Antwort ist das
Element vct:GetStatusResponse.
Dieses erweitert den Typ vct:ResponseType um das Element
vct:TransactionStatus vom Typ
vct:TransactionStatusType,
welches beliebig oft wiederholt werden kann. Dieses Element ist eine
Folge bestehend aus den Elementen vct:TransactionId (Typ:
xsd:normalizedString) und dem Element vct:StatusCode vom Typ
vct:StatusCodeType. Dieser Typ ist eine Einschränkung
von xsd:integer auf die Zahlen 1 bis 199.
Regel: GetStatus.
- Jeder veloconnect-konforme Server muss die Operation
GetStatus implementieren.
- Wird in der Anfrage eine TransactionId
übermittelt und gibt es hierzu eine Transaktionsinstanz, so
enthält die Antwort den ResponseCode 200 und ein Element
TransactionStatus mit dieser TransactionID und dem aktuellen
Status der Transaktionsinstanz. Falls es keine
Transaktionsinstanz gibt, wo wird der ResponseCode 420
zurückgeliefert.
- Wird in der Anfrage keine TransactionID
übermittelt, so ermittelt der Server alle
Transaktionsinstanzen, deren Transaktionskontext hinsichtlich
BuyersID und eventuell SellersID mit der Anfrage übereinstimmen. Für jede
dieser Transaktionsinstanzen wird ein Element TransactionStatus
in die Antwort eingefügt, das die TransactionID und den Status
dieser Transaktionsinstanz enthält. Der ResponseCode ist 200.
- Sofern die Anfrage des Client nicht geeignet
ist, um festzulegen, welche Operation ausgeführt werden soll,
kann der Server den ResponseCode 400 bzw. 405 mit einem
GetStatusResponse-Element zurückzugeben. Alternativ ist die
Rückgabe des http-Fehlercodes 404 möglich.