Webtools - Release-Informationen


1.0 Einschränkungen
   1.1 Problem bei Drag-and-Drop-Aktionen von der Seitendatensicht zur Tabelle "Freies Layout"
   1.2 Probleme beim Implementieren einer Webanwendung beim SDO-Zugriff auf eine Datenbank, wenn eine Treibermanagerverbindung zu einem WebSphere V6-Server verwendet wird
   1.3 Aktualisierungsmethode für die relationale SDO-Datensatzliste
2.0 Bekannte Probleme
   2.1 Unter SDO werden Standardportnummern für JDBC-Verbindungen verwendet
   2.2 Löschung von wdo_web.jar wird bei der Umstellung eines Webprojekts von WAS V5 auf WAS V6 nicht ausgeführt
   2.3 Ungültige Fehlernachricht für automatische Schlüsselgenerierung
   2.4 Bei Ausführung als Dienst muss WAS unter einer ID mit DB2-Zugriff ausgeführt werden
   2.5 Bei Speicherung von JSP-Seiten werden SDO/WDO-XML-Dateien möglicherweise ausgenommen
   2.6 Relationale/r Satz/Liste mit mehreren Filtern funktioniert möglicherweise nicht auf WAS 6-Server
   2.7 SDO-Datenquellen werden unter Umständen nicht erstellt, wenn für das Projekt ein Standardserver ausgewählt wird
   2.8 Durch Aktion zum Umbenennen eines Schemas für eine(n) relationale(n) Satz/Liste wird der Schemaname der Tabelle für eindeutige Schlüssel nicht aktualisiert

1.0 Einschränkungen

1.1 Problem bei Drag-and-Drop-Aktionen von der Seitendatensicht zur Tabelle "Freies Layout"

Beim Versuch, eine Drag-and-Drop-Operation von einer Seitendatensicht in eine Seite auszuführen, die eine Tabelle für freies Layout enthält, wird der NOT-Cursor angezeigt, und die Drag-and-Drop-Operation kann nicht ausgeführt werden.

Um eine Drag-and-Drop-Operation von einer Seitendatensicht auszuführen, wählen Sie zunächst die 'Textzelle' aus der Palette aus, und fügen Sie dann der Tabelle für freies Layout eine Textzelle hinzu. Führen Sie dann eine Drag-and-Drop-Operation von der Seitendatensicht in die Textzelle aus.

1.2 Probleme beim Implementieren einer Webanwendung beim SDO-Zugriff auf eine Datenbank, wenn eine Treibermanagerverbindung zu einem WebSphere V6-Server verwendet wird

Wenn Sie versuchen, eine Webanwendung mit der SDO-Funktion zu implementieren, die über eine Treibermanagerverbindung auf eine relationale Datenbank zugreift, werden die Treiber-JARs nicht automatisch zum Klassenpfad des Servers hinzugefügt. Dies verursacht ClassNotFound-Fehler.

Momentan wird standardmäßig eine Datenquellenverbindung hergestellt, sobald die Anwendung auf die relationalen Datenbanken von Cloudscape, DB2, SQL Server und Oracle zugreift. Bei anderen Datenbanken, insbesondere bei Informix(R) und Sybase, wird eine Treibermanagerverbindung erstellt, was zur Folge hat, dass das beschriebene Problem auftritt.

Um die Treibermanagerverbindung so einzurichten, dass diese fehlerfrei funktioniert, müssen Sie die Pfadangaben der JAR-Komponenten für den Treiber zum Klassenpfad des Servers manuell hinzufügen. Führen Sie hierzu die Verwaltungskonsole des Servers aus und fügen Sie die Klassenpfadeinträge unter Server->Anwendungsserver-><serverName>->Java- und Prozessverwaltung ->Prozessdefinition->Java Virtual Machine->Klassenpfad aus.

1.3 Aktualisierungsmethode für die relationale SDO-Datensatzliste

Momentan generiert das Produkt keine Aktualisierungsmethode mit jeder relationalen Datenliste. Im Folgenden ist der Code aufgeführt, der in die Aktion eingebunden werden kann, um den Inhalt der Datenliste mit dem Namen myList zu aktualisieren.

try { getMyListMediator().applyChanges((DataObject)((ECoreEList)getMyList()).getEObject()); } catch (Throwable e) { logException(e); }

2.0 Bekannte Probleme

