Herramientas Web - Notas de release


1.0 Limitaciones
   1.1 Problema al arrastrar y soltar de la vista Datos de página en la Tabla de diseño libre
   1.2 Problema al desplegar una aplicación Web con SDO accediendo a una base de datos, utilizando una conexión de gestor de controlador con un servidor Websphere V6
   1.3 Método de actualización para la lista de registros relacionales SDO
2.0 Problemas conocidos
   2.1 SDO da por supuestos los números de puerto por omisión para la conexión JDBC
   2.2 wdo_web.jar no suprimido al cambiar el destino de un proyecto Web de WAS V5 a WAS V6
   2.3 Mensaje de error no válido con la generación automática de claves
   2.4 WAS ejecutado como servicio debe ejecutarse bajo un ID que tenga acceso a DB2
   2.5 Es posible que al guardar la página JSP no se guarden los archivos XML de SDO/WDO.
   2.6 Los registros o las listas de registros relacionales con varios filtros no funcionan en el servidor WAS 6
   2.7 Los orígenes de datos de SDO no pueden crearse si se selecciona un servidor predeterminado para el proyecto
   2.8 La acción de redenominar esquema para un registro o una lista de registros relacionales no actualiza el nombre de esquema de tabla de claves exclusivo

1.0 Limitaciones

1.1 Problema al arrastrar y soltar de la vista Datos de página en la Tabla de diseño libre

Al intentar arrastrar y soltar desde la vista Datos de página en una página que contiene una tabla de diseño libre, se muestra el cursor NOT y no es posible 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 una operación de arrastrar y soltar desde la vista Datos de página a la celda de texto.

1.2 Problema al desplegar una aplicación Web con SDO accediendo a una base de datos, utilizando una conexión de gestor de controlador con un servidor Websphere V6

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 no se añaden automáticamente a la vía de acceso de clases del servidor. Esto origina errores ClassNotFound.

Actualmente, se crea una conexión de origen de datos 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 se produce el problema descrito anteriormente.

Para que la conexión de gestor de controlador funcione, debe añadir manualmente las vías de acceso jar de controlador a la vía de acceso de clases del servidor. Para hacerlo, ejecute la Consola administrativa del servidor y añada las entradas de vía de acceso de clases bajo Servidores-&Servidores de aplicaciones-&nombreServidor&-&Gestión de procesos y Java-&Definición de proceso-&Máquina virtual Java-&Classpath

1.3 Método de actualización para la lista de registros relacionales SDO

El producto no genera actualmente un método de actualización con cada Lista de datos relaciones. A continuación le proporcionamos el código que puede utilizar en la acción para actualizar el contenido de una Lista de datos llamada myList

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

2.0 Problemas conocidos

2.1 SDO da por supuestos los números de puerto por omisión para la conexión JDBC

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.

2.2 wdo_web.jar no suprimido al cambiar el destino de un proyecto Web de WAS V5 a WAS V6

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. Después, seleccione Vía de acceso de construcción Java y, en la página Bibliotecas, elimine todas las entradas de vía de acceso de clases WDO_EMF_JARS_PATH/*.

2.3 Mensaje de error no válido con la generación automática de claves

Si 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 de error no es válido y puede ignorarse.

2.4 WAS ejecutado como servicio debe ejecutarse bajo un ID que tenga acceso a DB2

Si está ejecutando WebSphere Application Server como un servicio con la autenticación por omisión (ejecutar como usuario conectado) e intenta conectar con DB2 con 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.

2.5 Es posible que al guardar la página JSP no se guarden los archivos XML de SDO/WDO.

Si cierra un JSP modificado (cambios no comprometidos) y lo guarda después de la solicitud correspondiente, es posible que no se guarden los cambios no comprometidos de los archivos de configuración WDO/SDO.

Para evitar esto, después de configurar un registro o una lista de registros relacionales, asegúrese de guardar el JSP pulsando CRTL+S o pulsando Archivo--&Guardar.

2.6 Los registros o las listas de registros relacionales con varios filtros no funcionan en el servidor WAS 6

Este problema se produce en las aplicaciones WDO creadas para ejecutarlas en el servidor Websphere V51 pero que se migran para ejecutarlas en el servidor Websphere V60. En este caso, cuando la página Faces tiene un registro o una lista de registros con más de una cláusula de filtro, la página puede lanzar la excepción siguiente cuando se ejecuta en el servidor:

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

El problema está en el objeto de parámetro del mediador.

Para arreglar este problema, debe establecer correctamente el objeto de parámetro del 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; }

Fíjese en el fragmento de código que establece el objeto de parámetro.

2.7 Los orígenes de datos de SDO no pueden crearse si se selecciona un servidor predeterminado para el proyecto

Los orígenes de datos no se configurarán en el servidor correctamente al Ejecutar en servidor si se ha seleccionado un servidor predeterminado. Para asegurarse de que el origen de datos se establece adecuadamente, no seleccione un servidor predeterminado. Una vez que la aplicación se haya publicado satisfactoriamente, podrá seleccionar un servidor por omisión en tanto en cuanto no esté realizando cambios en los orígenes de datos.

2.8 La acción de redenominar esquema para un registro o una lista de registros relacionales no actualiza el nombre de esquema de tabla de claves exclusivo

La acción de redenominar esquema para un registro o una lista de registros no actualiza el nombre de esquema de tabla de claves exclusivo

Para solucionar este problema, busque el archivo xml que almacena la consulta para el registro o la lista de registros y actualice el nombre de esquema de tabla de clave exclusivo.

Volver al archivo readme principal