Mit dem Assistenten 'Neue Nachrichtendefinitionsdatei' im
WebSphere Message
Broker Toolkit können Sie eine neue Nachrichtendefinition aus einem XML-Schema erstellen.
Tipp: In WebSphere Message
Broker Version 8.0 und höher erfolgt die
Nachrichtenmodellierung bei den meisten Datenformaten bevorzugt über Dateien des
Nachrichtenmodellschemas, die in Anwendungen und Bibliotheken enthalten sind. Nachrichtengruppen sind bei Verwendung von MRM- oder IDOC-Domänen weiterhin erforderlich.
Weitere Informationen zur Nachrichtemodellierung finden Sie unter Begriffe der Nachrichtenmodellierung. Informationen zur Erstellung eines XML-Schemas finden Sie im Abschnitt
XML-Schema-Datei mit dem Assistenten 'Neues Nachrichtenmodell' erstellen.
Vorher müssen die folgenden Aufgaben ausgeführt werden:
Bevor Sie mit dieser Task beginnen, sollten Sie folgende Punkte beachten:
- Wenn Sie eine Sammlung zusammengehöriger XML-Schemadateien importieren, sollten Sie den Befehl mqsicreatemsgdefs verwenden.
Dabei werden alle XML-Schemadateien in einem einzelnen Arbeitsgang importiert. Außerdem werden die Import- und Include-Pfade automatisch angepasst.
- Wenn die Nachrichtengruppe, zu der Sie die neue Nachrichtendefinitionsdatei hinzufügen, über eine XML Wire-Format-Ebene verfügt, aber keine Namespaceunterstützung hat, wird das importierte Schema geändert, um Namespaces zu entfernen. Es wird daher empfohlen, dass Sie die Namespaceunterstützung aktivieren, bevor Sie ein Schema importieren.
- Wenn die Nachrichtengruppe, zu der Sie die neue Nachrichtendefinitionsdatei hinzufügen,
nicht über eine XML Wire-Format-Ebene verfügt, sondern stattdessen über
Namespaceunterstützung verfügt, erscheinen nur die logischen Informationen im Modell.
Fügen Sie daher der Nachrichtengruppe eine physische Schicht hinzu, bevor Sie das Schema
importieren. So gewährleisten Sie, dass die Nachrichtengruppe mit den Einstellungen und Werten des Schemas belegt
wird. Das XML-Schema wird nicht dahingehend geändert, dass Namespaces entfernt werden.
- Wenn die Nachrichtengruppe, zu der Sie die neue Nachrichtendefinitionsdatei hinzufügen, nicht über eine XML Wire-Format-Ebene und nicht über Namespaceunterstützung verfügt, erscheinen nur die logischen Informationen im Modell, und das importierte Schema wird so geändert, dass es Namespaces entfernen kann.
- Wenn Sie mit einer Nachrichtengruppe arbeiten, die nicht über Namespaceunterstützung verfügt, müssen Sie die Einstellungen angeben, die verwendet werden sollen, wenn Sie ein Schema in die Nachrichtengruppe importieren. Diese Einstellungen ermöglichen es Ihnen, festzulegen, wie das Importprogramm bestimmte individuelle Schemas konstruiert. Sie können das Schema entweder zurückweisen, wenn Vorkommen der Anweisung festgestellt werden, oder Sie können diese modifizieren. Wenn Sie sie modifizieren, modifiziert das Importprogramm alle Vorkommen des Konstrukts.
- Die Erweiterung der XML-Schemadatei muss .xsd in Kleinbuchstaben lauten.
In den folgenden Schritten erstellen Sie eine vollständig neue
Nachrichtendefinitionsdatei oder überschreiben den Inhalt einer vorhandenen Datei.
Gehen Sie wie folgt vor, um eine Nachrichtendefinition aus einer
XML-Schemadatei zu erstellen:
- Wechseln Sie in die Ansicht 'Brokeranwendungsentwicklung'.
- Öffnen Sie den Assistenten für Neue
Nachrichtendefinitionsdateien, indem Sie im
WebSphere Message
Broker Toolkit-Menü auf Datei > Neu >
Nachrichtendefinitionsdatei klicken. Sie können den Assistenten auch öffnen, indem Sie mit der rechten Maustaste auf
eine *.xsd-Datei klicken, die zuvor
in das WebSphere Message
Broker Toolkit importiert wurde, und
anschließend im Menü auf Neu > Nachrichtendefinitionsdatei
klicken.
- Klicken Sie in der angezeigten Liste mit Optionen auf XML-Schemadatei,
um diese auszuwählen, und klicken Sie anschließend auf Weiter.
- Gehen Sie die verbleibenden Seiten des Assistenten schrittweise durch und geben Sie die erforderlichen Informationen ein. Die Verarbeitungszeit zum Importieren des XML-Schemas variiert je nach Größe und
Komplexität des Schemas. In einem großen und komplexen Schema kann es einige Zeit dauern, bis die Datei importiert, die Protokolldatei generiert und mögliche Vorgangslistenfehlerwarnungen oder -fehler angezeigt worden sind.
Gehen Sie nach dem Import des XML-Schemas mithilfe des Assistenten folgendermaßen vor:
- Überprüfen Sie die Protokolldatei sorgfältig auf Warnungen oder Fehler in dem Bericht, der beim Importieren der Datei erstellt wird. Diese Warnungen und Fehlernachrichten liefern Informationen darüber, ob das Schema nicht importiert werden konnte oder geändert werden muss, damit es erfolgreich importiert werden kann.
Der Bericht befindet sich in der log-Verzeichnisstruktur innerhalb des Projekts, das die Nachrichtendefinition enthält, die Sie zu erstellen versucht haben. Der Bericht
hat die Dateierweiterung .xsd.report.txt mit dem von Ihnen für die
neue Nachrichtendefinitionsdatei angegebenen Namen als Präfix.
- Überprüfen Sie die Nachrichten, die in der WebSphere Message
Broker Toolkit-Taskliste
angezeigt werden, auf neue Warnungen oder Fehlernachrichten. Auch wenn Sie möglicherweise ein vollkommen gültiges Schema importiert haben, zeigt die Taskliste Warnungen oder Fehlernachrichten in der Nachrichtendefinitionsdatei an. So werden zum Beispiel in den folgenden Situationen Nachrichten angezeigt:
- Wenn das importierte XML-Schema die eindeutigen Anweisungen 'xsd:key', 'xsd:keyref' und
'xsd:unique' enthält, werden Warnmeldungen in der Taskliste angezeigt, dass diese Konstrukte nicht
unterstützt und vom Broker ignoriert werden. Wenn Sie diese Anweisungen löschen möchten, öffnen Sie die Nachrichtendefinitionsdatei im Nachrichtendefinitionseditor, und löschen Sie die Konstrukte, wie unter Nachrichtengruppen: Objekte löschen beschrieben.
Wenn Sie diese Anweisungen löschen, werden auch die Warnmeldungen aus der Liste entfernt. Wenn Sie die Konstrukte nicht löschen, verbleiben sie im Nachrichtenmodell, werden aber nicht im Broker implementiert oder für einen anderen Zweck verwendet. Die Warnmeldungen bleiben in der Taskliste bestehen; Sie können aber das Nachrichtenmodell wieder normal verwenden.
- Wenn das importierte XML-Schema xsd:redefine-Konstrukte enthält, wird in der Taskliste ein
Fehler angezeigt mit der Nachricht, dass dieses Konstrukt nicht unterstützt wird. Wenn Sie mit der rechten Maustaste auf die Fehlernachrichten klicken und
Schnellkorrektur auswählen, haben Sie die Möglichkeit, die
xsd:redefine-Konstrukte in xsd:include-Konstrukte umzuwandeln. Auf diese Weise werden auch die Fehlernachrichten gelöscht.
- Wenn das importierte XML-Schema xsd:attribute-Konstrukte enthält, die sowohl einen festen Wert als auch einen Standardwert beinhalten, wird in der Taskliste ein
Fehler angezeigt mit der Nachricht, dass dieses Konstrukt nicht unterstützt wird. Das Schema wird jedoch trotzdem importiert und der feste Wert, nicht der Standardwert, wird verwendet. Die Fehlernachrichten können ignoriert werden.
- Wenn Sie eine Sammlung verwandter XML-Schemadateien verwenden und der
Nachrichtendefinitionseditor die Links zwischen zwei der importierten Dateien nicht auflösen kann,
werden in der Taskliste Nachrichten mit dem Inhalt angezeigt, dass Typen, auf die verwiesen wird,
oder andere Objekte nicht gefunden werden können. Zu diesem Fall finden Sie weitere Informationen unter Fehler beim Entwickeln von Nachrichtenmodellen beheben.