2.1 Unter SDO werden Standardportnummern für JDBC-Verbindungen verwendet

Wenn Ihr JDBC-Server mit Einstellungen ausgeführt wird, die von den Standardeinstellungen des Lieferanten abweichen, müssen Sie die SDO-Laufzeitverbindung bei der ersten Herstellung ändern.

2.2 Löschung von wdo_web.jar wird bei der Umstellung eines Webprojekts von WAS V5 auf WAS V6 nicht ausgeführt

Wenn ein Webprojekt von einem WAS V5-Server auf einen WAS V6-Server umgestellt wird, wird in bestimmten Fällen die Datei "WEB-INF/lib/wdo_web.jar" nicht gelöscht. Diese Datei ist auf einem WAS V6-Server nicht gültig und kann zu Problemen beim erneuten Generieren von Clientobjekten im Webprojekt führen. (Dies gilt nur, wenn Sie die Arbeitsschritte im Abschnitt zum Migrieren von JavaServer Faces-Ressourcen mit Faces-Clientkomponenten im Migrationshandbuch ausgeführt haben.)

Um dieses Problem zu vermeiden, müssen Sie diese JAR-Datei aus dem Bibliotheksordner (lib) löschen. Nach der Löschung dieser Datei müssen Sie die Datei "web.xml" Ihres Webprojekts öffnen und den Tag "taglib" entfernen, der auf diese JAR-Datei verweist. Sie können diese Löschung entweder über die Seite "Variablen" oder "Quelle" des Editors für Webimplementierungsdeskriptoren durchführen. Die URI für "taglib" lautet http://www.ibm.com/websphere/wdo/core. Wählen Sie anschließend in der Projektexplorersicht das Webprojekt und dann im Kontextmenü die Option "Eigenschaften" aus. Wählen Sie nun die Option Java-Erstellungspfad aus und entfernen Sie auf der Seite "Bibliotheken" alle Einträge für den Klassenpfad WDO_EMF_JARS_PATH/*.

2.3 Ungültige Fehlernachricht für automatische Schlüsselgenerierung

Wenn Sie eine JSP-Seite mit einem relationalen Datensatz erstellen, die die Funktion für die automatische Schlüsselgenerierung verwendet, und hierbei als Zieleinheit ein V5.1-Server definiert ist, wird möglicherweise die folgende Fehlernachricht ausgegeben:

cvc-complex-type.2.4.d: Ungültiger Inhalt gefunden ab Element 'tables' (2 cvc-complex-type.2.4.d: Invalid content was found starting with element 'tables'). An dieser Position wurde kein untergeordnetes Element erwartet (No child element is expected at this point).

Diese Nachricht ist ungültig und kann ignoriert werden.

2.4 Bei Ausführung als Dienst muss WAS unter einer ID mit DB2-Zugriff ausgeführt werden

Wenn Sie WebSphere Application Server als Dienst ausführen und hierbei die Standardmethode zur Authentifizierung verwenden (Ausführung als angemeldeter Benutzer) und dann versuchen, innerhalb einer Webanwendung eine Verbindung zu DB2 herzustellen, ohne einen Benutzernamen und das zugehörige Kennwort anzugeben, wird möglicherweise die folgende Fehlernachricht ausgegeben:

java.sql.SQLException: [IBM][CLI-Treiber] SQL0567N "SYSTEM" ist keine zulässige Berechtigungs-ID. (java.sql.SQLException: [IBM][CLI Driver] SQL0567N "SYSTEM" is not a valid authorization ID.) SQLSTATE=42602 DSRA0010E: SQL-Status = 42602, Fehlercode = -567 (SQLSTATE=42602 DSRA0010E: SQL State = 42602, Error Code = -567)

Um diesen Fehler zu vermeiden, müssen Sie in der Anwendung eine Benutzer-ID und das entsprechende Kennwort angeben oder WAS explizit (durch Angabe der Benutzer-ID und des Kennworts) so einstellen, dass die Ausführung unter einem Benutzerkonto erfolgt, das über Zugriff auf die DB2-Installation verfügt.

2.5 Bei Speicherung von JSP-Seiten werden SDO/WDO-XML-Dateien möglicherweise ausgenommen

Wenn Sie eine ungespeicherte JSP (mit nicht festgeschriebenen Änderungen) schließen und nach der Eingabeauffordeung die JSP schließen, werden die nicht festgeschriebenen Änderungen an Ihren WDO/SDO-Dateien möglicherweise nicht gespeichert.

