7.2. Operation: UpdateOrder
Die Anfrage ist ein Element
vco:UpdateOrderRequest,
die Antwort ist ein Element vco:OrderResponse.
Das Element vco:UpdateOrderRequest unterscheidet sich vom Element
vco:CreateOrderRequest nur durch den Namen.
Regel: UpdateOrderRequest. Ein veloconnect-konformer Client vehält sich wie folgt: Zu jeder Zeile der
normalisierten Bestellung, die geändert werden soll, wird ein Element
OrderRequestLine gemäß Regel:
OrderRequestLine(Client) erzeugt.
Regel: UpdateOrder.
Ein veloconnect-konformer Server reagiert auf ein Anfrage UpdateOrderRequest
wie folgt:
- Zur Anfrage wird ermittelt,
ob hierzu eine Transaktionsinstanz existiert. Falls keine
existiert wird der ResponseCode 420 zurückgeliefert. Falls eine
solche existiert und sich diese nicht im Zustand 2 befindet, wird
die Bearbeitung der Anfrage abgebrochen und der ResponseCode 430
zurückgeliefert.
- Mit
jedem Element OrderRequestLine wird gemäß der Regel OrderRequestLine
verfahren. Hierbei werden im Transaktionskontext Elemente
OrderResponseLine angelegt bzw. geändert, sowie eventuell
Elemente RequestReplacement erzeugt.
- Aus dem Transaktionskontext werden die Elemente
OrderResponseLine in die Antwort eingefügt, sowie die im
vorherigen Schritt erzeugten Elemente ReqestReplacement. Die
Antwort wird mit ResponseCode 200 an den Client ausgeliefert.
Die Transaktionsinstanz bleibt im Zustand 2.
Zur Verdeutlichung: Der Client übermittelt nur die Bestellzeilen, die
geändert werden sollen, der Server liefert alle Zeilen der Bestellung
zurück, die im Transaktionskontext gespeichert sind.