Freigeben über


Als XSD-Schemas dargestellte Nachrichten

Zur Entwurfszeit wird eine XML-Vorlageninstanz des XSD-Nachrichtentyps definiert und dann auf der Festplatte gespeichert. Zur Laufzeit ruft eine .NET-Komponente den XML-Code von der Festplatte ab und gibt ihn als XML-Dokument zurück. Der Orchestrierungscode kann dieses XmlDocument-Ergebnis der in der Orchestrierung deklarierten Nachrichteninstanz zuweisen.

Das Shape "Nachrichtenzuweisung " verfügt über eine einzige Codezeile:

MsgOut = CreateMsgHelper.Helper.GetXmlDocumentTemplate();  

Die Hilfskomponente, von der das XML-Dokument erstellt wird, enthält eine einzelne statische Methode:

private static XmlDocument _template = null;  
private static object _sync = new object();  
private static String LOCATION = @"C:\MyTemplateLocation\MyMsgTemplate.xml";  
  
public static XmlDocument GetXmlDocumentTemplate()  
{  
   XmlDocument doc = _template;  
   if (doc == null)  
   {  
      // Load the doc template from disk.  
      doc = new XmlDocument();  
      XmlTextReader reader = new XmlTextReader(LOCATION);  
      doc.Load(reader);  
  
      // Synchronize assignment to _template.  
      lock (_sync)  
      {  
         XmlDocument doc2 = _template;  
         if (doc2 == null)  
         {  
            _template = doc;  
         }  
         else  
         {  
            // Another thread beat us to it.  
            doc = doc2;  
         }  
      }  
   }  
  
   // Need to explicitly create a clone so that we are not  
   // referencing the same object statically held by this class.  
   doc = (XmlDocument) doc.CloneNode(true);  
   return doc;  
}  

Weitere Informationen

Als .NET-Klassen dargestellte Nachrichten
Als „XLANGMessage“ dargestellte Nachrichten
Erstellen von Nachrichten in Benutzercode