Al intentar arrastrar y soltar desde la vista Datos de página a una página que contiene una Tabla de diseño libre, se muestra el cursor NOT y no es posible realizar una operación de arrastrar y soltar.
Para realizar una operación de arrastrar y soltar desde la vista Datos de página, seleccione primero "Celda de texto" de la paleta y añada una Celda de texto a la Tabla de diseño libre. A continuación, realice la operación de arrastrar y soltar de la vista Datos de página a la Celda de texto.
Al intentar desplegar una aplicación Web con la característica SDO que accede a una base de datos relacional, utilizando una conexión de gestor de controlador, los jar del controlador no se añaden automáticamente a la vía de acceso de clases del servidor. Esto genera errores ClassNotFound.
Actualmente, se crea una conexión de origen de datos de forma predeterminada siempre que la aplicación accede a las bases de datos relacionales siguientes: Cloudscape, DB2, Servidor SQL y Oracle. Pero para cualquier otra base de datos, principalmente Informix® y Sybase, se crea una conexión de gestor de controlador y aparece el problema descrito anteriormente.
Para que la conexión de gestor de controlador funcione, el usuario debe añadir manualmente las vías de acceso jar del controlador a la vía de acceso de clases del servidor. Para hacerlo, ejecute la consola de administración del servidor y añada las entradas de la vía de acceso de clase bajo Servidores->Servidores de aplicaciones-><nombre_servidor>->Gestión de procesos y Java->Definición de proceso->Máquina Virtual Java->Classpath
Actualmente el producto no genera un método de actualización con cada Lista de datos relacionales. El siguiente es el código que puede colocar en la acción para actualizar el contenido de una lista de datos denominada myList.
try { getMyListMediator().applyChanges((DataObject)((ECoreEList)getMyList()).getEObject()); } catch (Throwable e) { logException(e); }
Si el servidor JDBC está ejecutándose en algo que no sea el valor predeterminado del proveedor deberá modificar la conexión de tiempo de ejecución SDO cuando se cree por primera vez.
Cuando se cambia el destino de un proyecto Web de un servidor WAS V5 a un servidor WAS V6, a veces no se suprime el archivo WEB-INF/lib/wdo_web.jar. No es válido en un servidor WAS V6 y puede originar problemas al volver a generar objetos del lado del cliente en el proyecto Web (si ha seguido los pasos de la sección "Migrar recursos JavaServer Faces con componentes de cliente Faces" de la guía para la migración).
Para evitar estos problemas, suprima este archivo JAR de la carpeta lib. Después de suprimirlo, abra el archivo web.xml para el proyecto Web y elimine el código taglib que hace referencia a ese archivo JAR. Puede eliminarlo en la página Variables o en la página Fuente del editor de descriptor de despliegue Web. El URI para esta biblioteca de códigos es http://www.ibm.com/websphere/wdo/core. A continuación, seleccione el proyecto Web en la vista Explorador de proyectos y después Propiedades en el menú emergente A continuación, seleccione Vía de construcción Java y en la página Bibliotecas, suprima todas las entradas de vía de acceso de clase WDO_EMF_JARS_PATH/*.
Cuando crea una página JSP con un registro relacional que utiliza la Generación automática de claves con el servidor V5.1 como destino, puede obtener el error siguiente:
2 cvc-complex-type.2.4.d: Contenido no válido encontrado a partir del elemento 'tables'. No se esperaba un elemento hijo en este punto.
Este mensaje no es válido y puede ignorarse.
Si está ejecutando WebSphere Application Service como un servicio con la autenticación predeterminada (lo está ejecutando como usuario conectado) e intenta conectar con DB2 desde una aplicación Web sin proporcionar un nombre de usuario y una contraseña, puede producirse el error siguiente:
java.sql.SQLException: [IBM][CLI Driver] SQL0567N "SYSTEM" no es un ID de autorización válido. SQLSTATE=42602 DSRA0010E: Estado de SQL = 42602, Código de error = -567
Para evitar esto, proporcione un ID de usuario y una contraseña para la aplicación o establezca WAS para ejecutarlo explícitamente (proporcione el ID de usuario y la contraseña) como una cuenta de usuario que tenga acceso a la instalación de DB2.
Si cierra un JSP sucio (con los cambios sin confirmar) y después de una solicitud, guarda el JSP, no se guardan los cambios no confirmados de los archivos de configuración WDO/SDO.
Para evitar esto, asegúrese de que después de configurar un registro relacional o lista de registros, guarde el JSP pulsando Ctrl+S o pulsando Archivo-->Guardar.
Este problema se produce en las aplicaciones WDO que se crean para ejecutarlas en el servidor Websphere V51 pero se migran para su ejecución en el servidor Websphere V60. En este escenario, cuando su página Faces tiene un registro o una lista de registros que contiene más de una cláusula de filtro, es posible que la página genere la excepción siguiente cuando se ejecuta en el servidor:
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)
El problema reside en el objeto de parámetro del mediador.
Para solucionar este problema, debe establecer correctamente el objeto de parámetro de mediador. Para hacerlo, modifique el método getList o getRecord
de:
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; }
Observe el fragmento de código que establece el objeto de parámetro.
Los datasources no se configurarán correctamente en el servidor en modalidad Ejecutar en servidor si se ha seleccionado un servidor predeterminado. Para garantizar que el datasource se configura correctamente, no seleccione un servidor predeterminado. Cuando la aplicación se haya publicado correctamente, puede seleccionar un servidor predeterminado siempre que no vaya a modificar los datasources.
La acción de redenominar esquema de una lista/registro relacional no actualiza el nombre de esquema de la tabla de claves exclusivas.
Para solucionar este problema, busque el archivo xml que almacena la consulta de registro/lista y actualice el nombre del esquema de la tabla de claves exclusivas.
Volver al archivo readme principal