Table of Contents

Class OperatorPullService

Namespace
Zedal.Sdk.Apis.Diwass.Pull
Assembly
Zedal.Sdk.dll

Schickt einen getOperator-SOAP-Request für eine Liste interner Operator-IDs an DIWASS und hängt die Antwort als BxA-Block an ein bestehendes Zewass-DocXml an.

Temporäre Lösung: langfristig soll das der ZEDAL-Server intern beim Notification-Push selbst tun. Bis dahin bauen wir den SOAP-Body clientseitig (Vorlage: diwass-specification/XML Samples/old/[SAMPLE] getOperatorRequest.xml) und schicken ihn via SoapProxy. Die rohe SOAP-Antwort geht ungefiltert in den AddBlock-Call — analog zu den anderen Lifecycle-Push-Responses.

public sealed class OperatorPullService : DiwassPullServiceBase
Inheritance
OperatorPullService
Inherited Members

Constructors

OperatorPullService(ISoapProxyApi, DiwassCredentials, IDocumentBlockApi)

Properties

Kind

Kurzform für Dump-Dateinamen und Identifier-Arg-Name, z.B. notification.

OperationName

DIWASS-Operationsname für Fehlermeldungen, z.B. getNotification.

ResponseRootLocalName

Erwarteter lokaler Root-Name in der SOAP-Antwort, z.B. GetNotificationResponse.

ResponseRootNamespace

XML-Namespace, in dem das Antwort-Root-Element erwartet wird. Default ist der Retrieval-Namespace (getNotification/getMovement/getAnnex7); Side-Channel- Operationen wie getOperator überschreiben das mit ihrem Directory-Namespace.

Methods

AppendOperatorLookupAsync(byte[], IEnumerable<long>, WhitespaceHandling)

Hängt einen GetOperatorResponse-Block für die gegebenen Operator-IDs an das übergebene DocXml an. Liefert das aktualisierte BxA-DiwassOperationResult, sodass der Aufrufer den Handler-State (DocXml/Document/FollowupIntents) auffrischen kann.

BuildRequestBodyXml(string)

Baut den SOAP-Body für den konkreten Pull-Request.

EmbedOperatorsAsync(byte[], WhitespaceHandling)

Reichert ein ZEWASS-DocXml um den GetOperatorResponse-Block an, der für die im Dokument referenzierten OperatorInternalIDs gehört. Idempotent — ist bereits ein GetOperatorResponse vorhanden oder enthält das Doc keine Operator-IDs, wird das Original unverändert zurückgegeben.

Same Logik wie der automatische Side-Channel-Pull in PullAsDocXmlCore(string) für Notifications/Movements, aber ohne vorherigen Lifecycle-Pull — gedacht für Aufrufer, die das DocXml anders erzeugt haben (z.B. lokal über CreateAnnex7) und es trotzdem vor dem PDF-Render mit Operator-Details auffüllen wollen.

NormalizeResponseXml(string, WhitespaceHandling)

Normalisiert die Whitespaces in den Textwerten aller Blatt-Elemente der getOperator-Antwort gemäß whitespace (Operator-Stammdaten kommen aus DIWASS häufig mit Padding-Whitespaces). Die XML-Struktur bleibt unangetastet — nur Textinhalte von Elementen ohne Kindelemente werden angefasst, Attributwerte nicht.