Class NotificationDocumentHandler
- Namespace
- Zedal.Sdk.DocumentHandler
- Assembly
- Zedal.Sdk.dll
Stateful Handler für die Unternehmens-/Notifier-Seite einer DIWASS-Notifizierung gemäß VO (EU) 2024/1157. Deckt ausschließlich Aktionen ab, die ein Notifier/Arranger anstößt — Behördenaktionen (Acknowledgement, Decision, Signal …) liegen in AuthorityNotificationDocumentHandler.
public class NotificationDocumentHandler : DiwassDocumentHandlerBase
- Inheritance
-
NotificationDocumentHandler
- Inherited Members
Constructors
Properties
- Notification
Aktueller zewass-Notification-Stand (mit ZEDAL-Ergänzungen). Wird nach jedem Set/Submit/Create/Refresh aktualisiert.
- SaveTarget
Zielbereich für SaveToZedal(FileId). Standard: freier Transportpapierbereich (Transportpapiere).
- UnansweredRequestInformation
Behördliche Nachforderungen ("Request for Information"), für die der Server noch keine
ReplyRequestInformationIdzurückgemeldet hat — also alles, was wirklich noch auf eine Antwort durch den Notifier wartet. Im Mehr-CA-Fall (Dispatch- und Empfänger-Behörde können parallel nachfordern) sind hier ggf. mehrere Einträge.
Methods
- AppendOperatorLookup(OperatorPullService, IEnumerable<long>)
Schickt einen
getOperator-SOAP-Request für die gegebenen Operator-IDs an DIWASS und hängt die rohe SOAP-Antwort als BxA-Block an das aktuelle DocXml an. Aktualisiert anschließend den Handler-Zustand (DocXml, Notification, FollowupIntents, ValidationErrors).Temporäre Lösung — langfristig soll das der ZEDAL-Server beim Notification-Push selbst machen. Bis dahin liegt der SOAP-Body-Bau im OperatorPullService und der Aufrufer reicht den Service hier rein.
- CreateSubmission(SubmissionDocumentType)
Erstellt eine neue Notifizierung (erste Einreichung, kein DocXml erforderlich).
- LoadFromZedalByNotificationId(string)
Lädt das ZEDAL-Doc, das zu einer fachlichen DIWASS-NotificationId (z.B.
DE0126005589i) gehört. Pro NotificationId existiert genau ein ZEDAL-Doc; sämtliche Lifecycle-Phasen (Submission, Update, Acknowledgement, Decision …) leben als BxA-Blocks darin.
- Refresh()
Lädt den aktuellen Dokumentstatus neu von der BXA API, ohne das XML zu verändern. Subklassen rufen den passenden typisierten
GetNotification/GetAnnex7/GetMovement-Endpoint auf, pflegen ihre typisierte Property und delegieren die Common-Felder an UpdateCommonState(DiwassOperationResult).
- SetFacilityCompletionUnderArticle15(FacilityCompletionUnderArticle15Type)
Reicht die Abschluss-Bescheinigung der Anlage für Verbringungen zu vorab zugelassenen Anlagen ein (Art. 15 i.V.m. Art. 27 Abs. 1 lit. a xii VO (EU) 2024/1157).
- SetReplyToRequestInformation(RequestInformationDocumentType)
Reicht die Antwort des Notifiers auf eine behördliche Informationsanforderung ein. Validiert vor dem BxA-Push, dass
reply.RequestInformationIdgesetzt ist und auf einen Eintrag in UnansweredRequestInformation zeigt — andernfalls würde DIWASS den Push ohnehin ablehnen, der Guard fängt den Fehlerpfad nur früher und mit klarer Meldung ab.
- SetRequestForChangeAfterConsent(RequestForChangeAfterConsentDocumentType)
Stellt einen Antrag auf Änderung nach erteilter Zustimmung (Art. 9 VO (EU) 2024/1157).
- SetSubmission(SubmissionDocumentType)
Aktualisiert oder korrigiert die Notifizierungs-Daten einer bestehenden Einreichung. Der Server ermittelt automatisch ob es sich um eine Erst-Einreichung oder Korrektur handelt.
- SubmitNotificationSignal(NotificationSignalDocumentType)
Übermittelt ein Notifier-seitiges Signal auf Notifizierungsebene — typischerweise
NotificationWithdrawn(Rücknahme) oderNotificationCancelleddurch den Notifier (Art. 27 Abs. 1 VO (EU) 2024/1157). Das Signal wird ohneUserCompetentAuthorityDomainIdgebaut, da der Notifier keine CA ist; DIWASS ordnet es anhand der WSSE-Credentials zu. Übergangslösung: Der darunterliegende BxA-EndpointSubmitNotificationSignalexistiert aktuell nur auf der IAuthorityDocumentApi. Bis die Company-API ein eigenes Gegenstück bekommt (siehe Ticket zedal-grpc-apis), delegieren wir hier auf denselben Endpoint.