Strumenti Web - Note sul rilascio


1.0 Limitazioni
   1.1 Problemi con il trascinamento dalla vista Dati di pagina nella tabella a layout libero
   1.2 Problemi con la distribuzione di un'applicazione Web con SDO che accede a un database utilizzando una connessione driver manager a un server WebSphere V6
   1.3 Metodo di aggiornamento per l'elenco record relazionali SDO
2.0 Problemi noti
   2.1 SDO utilizza numeri di porta predefiniti per la connessione JDBC
   2.2 wdo_web.jar non eliminato durante la riassegnazione di un progetto Web da WAS V5 a WAS V6
   2.3 Messaggio di errore non valido durante la generazione chiavi automatica
   2.4 WAS come servizio, deve essere eseguito con un ID che ha accesso a DB2
   2.5 Il salvataggio della pagina JSP non salva i file SDO/WDO XML
   2.6 Record/elenchi relazionali con più filtri non funzionanti sul server WAS 6
   2.7 Origini dati SDO non create se viene selezionato un server predefinito per il progetto
   2.8 L'azione di ridenominazione schemi non aggiorna il nome dello schema di tabelle di chiavi univoche

1.0 Limitazioni

1.1 Problemi con il trascinamento dalla vista Dati di pagina nella tabella a layout libero

Durante il trascinamento di elementi dalla vista Dati di pagina ad una pagina che contiene una tabella a formato libero, viene visualizzato il cursore NOT e non sarà possibile effettuare il trascinamento.

Per trascinare gli elementi dalla vista Dati di pagina, selezionare 'Cella di testo' nella tavolozza ed aggiungerla alla tabella a formato libero. Quindi trascinare l'elemento desiderato dalla vista Dati di pagina nella cella di testo.

1.2 Problemi con la distribuzione di un'applicazione Web con SDO che accede a un database utilizzando una connessione driver manager a un server WebSphere V6

Durante la distribuzione di un'applicazione Web (con la funzione SDO) che accede a un database relazionale utilizzando una connessione driver manager, i jar del driver non vengono aggiunti automaticamente al percorso classi del server, generando così errori ClassNotFound.

Attualmente per impostazione predefinita, viene creata una connessione all'origine dati ogni qual volta l'applicazione accede ai seguenti database relazionali: Cloudscape, DB2, SQL Server ed Oracle. Ma per qualsiasi altro database, generalmente Informix(R) e Sybase, viene creata una connessione di gestione driver e si presenta il problema appena descritto.

Affinché la connessione di gestione driver funzioni, sarà necessario aggiungere manualmente i percorsi jar del driver al percorso classi del server. Questa operazione può essere effettuata eseguendo la Console di gestione del server ed aggiungendo le voci del percorso classi in Server-&Server di applicazione-&Nome_del_server&-&Gestione Java e processi-&Definizione del processo-&Java Virtual Machine-&Percorso classi.

1.3 Metodo di aggiornamento per l'elenco record relazionali SDO

Attualmente il prodotto non genera un metodo di aggiornamento per ciascun elenco di dati relazionali. Di seguito è riportato il codice che è possibile inserire nell'azione per aggiornare il contenuto di un elenco dati chiamato myList

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

2.0 Problemi noti

2.1 SDO utilizza numeri di porta predefiniti per la connessione JDBC

Se il server JDBC è in esecuzione in qualsiasi altro ambiente oltre a quello predefinito del fornitore, sarà necessario modificare la connessione di runtime SDO quando viene creata per la prima volta.

2.2 2 wdo_web.jar non eliminato durante la riassegnazione di un progetto Web da WAS V5 a WAS V6

Quando si riassegna un progetto da un server WAS V5 a un server WAS V6, a volte il file WEB-INF/lib/wdo_web.jar non viene eliminato. Tale file non è valido su un server WAS V6 e potrebbe causare problemi durante la rigenerazione degli oggetti client nel progetto Web (se è stata seguita la procedura riportata nella sezione "Migrazione delle risorse JavaServer Faces con i componenti Faces Client" della guida alla migrazione).

