Problembeschreibung: Die von den Enterprise Service Tools von IBMR Rational Developer für System z durchgeführte Konvertierung in kompilierte XML für die CICSR-, IMS- und Batch-Laufzeit in den Bottom-up- und Meet-in-the-middle-Szenarien kann mit einem Rückkehrcode von 280 bis 303 beendet werden. Die vom Umsetzer zurückgegebene Language-EnvironmentR-Nachricht ist veraltet, oder im Systemprotokoll bzw. in der Konsole erscheint der Text "Ausnahmenachricht nicht abgerufen".
Lösung: Die Fehlerprüfung der Konvertierungsfunktion von Rational Developer für System z für die Konvertierung von COBOL in kompilierte XML wurde erweitert und kann jetzt aktualisierte Nachrichten (IGZ0280S bis IGZ0298S) sowie neue Nachrichten (IGZ0299S bis IGZ0303S) absetzen. Wenden Sie die vorläufige Programmkorrektur für APAR PK65058 an.
Web-Services-für-CICS-Szenarien bieten Unterstützung für eine zusätzliche Zuordnungs- und Laufzeitversion (2.2). Wenn Sie die generierten Artefakte dieser Version verwenden möchten, ist CICS TS 3.2 mit angewendetem APAR PK69738 erforderlich.
Tabelle 6, Ableitung von XML-Typen aus PL/I, im Artikel Aus PL/I abgeleitete XML-Typen ist falsch. Bitte ignorieren sie diese Tabelle.
Problem: Der EST-Assistent wird blockiert, wenn die erforderlichen Copybooks nicht aufgelöst werden. Dies geschieht, wenn die Sprache für Fehlernachrichten auf der Vorgabenseite des COBOL-Importprogramms auf einen anderen Wert als en_US gesetzt ist.
Lösung: Ändern Sie die Einstellung für Error messages language, indem Sie Folgendes auswählen:
Fenster -> Benutzervorgaben -> Importer -> COBOL -> Registerseite More COBOL Options
Problem: Der Assistent Quellendateien importieren bietet für das Meet-in-the-middle-Szenario keine Unterstützung für die Importoption Dateisystem...
Problemumgehung: Kopieren Sie alle erforderlichen Dateien in ein allgemeines Projekt. Importieren Sie sie dann, indem Sie im Assistenten Quellendateien importieren die Option Arbeitsbereich... auswählen.
Problem: Wenn Sie beim Bottom-up-Entwicklungsszenario generierte WSDL/XSD-Dateien einer älteren Version mit neu generierten Umsetzern verwenden, können in der Laufzeit Fehler auftreten. Es könnte beispielsweise die folgende Laufzeitfehlernachricht erscheinen: "IGZ0282S XML to data structure conversion could not complete in program "PGMNAME" because no element names in the XML document were recognized by the converter."
Lösung: Wenn Sie im Bottom-up-Szenario eine WSDL/XSD-Datei und Umsetzer generieren, sollten Sie die WSDL/XSD-Datei nur mit den Umsetzern verwenden, die zusammen mit den Dateien generiert wurden.
COBOL-Typ | Merkmale COBOL UsageValue + COBOL ModelType | Entsprechender XSD-Typ |
---|---|---|
Gepackt dezimal, COMP-3 -> packedDecimal | packedDecimal | Wenn ein Dezimalzeichen angegeben ist: <xsd:simpleType> <xsd:restriction base="xsd:decimal"> <xsd:minInclusive value="xx.x"/> <xsd:maxInclusive value="yy.y"/> </xsd:restriction> </xsd:simpleType> Wenn kein Dezimalzeichen angegeben ist: <xsd:simpleType> <xsd:restriction base="xsd:short"> <xsd:minInclusive value="xxx"/> <xsd:maxInclusive value="yyy"/> </xsd:restriction> </xsd:simpleType> |
Problem: Wenn Sie in einem Web-Services-für-CICS-Projekt das Szenario 'Neue Serviceimplementierung erstellen (Top-down)' oder das Szenario 'Zuordnung zu einer vorhandenen Serviceschnittstelle (Meet-in-the-middle)' ausführen und die WSDL-Datei (die ursprünglich von einer fernen Position importiert wurde) ein Schema enthält, importiert oder neu definiert, scheitert das Szenario mit einem Fehler.
Problemumgehung: Kopieren Sie alle erforderlichen Dateien auf die Workstation oder in ein allgemeines Projekt im Arbeitsbereich, und importieren Sie die lokale WSDL-Datei in das Web-Services-für-CICS-Einzelserviceprojekt. Wählen Sie dazu RMB -> Importieren -> Quellendateien aus und versuchen Sie, das Top-down-Szenario auszuführen.
Obwohl der Workstation-COBOL-Compiler 'XML PARSE'-Anweisungen in der Kompilierungs- und Laufzeit unterstützt, können die von den Assistenten für Einzelservices generierten COBOL-Programme nur in der z/OS-Umgebung ausgeführt werden.
Problem: Der XML-Sprachstruktur-Umsetzer gibt die folgende Ausnahmenachricht zurück:
"IGZ0291S XML to data structure conversion could not complete in program program-name because the maximum XML element nesting depth was exceeded. The error occurred at element element-name with character content character-content."
Problemumgehung: Der XML-Sprachstruktur-Umsetzer konnte die Verschachtelungstiefe eines bestimmten XML-Elements nicht bearbeiten. Eine über die Tiefe der ursprünglichen COBOL-Struktur hinausgehende Verschachtelungstiefe ist zwar zulässig, kann unter Umständen jedoch das handhabbare Maximum überschreiten. Wenn das XML-Dokument für Anforderungen ein Element enthält, das nicht im Schema enthalten ist, löst das Element diese Bedingung aus, falls die Verschachtelung des Elements zu tief ist.
Problem: Auf der Strukturauswahlseite des Editors für Zuordnungssitzungen können unbenannte Gruppen und ihre Datenelemente nicht ausgewählt werden, weil des übergeordnete Element mit den zugehörigen Datenelementen herausgefiltert wird.
Problemumgehung: Bearbeiten Sie die COBOL-Datenstruktur, und benennen Sie die Gruppen- und/oder Datenelemente, die konvertiert werden müssen. Wenn Sie die COBOL-Gruppe benannt haben, können die Datenelemente der Gruppe (die keine Füllelemente sind) ausgewählt werden.
Problem: Die Compileroption OPT in der generierten Anweisung PROCESS des Treiber- und des Umsetzerprogramms gerät in Konflikt mit der Option TEST, wenn Sie sie in Ihrer JCL als Compileroption angeben.
Problemumgehung: Wenn Sie für die generierten XML-Umsetzerprogramme ein Debug durchführen möchten, löschen Sie im Web-Service-Assistenten auf der Seite 'Generierungsoptionen' unter 'Compilerbezogene Vorgaben angeben' die Markierung für die Option 'Optimierung'.
Problem: Wenn ein COBOL-Datenfeld ein ODO-Element ist oder enthält, können Sie die Zuordnung zu einer kompatiblen XML-Struktur nicht abgleichen. Die Aktion 'Zuordnung abgleichen' ist nur möglich, wenn Sie das ODO-Objekt vorher manuell zugeordnet haben.
Problemumgehung: Ordnen Sie das ODO-Objekt gemäß den Zuordnungsregeln manuell zu, bevor Sie die Aktion 'Zuordnung abgleichen' ausführen. (Das dem COBOL-ODO-Objektelement zugeordnete Element muss im XML-Dokument vor dem XML-Element erscheinen, das dem entsprechenden COBOL-ODO-Subjekt zugeordnet ist.)
Problem: Unter Windows muss in Eclipse bei Ordner- und Dateinamenseinträgen die Groß-/Kleinschreibung beachtet werden.
Problemumgehung: Achten Sie darauf, dass Ordner- und Dateinamen konsistent eingegeben werden. Wenn Ihr Ordnername in der Workbench beispielsweise als MeinOrdner angezeigt wird, müssen Sie im Eingabefeld für den Ordnernamen MeinOrdner eingeben. Bei Eingabe von meinordner könnten die Tools den Eintrag als ungültigen oder nichtvorhandenen Ordnernamen melden.
Problem: Die Angabe von ungültigen Zeigern auf XML-Umsetzer oder -Treiber, die keine Nullzeiger sind, führen zu einer Endlosschleife.
Problemumgehung: Die XML-Umsetzer versuchen, vom Aufrufenden übergebene Nullzeiger festzustellen und zu melden. Bei ungültigen Zeigern, die keine Nullzeiger sind, werden die XML-Umsetzer wahrscheinlich einen Speicherschutzfehler (SOC4) feststellen und zurückgeben.
Die Unterstützung für DBCS-Datenelemente in EST-Einzelserviceprojekten erfordert, dass XML-Dokumente für Anforderungen und Antworten in UTF-16 oder UTF-8 codiert sind. Wenn die Ziellaufzeit des Web Service SOAP für CICS ist, konfigurieren Sie das Feature für den Austausch von XML mit dem XML-Umsetzertreiber in UTF-8 oder UTF-16. Die Laufzeit von Web Services für CICS tauscht XML mit einem Client standardmäßig in UTF-8 aus. Der XML-Umsetzertreiber tauscht dagegen XML mit CICS in UTF-16 aus. Wenn UNICODE erforderlich ist, treffen Sie mit UTF-16 die derzeit effizienteste Auswahl für die XML-Umsetzer. Für jede der Laufzeiten kann es notwendig sein, z/OS-Unterstützung für UNICODE mit einem Konvertierungsimage zu konfigurieren, das die Konvertierung zwischen UNICODE und der DBCS-Host-Codepage unterstützt.
Problem: Bei der Menüauswahl Generieren -> XML-Datei... werden XSD-Schemaeinschränkungen nicht berücksichtigt. Wenn Sie die Aktion 'XML-Datei generieren' für eine mit den Enterprise Service Tools erstellte XSD verwenden, können ungültige XML-Dateien generiert werden.
Problemumgehung: Bearbeiten Sie die generierte XML-Datei, so dass der Tag-Inhalt den im XSD-Schema angegebenen Einschränkungen gerecht wird.
Problem: Ungültige Einträge in den Options-XML-Dateien (Container.xml, PlatformProperties.xml, ServicesSpecification.xml) können bei der Ausführung des Batch-Prozessors zu Nullzeigerausnahmen führen.
Problemumgehung: Geben Sie die Einträge in den Options-XML-Dateien im richtigen Format an.
Die Position der COBOL-Eingabedateien kann im Attribut 'importDirectory' als absoluter Pfad, der mit der Laufwerksangabe beginnt, angegeben werden (z. B. C:\meinpfad\test).
Nehmen wir beispielsweise an, es gibt ein Projekt mit folgenden Verzeichnissen:
C:\workspace\account_details |
-- Hauptprojektverzeichnis |
C:\workspace\account_details\cobol_src |
-- Unterverzeichnis mit zu importierenden COBOL-Quellendateien |
C:\workspace\account_details\xsebatch_config |
-- Unterverzeichnis mit XML-Konfigurationsdateien für xsebatch |
In diesem Fall können Sie für eine COBOL-Quellendatei mit dem Namen DFH0ACTD.cbl im Verzeichnis cobol_src das folgende Element InputOutputMessage verwenden:
<InputOutputMessage importFile="../cobol_src/DFH0ACTD.cbl"></InputOutputMessage>
Alternativ dazu können Sie die COBOL-Quellendateien in das Verzeichnis stellen, von dem aus xsebatch aufgerufen wird.
Obwohl die Groß-/Kleinschreibung bei COBOL-Dateinamen nicht unterschieden wird, müssen Sie die Namen in den XML-Spezifikationsdateien exakt unter Beachtung der Groß-/Kleinschreibung angeben. Wenn der Datenname in der COBOL-Datenquelle beispielsweise MEINE-Daten lautet, muss das Attribut 'nativeTypeName' in der Servicespezifikations-XML auf nativeTypeid="MEINE-Daten" gesetzt werden. Wird die Groß-/Kleinschreibung bei der Angabe nicht beachtet, kann der Datenname nicht gefunden werden. Stattdessen wird standardmäßig der erste verfügbare Datenname der Stufe 01 verwendet.
Die figurativen Konstanten LOW-VALUE(S) und HIGH-VALUE(S) können in COBOL-Datenstrukturen vorhanden sein, die in den EST-Assistenten für Einzelservices verwendet werden. Ihre semantische Bedeutung wird von den Assistenten jedoch ignoriert und nicht in die von diesen Assistenten generierten Artefakte übertragen.
Problem: Die Verwendung von Zeichen der GB18030-Codepage in Namen von EST-Einzelserviceprojekten führen zur Anzeige von Fehlern, wenn Sie für Dateien des Projekts einen EST-Assistenten für Einzelservices ausführen.
Problemumgehung: Verwenden Sie keine GB18030-Zeichen für die Benennung eines EST-Einzelserviceprojekts.
Problem: Nach Ausführung eines EST-Assistenten für Einzelservices werden Sie manchmal feststellen, dass temporäre Dateien (wie ~DF45B.tmp) nicht aus dem Ordner des EST-Einzelserviceprojekts gelöscht werden.
Problemumgehung: Falls Sie in Ihrem EST-Einzelserviceprojekt nach Ausführung eines EST-Assistenten für Einzelservices Dateien mit ähnlichem Namen finden, können Sie sie bedenkenlos löschen.
Problem: Bei Ausführung eines EST-Assistenten für Einzelservices werden Sie manchmal feststellen, dass während der WSDL-Generierung in der Ansicht 'EST-Projekt-Explorer' vorübergehend ein temporäres Projekt angezeigt wird (das z. B. den Namen ESTProject oder ESTProjectN haben kann, wobei N für 1, 2, 3 usw. steht). Die Anzeige dieses Projekts kann die Ansicht anderer Projekte im EST-Projekt-Explorer zeitweise überlagern. Wenn während der WSDL-Generierung Fehler auftreten oder die Workbench geschlossen wird, werden diese temporären Projekte manchmal nicht aus dem EST-Projekt-Explorer gelöscht.
Problemumgehung: Falls Sie in Ihrem Arbeitsbereich nach Ausführung eines EST-Assistenten für Einzelservices Projekte mit ähnlichem Namen finden, können Sie diese Projekte bedenkenlos löschen.
Problem: Der Migrationsprozess für die alten Zuordnungsdateien erfordert, dass sich die referenzierten zugeordneten Quellendateien in demselben Ordner wie die Zuordnungsdatei befinden. Ist diese Anforderung nicht erfüllt, scheitert das Migrationstool für Zuordnungsdateien mit folgender Fehlernachricht: "Die Ressource ......[Dateiname].mapping ist keine lokale Ressource."
Problemumgehung: Verschieben Sie die referenzierten Quellendateien in den Ordner, der die zu migrierende Zuordnungsdatei enthält.
Problem: Wenn auf den Seiten des Web-Service-Assistenten eine ferne Position nach einem Zielordner (Umsetzerordner, WSDL- oder WSBIND-Ordner) durchsucht wird, kann die Suche sehr lange dauern oder bei einem langen Verbindungsnamen (wie ctfmvs08.rtp.raleigh.ibm.com) die Workbench blockieren.
Problemumgehung: Geben Sie der Verbindung einen kürzeren Namen, z. B. ctfmvs08.
Problem: Die Namen der message-Stammelemente für Web Services in den standardmäßig von der Konvertierung in interpretierbare XML und von der Konvertierung in kompilierte XML generierten XML-Schemata stimmen nicht überein. Möglicherweise müssen Sie die standardmäßigen Generierungseinstellungen für die Konvertierung in kompilierte XML an die der Konvertierung in interpretierbare XML anpassen. Weitere Informationen dazu sind nachfolgend unter 'Problemumgehung' beschrieben. Nach einer solchen Anpassung können Sie später den Konvertierungstyp von interpretierbarer XML in kompilierte XML ändern, ohne die WSDL-Datei erneut publizieren zu müssen und ohne Code in den Clients des Web Service zu ändern.
Problemumgehung: Wenn Sie die Artefakte für die Konvertierung in kompilierte XML generieren, können Sie den Namen des Stammelements im Assistenten an den der Konvertierung in interpretierbare XML anpassen. Diese neue Option hat die Bezeichnung "Stammelementname" und befindet sich unter:
Seite Generierungsoptionen -> Register WSDL- und XSD-Optionen -> Gruppen Angeben der Merkmale des XML-Schemas für Anforderungen/Antworten
Bei der COBOL-Gruppe mit dem Namen A-B-C würden die Artefakte für die Konvertierung in interpretierbare XML beispielsweise message-Stammelemente mit dem Namen "a_b_c" enthalten. Die Standardartefakte für die Konvertierung in kompilierte XML würden dagegen Stammelemente mit dem Namen "ABC" enthalten. Sie können "ABC" im Assistenten wie oben beschrieben in "a_b_c" ändern, damit der Name mit dem in der WSDL übereinstimmt, die für die Konvertierung in interpretierbare XML generiert wird.
Problem: Die Namen von Membern partitionierter Dateien dürfen unter z/OS keine DBCS-Zeichen enthalten.
Problemumgehung: Vermeiden Sie DBCS-Zeichen, wenn Sie die Namen der XML-Umsetzerdateien angeben. Überprüfen Sie außerdem, ob die vom Assistenten vorgeschlagenen Standarddateinamen DBCS-Zeichen enthalten.