CONNECTED Conference 2023 - Aufzeichnungen jetzt hier verfügbar +++                     

Suche

über alle News und Events

 

Alle News

 

Was ist ein Excel-Plugin – und wann ist es...

Weiterlesen

Wir expandieren, bringen Kunden und Talente besser...

Weiterlesen

Um HTML zum PDF zu konvertieren, werden wir...

Weiterlesen

Die Logic Apps-Plattform von Microsoft ermöglicht...

Weiterlesen

Du bist neugierig auf aktuelle KI-Technologien und...

Weiterlesen

Am 27.09. ab 12.30h starten die vierten QUIBIQ...

Weiterlesen

"Das Beste von SAP und Microsoft nutzen": auf dem...

Weiterlesen

Azure Bicep wird verwendet, um Ressourcen in Azure...

Weiterlesen

In einer Welt, die immer digitaler wird, ist es...

Weiterlesen

Dieser Artikel beschreibt wie JSON-Dateien anhand...

Weiterlesen

How-to: Die Tücken von BizTalk EDIDataValidation in Verbindung mit InterchangeXML

Wir hatten vor kurzem den Wunsch eines Kunden, im PCI- Segment den Wert „33E“ einzutragen. Das Ganze sollte im PAC-Segment folgendermaßen aussehen: „'PAC+422'PCI+33E'“. Wir wollten das dann schnell mappen und haben festgestellt, dass der Wert „33E“ im EDIFACT-Standard nicht erlaubt ist. Was macht man dann normarlerweise? Man schaltet die Validierung in EDISend der EDISend-Pipeline aus. Gesagt, getan. Jedoch ist das nur die halbe Miete. Warum seht ihr in den folgenden Absätzen.

BizTalk Ausganssituation (Bindings können runtergeladen werden, falls ihr das auch ausprobieren wollt)
 

BizTalk Application:      EDI Validation Testing
References:                  BizTalk EDI Application

Receive Port:                RP.EDITesting.XML
Receive Location:         RL.EDITesting.XML.File
Receive Pipeline:          XMLReceive

Send Port:                    SP.EDITesting.EDIFact.File
Send Pipeline:              EdiSend
Filters:                         BTS.ReceivePortName == RP.EDITesting.XML
 

Dateien die zum Testen verwendet werden

Es werden insgesamt 4 Dateien zum Testen verwendet:

http://schemas.microsoft.com/Edi/Edifact#EdifactInterchangeXml

http://schemas.microsoft.com/Edi/Edifact#EdifactInterchangeXml

Im ersten Teil des Tests ist die die Validierung in der EDISend-Pipeline eingeschaltet:

Wenn wir jetzt die 2 validen und die zwei nicht validen Dateien in die ReceiveLocation legen, erwarten wir zwei erfolgreich verarbeitete Dateien und zwei Dateien die aufgrund von Validation Errors nicht verarbeitet werden konnten:

Im out Verzeichnis landen wie erwartet zwei EDI-Files:

Und zwei Files bleiben wie erwartet im BizTalk „hängen“ und sind suspended aufgrund von nicht validen Daten.

Im zweiten Teil des Tests schalten wir die Validierung in der SendEDI-Pipeline aus.
Vor dem zweiten Testdurchlauf wird der BizTalk Server und das Ausgangsverzeichnis gesäubert.

Es werden dieselben Testdaten verwendet:

Nachdem man die Daten in das Eingangsverzeichnis gelegt hat, würde man erwarten, dass alle 4 Dateien verarbeitet werden, da man ja die Validierung ausgeschaltet hat.

Es landen jedoch nur 3 Files im Ausgangsverzeichnis

Was ist denn im BizTalk passiert?

Komischerweise immer noch derselbe Fehler ☹, obwohl die Validierung ausgeschaltet wurde. ABER das gilt nur für die InterchangeXML.

Der Kunde wollte aber immer noch die „33E“ übertragen. Die Lösung ist ein Workaround. Entweder das Schema anpassen und „33E“ auch erlauben oder die Dateien debatchen und einzeln verarbeiten.

Have Fun,

Ugur

Ihre Kontaktmöglichkeiten

Sie haben eine konkrete Frage an uns


 

Bleiben Sie immer auf dem Laufenden


 

Mit meinem "Ja" erkläre ich mich mit der Verarbeitung meiner Daten zur Zusendung von Informationen einverstanden. Ich weiß, dass ich diese Erklärung jederzeit durch einfache Mitteilung widerrufen kann. Bei einem Nein an dieser Stelle erhalte ich zukünftig keine Informationen mehr.

© QUIBIQ GmbH · Impressum · Datenschutz