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