Per evitare questi problemi, eliminare questo file JAR dalla cartella lib, Dopo averlo eliminato, aprire il file web.xml per il progetto Web e rimuovere il tag taglib che fa riferimento al file JAR. È possibile rimuoverlo sia dalla pagina Variabili che dalla pagina Origine dell'editor del descrittore di distribuzione Web. L'URI per questo taglib è http://www.ibm.com/websphere/wdo/core. Infine, selezionare il progetto Web nella vista Esplora progetti, quindi selezionare Proprietà nel menu a comparsa. Quindi selezionare Percorso di generazione Java e dalla pagina Librerie, rimuovere tutte le voci del percorso classi WDO_EMF_JARS_PATH/*.

2.3 Messaggio di errore non valido durante la generazione chiavi automatica

Durante la creazione di una pagina JSP con un record relazionale che utilizza una generazione chiavi automatica per un server V5.1, potrebbe verificarsi un errore simile a quello riportato di seguito:

2 cvc-complex-type.2.4.d: È stato rilevato contenuto non valido che inizia con l'elemento 'tables'. Non è previsto alcun elemento secondario in questo punto.

Questo messaggio di errore non è valido e può essere ignorato.

2.4 WAS come servizio, deve essere eseguito con un ID che ha accesso a DB2

Se si esegue WebSphere Application Server come servizio con l'autenticazione predefinita (esecuzione come utente collegato) e si desidera stabilire una connessione a DB2 in una applicazione Web senza fornire nome utente e password, è possibile che si verifichi un errore simile al seguente:

java.sql.SQLException: [IBM][CLI Driver] SQL0567N "SYSTEM" non è un ID autorizzato valido. SQLSTATE=42602 DSRA0010E: Stato SQL = 42602, Codice di errore = -567

Per evitare questo problema, fornire un ID utente e una password all'applicazione o impostare WAS (fornire ID utente e password) in modo che venga eseguito esplicitamente come un account utente che ha accesso al DB2 installato.

2.5 Il salvataggio della pagina JSP non salva i file SDO/WDO XML

Quando viene chiusa una JSP contenente dati non finali, e una volta richiesto, si seleziona di salvare la JSP, le modifiche non salvate ai file di configurazione WDO/SDO potrebbero non essere salvate.

Per evitare questo problema, dopo aver configurato un record relazionale o elenco record, salvare la JSP premendo CRTL+S o facendo clic su File--&Salva.

2.6 Record/elenchi relazionali con più filtri non funzionanti sul server WAS 6

Questo problema si verifica nelle applicazioni WDO create per essere eseguite sul server Websphere V51 ma che vengono migrate per essere eseguite sul server Websphere V60. In questo scenario, quando la pagina faces contiene un record o un elenco record con più proposizione filtri, la pagina potrebbe attivare la seguente eccezione quando eseguita sul server:

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)

Il problema è causato dall'oggetto parametro del mediatore.

Per risolverlo, impostare correttamente l'oggetto parametro modificando il metodo getList o getRecord

da:

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; }

Tenere presente il frammento di codice che imposta l'oggetto parametro.

2.7 Origini dati SDO non create se viene selezionato un server predefinito per il progetto

Le origini dati non verranno configurate sul server correttamente durante l'operazione Esegui su server se viene selezionato un server predefinito. Per assicurarsi che l'origine dati sia impostata correttamente, non selezionare un server predefinito. Dopo aver pubblicato correttamente l'applicazione, selezionare un server predefinito solo se non si desidera apportare altre modifiche alle origini dati.

2.8 L'azione di ridenominazione schemi non aggiorna il nome dello schema di tabelle di chiavi univoche

L'azione di ridenominazione schema per il record/elenco non aggiorna i nomi di schema di tabella chiavi univoche.

Per risolvere questo problema, individuare il file xml che memorizza la query per il record/elenco ed aggiornare il nome dello schema di tabella chiavi univoche.

Visualizza il file Readme principale