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 possono non funzionare sul server WAS 6
   2.7 Le origini dati SDO non possono essere create se viene selezionato un server predefinito per il progetto
   2.8 L'azione Ridenomina schema per un record/elenco relazionale non aggiorna il nome dello schema della tabella della chiave univoca

1.0 Limitazioni

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

Durante il trascinamento dalla vista Dati pagina su una pagina contenente 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 una 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. Ciò causa 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, in genere Informix® & Sybase, viene creata una connessione di gestione driver e si presenta il problema appena descritto.

Affinché la connessione di gestione driver funzioni, è necessario aggiungere manualmente i percorsi jar del driver al percorso classi del server. Per effettuare questa operazione, eseguire Admin Console del server, quindi aggiungere le voci del percorso di classe in Server->Applicazione Server-><Nome server>->Java e Gestione processo->Definizione del processo->Java Virtual Machine->Percorso classe

1.3 Metodo di aggiornamento per l'elenco record relazionali SDO

Il prodotto non genera al momento un metodo aggiornato con ciascun elenco 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. Selezionare Percorso generazione Java, quindi dalla pagina delle 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 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 tenta di stabilire una connessione a DB2 all'interno di un'applicazione Web senza fornire un nome utente e password, è possibile che venga restituito il seguente messaggio di errore:

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 (ad esempio, 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

Se si chiude un JSP contenente dati non finali (modifiche non assegnate) dopo la richiesta, si salva il JSP, le modifiche non assegnate ai file di configurazione WDO/SDO potrebbero non essere salvate.

Per evitare il problema, dopo la configurazione di un record relazionale o un elenco record, salvare il JSP premendo CRTL+S o facendo clic su File-->Salva.

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

Il problema si verifica per le applicazioni WDO create per l'esecuzione sul server Websphere V51, ma che vengono migrate per l'esecuzione sul server Websphere V60. In questo scenario, quando la pagina Faces dispone di un record o un elenco di record con più di un filtro, la pagina potrebbe restituire la seguente eccezione durante l'esecuzione sul server:

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

Il problema si trova nell'oggetto del parametro del mediator.

Per risolvere il problema, è necessario impostare correttamente l'oggetto del parametro del mediator. Per effettuare questa operazione, modificare 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; }


a:

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

Si noti il frammento di codice che imposta l'oggetto del parametro.

2.7 Le origini dati SDO non possono essere create se viene selezionato un server predefinito per il progetto

Le origini dati non verranno configurate correttamente sul server durante Esegui sul server se è stato selezionato un server predefinito. Affinché l'origine dati sia impostata correttamente, non selezionare un server predefinito. Una volta pubblicata correttamente l'applicazione, è possibile selezionare un server predefinito fino a quando non vengono effettuate le modifiche alle origini dati.

2.8 L'azione Ridenomina schema per un record/elenco relazionale non aggiorna il nome dello schema della tabella della chiave univoca

L'azione Ridenomina schema per un record/elenco non aggiorna il nome dello schema della tabella della chiave univoca.

Per risolvere questo problema in modo alternativo, ricercare il file xml che memorizza la query per il record/elenco e aggiornare il nome dello schema della tabella della chiave univoca.

Visualizza il file Readme principale