Method WaitForDiwassTransfer
- Namespace
- Zedal.Sdk.DocumentHandler
- Assembly
- Zedal.Sdk.dll
WaitForDiwassTransfer(TimeSpan, TimeSpan, ZedalCallContext)
Wartet auf den Abschluss des in SendToDiwass(ZedalCallContext) ausgelösten DIWASS-Versands.
Pollt zyklisch GetTransferDetails für die in LastTransferLogId
hinterlegte Transfer-Log-Id und kehrt zurück, sobald der Server einen terminalen
Status meldet:
RECEIVED_RECEIPT_POSITIVE→ erfolgreich.RECEIVED_RECEIPT_NEGATIVE→ wirft DiwassTransferFailedException mit Errors/Warnings.CANCELLED→ wirft DiwassTransferFailedException.
Lädt das DocXml nicht automatisch neu — Aufrufer, die auf Server-seitig ergänzte Felder (z.B. zugewiesene NotificationId) zugreifen wollen, müssen nach Rückkehr explizit ReloadFromZedal(ZedalCallContext) aufrufen.
public Task WaitForDiwassTransfer(TimeSpan timeout, TimeSpan pollInterval, ZedalCallContext context = default)
Parameters
timeoutTimeSpanMaximale Wartezeit.
pollIntervalTimeSpanWartezeit zwischen zwei Status-Abfragen.
contextZedalCallContextOptionale Deadline-/Cancellation-Steuerung; ohne Angabe gilt der Client-Default. Gilt pro Status-Abfrage, nicht für die Gesamt-Wartezeit — die steuert
timeout.
Returns
Exceptions
- InvalidOperationException
wenn weder ZedalDocumentId noch LastTransferLogId gesetzt sind.
- TimeoutException
wenn der Status nicht innerhalb von
timeoutterminal wird.- DiwassTransferFailedException
wenn der Server
RECEIVED_RECEIPT_NEGATIVEoderCANCELLEDmeldet.- OperationCanceledException
wenn der CancellationToken aus
contextausgelöst wird — auch während der Wartezeit zwischen zwei Status-Abfragen.