Um dies zu vermeiden, stellen Sie nach der Konfiguration eines relationalen Satzes bzw. einer relationalen Satzliste sicher, dass Sie die JSP durch Drücken von STRG+S oder durch Klicken auf Datei--&Speichern sichern.

2.6 Relationale/r Satz/Liste mit mehreren Filtern funktioniert möglicherweise nicht auf WAS 6-Server

Dieses Problem tritt in WDO-Anwendungen auf, die für die Ausführung auf einem Websphere V51-Server erstellt und zur Ausführung auf einem Websphere V60-Server migriert wurden. Wenn in diesem Szenario Ihre Faces-Seite einen Satz oder eine Satzliste mit mehr als einer enthaltenen Filterklausel hat, löst die Seite bei Ausführung auf dem Server möglicherweise folgende Ausnahmebedingung aus:

java.lang.ArrayIndexOutOfBoundsException: 1 at org.eclipse.emf.ecore.impl.DynamicEObjectImpl.dynamicGet(DynamicEObjectImpl.java:192) at org.eclipse.emf.ecore.impl.EStructuralFeatureImpl$InternalSettingDelegateSingleData.dynamicGet(EStructuralFeatureImpl.java:1758) at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eDynamicGet(BasicEObjectImpl.java:485) at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjectImpl.java:476)e at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjectImpl.java(Compiled Code)) at com.ibm.etools.webtools.sdo.runtime.internal.MapDataObjectImpl.getValue(MapDataObjectImpl.java:197) at com.ibm.etools.webtools.sdo.runtime.internal.MapDataObjectImpl.put(MapDataObjectImpl.java:162) at pagecode.PageCodeBase.resolveParams(PageCodeBase.java:189)

Das Problem besteht im Parameterobjekt des Mediators.

Um dieses Problem zu beheben, müssen Sie das Parameterobjekt des Mediators korrekt setzen. Bearbeiten Sie hierzu Ihre Methode getList oder getRecord

von:

public DataListAccessBean getList1() { if (list1 == null) { try { resolveParams(getList1Mediator().getParams(), list1ArgNames, list1ArgValues, "list1_params_cache"); DataGraphAccessBean graph = getList1Mediator().fetchGraph(); list1 = graph.getDataListAccessBean(); } catch (Throwable e) { logException(e); } } return list1; }


in:

public DataListAccessBean getList1() { if (list1 == null) { try { getList1Mediator().setParams( new MapDataObjectImpl(((EObject) new MediatorImpl( (Metadata) getList1Mediator().getMetadata(), new NullConnectionWrapper()) .getParameterDataObject()).eClass())); resolveParams(getList1Mediator().getParams(), list1ArgNames, list1ArgValues, "list1_params_cache"); DataGraphAccessBean graph = getList1Mediator().fetchGraph(); list1 = graph.getDataListAccessBean(); } catch (Throwable e) { logException(e); } } return list1; }

Beachten Sie das Codefragment, das das Parameterobjekt festlegt.

2.7 SDO-Datenquellen werden unter Umständen nicht erstellt, wenn für das Projekt ein Standardserver ausgewählt wird

Datenquellen werden auf dem Server während der Einstellung Auf Server ausführen nicht korrekt konfiguriert, wenn ein standardmäßiger Server ausgewählt wurde. Um sicherzustellen, dass Ihre Datenquelle ordnungsgemäß eingerichtet wird, wählen Sie keinen standardmäßigen Server aus. Sobald Ihre Anwendung erfolgreich publiziert wurde, können Sie einen Standardserver auswählen. Sie dürfen jedoch keine Änderungen an Ihren Datenquellen ausführen.

2.8 Durch Aktion zum Umbenennen eines Schemas für eine(n) relationale(n) Satz/Liste wird der Schemaname der Tabelle für eindeutige Schlüssel nicht aktualisiert

Durch die Aktion zum Umbenennen eines Schemas für eine(n) Satz/Liste wird der Schemaname der Tabelle für eindeutige Schlüssel nicht aktualisiert.

Um dieses Problem zu umgehen, suchen Sie die XML-Datei, in der die Abfrage für den Satz bzw. die Liste gespeichert ist, und aktualisieren Sie den eindeutigen Schemanamen der Tabelle für eindeutige Schlüssel.

Zurück zur Readme-Hauptdatei