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

Suche

über alle News und Events

 

Alle News

 

Vom 5. bis 7. Juni findet in London wieder die...

Weiterlesen

Vom 5. bis 7. Juni findet in London wieder die...

Weiterlesen

Vom 5. bis 7. Juni findet in London wieder die...

Weiterlesen

Live Coding on stage in Hamburg - exklusiv für...

Weiterlesen

Um Azure Ressourcen von DevOps aus zu deployen,...

Weiterlesen

In diesem Artikel wird ein beispielhafter Aufbau...

Weiterlesen

Die QUIBIQ Gruppe wurde am 9. März 2023 von dem...

Weiterlesen

Der Schnelleinstieg in die Welt der Tests für den...

Weiterlesen

Wenn man eine, im Azure Portal, entwickelte Logic...

Weiterlesen

WinSCP für BizTalk wird für den SFTP-Adapter...

Weiterlesen

How-to: Erstellen einer BizTalk Message in plain Text

Das Senden einer JSON Nachricht über BizTalk ist kein Problem. Ist jedoch ein XML innerhalb eines Valuefields dabei, können einige Fehler auftreten. Wir zeigen in diesem Artikel eine mögliche Umsetzungsvariante.

Wir haben beispielsweise ein einfaches JSON mit einer ID, einer Kundennummer sowie einer Message. Dies sieh wie folgt aus:

{

    "beispiel_ID": 123456,

    "beispiel_kundenNr": "A-123456",

    "beispiel_message": "</XMLObjekt>"

}

In diesem Fall haben wir entsprechend also drei Felder; das Feld beispiel_ID ist dabei ein int, das Feld beispiel_kundenNr ein String und das Feld beispiel_message wird das XML beinhalten.

In der BizTalk-Orchestration wird das JSON mit den nötigen Feldern aufgebaut. Zusätzlich wird bereits in die Output-Message Msg_Request ein new XMLDocument instanziiert. Mit einem Aufruf in eine C# Helper-Klasse kann das XML korrekt gebaut werden:

Msg_Request = new System.Xml.XmlDocument();

Helper.Message.LoadXLANGMsgFromString(«{«beispiel_ID»: 123456, «beispiel_kundenNr»: «A-123456»,«beispiel_message»: «</XMLObjekt>»}», Msg_Request);

Als Parameter wird das JSON und die Output-Message Msg_Request übergeben. In der Helper-Klasse werden mit Hilfe eines MemoryStreams alle bytes einzeln in das XML geladen. Dies ermöglicht, dass keine Pipeline mehr benötigt wird, die das XML in ein JSON umwandeln würde.

public static void LoadXLANGMsgFromString(string source, XLANGMessage dest)

{

   var bytes = Encoding.UTF8.GetBytes(source);

   using (MemoryStream ms = new MemoryStream(bytes, 0, bytes.Length, false, true))

   {

      dest[0].LoadFrom(ms);

   }

}

Als letztes muss die «Send pipeline» auf «PassThruTransmit» gestellt werden. Somit ist sichergestellt, dass der plain Text den wir gebaut haben, ohne eine Konvertierung gesendet wird.

Ein Beitrag von Florian Becher, Developer III QUIBIQ Schweiz AG

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