IBM WebSphere Application Server
Enterprise Edition Versión 4.1
Notas del release

Actualizado por última vez 01/11/2002

Este documento se actualiza periódicamente. Para obtener la última versión, compruebe la página del InfoCenter de WebSphere Application Server en la dirección www.ibm.com/software/webservers/appserv/infocenter.html.

Estas notas del release sólo son para los servicio de empresa. Para obtener una descripción de los servicios de empresa, consulte el tema ¿Qué son los servicios de empresa? en el Infocenter de Enterprise Edition.

Existen notas del release disponibles por separado para los siguientes productos:

Contenido de este documento

Requisitos
Instalación de servicios de empresa
Previsualización de tecnología de Business Process Beans (BPBeans)
Defectos y soluciones temporales

Software necesario y soportado

El siguiente sitio Web lista productos de software necesarios o soportados para el uso con WebSphere Application Server:

www.ibm.com/software/webservers/appserv/doc/latest/prereq.html

Nota: este release de servicios de empresa no da soporte a CICS Universal Clients & Transaction Gateway.

Instalación de servicios de empresa

Puede encontrar instrucciones detalladas sobre la instalación en el documento Enterprise Services Installation Guide (pdf).

La versión 4.1 de servicios de empresa requiere Advanced Edition Versión 4.0.2

La mayoría de las instalaciones de servicios de empresa (con la excepción de los clientes de CORBA C++) requieren que se instale primero el servidor o cliente de Advanced Edition para poder proporcionar una base J2EE. Para la instalar la versión 4.1 de servicios de empresa, la base de Advanced Edition necesita estar al nivel de la versión 4.0.2. Este nivel es equivalente a la versión 4.0 (o 4.0.1) más el FixPack 2. Advanced Edition Versión 4.0 se incluye en el paquete de Enterprise Edition. Puede descargar el FixPack de la siguiente página Web:

http://www.ibm.com/support/manager.wss?rs=180&rt=0&org=SW&doc=4001038.

La desinstalación suprime tanto Advanced Edition como los servicios de empresa

Cuando se realiza una desinstalación de WebSphere Application Server, tanto Advanced Edition como servicios de empresa se suprimen del sistema. No existe un programa de desinstalación por separado para los servicios de empresa. Por favor, tenga en cuenta que, una vez instalados los servicios de empresa, no es posible desinstalar (o "restituir ") Advanced Edition FixPack 2 .

Instalación de ejemplos

A diferencia de la instalación de Advanced Edition, la Galería de ejemplos de los servicios de empresa no se instala durante una instalación "Típica". Para poder instalar los ejemplos de los servicios de empresa, seleccione la opción de instalación "Personalizada" y, a continuación, seleccione "Ejemplos" de la lista de opciones.

Previsualización de tecnología de Business Process Beans (BPBeans)

BPBeans es una nueva tecnología para la creación de componentes Java que utilizan paradigmas de proceso de transacción ampliados. BPBeans puede realizar lo siguiente:

BPBeans es una previsualización de tecnología. Esto significa que puede utilizar la tecnología para demostraciones o proyectos "prueba de concepto". No puede utilizar BPBeans en un entorno de producción. Puede instalar BPBeans en Windows NT versión 4, con SP4 o posterior o en Windows 2000. Esta previsualización de tecnología incluye herramientas, tiempo de ejecución y documentación de la aplicación. Sólo está disponible en inglés de Estados Unidos.

Instalación de BPBeans

Para instalar la previsualización de tecnología BPBeans, ejecute el mandato Windows/BPB_tech_preview/BPBeansSetup.exe ubicado en el CD de Enterprise Edition Server. Este mandato instala las herramientas, el tiempo de ejecución y la documentación de la aplicación.

Defectos y soluciones temporales

Las siguientes secciones proporcionan información acerca de problemas conocidos y soluciones temporales, así como información suplementaria para los temas que se tratan en el InfoCenter de Enterprise Edition. A menos que se indique lo contrario, los defectos y las soluciones temporales se aplican a todas las plataformas soportadas.

Instalación
Puente ActiveX a EJB
Business Rule Beans (BRBeans)
SDK de CORBA C++
Soporte ampliado de mensajes
Cuestiones con relación al idioma nacional

Instalación

Defecto 106140: la tecla del tabulador no funciona durante la instalación en (HP-UX/Linux/Solaris)

En paneles de instalación que contienen un campo de texto, la tecla del tabulador no se desplaza hacia adelante después de alcanzar el campo de texto, lo que impide continuar con el siguiente panel.

Solución temporal: utilice un dispositivo de puntero para pulsar el botón Siguiente.

Defecto 108598: la ventana de selección de usuario desaparece detrás de la ventana de fondo (Solaris)

Durante la instalación en Solaris (pantalla X11), la pequeña pantalla en la que se realizan las selecciones puede quedar oculta detrás de la ventana de fondo mayor cuando ésta se selecciona.

Solución temporal: devuelva la pequeña pantalla al primer plano pulsando Alt+Tab y, a continuación, pulse la pequeña ventana para seleccionarla.

Puente ActiveX a EJB

Defecto 112685.RN Error de captura "Error de automatización 440" Al usar CallByName() en Visual Basic

La función CallByName() en Visual Basic se utiliza con el puente ActiveX a EJB cuando no es posible garantizar la llamada a un método Java (por ejemplo, Visual Basic cambia de myJavaObject.create a myJavaObject.Create). Como se documenta en el artículo Q194418 de Microsoft Knowledge Base en http://support.microsoft.com/support/kb/articles/Q194/4/18.ASP:

"Cuando surge un error en un procedimiento de un servidor ActiveX y la llamada al procedimiento se realiza con la función CallByName() desde un cliente, el cliente siempre obtiene el error 440 aunque se obtenga el número de error original."

Todas las excepciones Java que serían normalmente tratadas como un error 0x6003 con el rastreo de pila Java incluido en la descripción del error son, por contra, tratadas como un error 440 con las palabras "Error de automatización" incluido en la descripción del error.

Solución temporal: complete uno de los siguientes pasos:

  1. Utilice la herramienta de reemplazo Microsoft DispInvoker disponible en el artículo Q202057 de Microsoft Knowledge Base en http://support.microsoft.com/support/kb/articles/Q202/0/57.asp
  2. Cambie el nombre del método Java o cree un método Java sustituto para llamar al método Java destino. Al elegir un nombre que no es una palabra clave de Visual Basic, se preservarán las mayúsculas y minúsculas con toda probabilidad.

Defecto 111006.RN: parámetro XJBInit() no válido (Windows)

Se visualiza el siguiente error si existen parámetros no válidos en la matriz de cadena de caracteres XJBInit():

0x6002 "XJBJNI::Init() Failed to create VM" when calling XJBInit().

Si tiene un registro cronológico de C++ habilitado, el registro de actividad muestra cuál es el parámetro no válido.

Defecto 111009.RN: cómo habilitar registro y rastreo (Windows)

El puente ActiveX a EJB proporciona dos formatos de registro y rastreo: C++ y Java.

Registro de actividad C++
El registro de actividad C++ muestra errores JNI, mensajes de error de la consola de Java y mensajes de inicialización de XJB. Este registro es muy útil para determinar errores de XJBInit() y excepciones inusuales que no proceden del entorno de Java.

Para habilitar el registro de actividad C++, necesitará instalar el cliente del SDK de CORBA C++. Una vez instalado, el puente ActiveX a EJB detectará la presencia del SDK y habilitará automáticamente el registro. Para obtener detalles acerca de cómo modificar los valores del registro, vea el tema "Soporte de Corba > Desarrollo de un servidor CORBA C++ > Especificación de las propiedades de tiempo de ejecución" en el InfoCenter de Enterprise Edition.

Por omisión, el registro se crea en el directorio WAS_HOME\Enterprise\service. Para programas de servicio como por ejemplo Active Server Pages, el registro se crea en el directorio C:\WINNT\SYSTEM32\service. El directorio por omisión del registro se puede alterar temporalmente utilizando la variable de entorno SOMCBASE , que launchClientXJB.bat y setupCmdLineXJB.bat establecen en el directorio WAS_HOME\Enterprise\bin.

Por ejemplo, para activar el archivo de propiedades establezca la variable de entorno SOMCBASE del modo siguiente (debe utilizar una variable de entorno de sistema para Active Server Pages): 

set SOMCBASE= C:\WebSphere\AppClient\Enterprise

Una vez se haya reiniciado la aplicación, se creará un archivo de registro llamado activitycpp.log en el directorio C:\WebSphere\AppClient\Enterprise\service. Para ver el registro, abra una ventana de mandatos, cambie el directorio a C:\WebSphere\AppClient\Enterprise\service y, a continuación, entre el siguiente mandato: 

launchClientXJB showlogcpp activitycpp.log

Para inhabilitar el registro una vez se haya instalado el SDK de C++, renombre el archivo SOMRSBSM.DLL ubicado en el directorio WAS_HOME\Enterprise\bin. Tenga en cuenta que renombrar el archivo DLL hace que el SDK de C++ no sea utilizable.

Registro de rastreo Java
El registro de rastreo Java visualiza información que puede utilizar para depurar llamadas al método, consulta de clase y problemas de restricción de argumento. Puesto que la parte Java del puente refleja la funcionalidad de la interfaz COM IDispatch, la información en el registro de rastreo es parecida a lo que se esperaba de una interfaz IDispatch. Para entender el registro de rastreo, necesita un conocimiento básico de IDispatch.

Para habilitar el registro del usuario, añada los siguientes parámetros a la matriz de cadena de caracteres de entrada XJBInit()

"-DtraceString=com.ibm.ws.client.xjb.*=event=enabled"
"-DtraceFile=C:\MyTrace.txt"

Por ejemplo, si experimenta problemas con el siguiente código de Visual Basic:

Dim oInt as Object
Dim strHexValue as String
Set oInt = oXJB.FindClass("java.lang.Integer")
strHexValue = oInt.toHexString(24579)

El rastreo resultante para la línea que falla tendrá un aspecto parecido a lo siguiente:

[01.07.31 11:17:13:815 CDT] 6b2d2635 JDispatch  E dispGetIDsOfNames: Retrieving DISPID
          from Method or Field.
          ClassID:-102|ObjectID:0|Name:FindClass|Result DISPID:60
[01.07.31 11:17:13:875 CDT] 6b2d2635 JDispatch  E dispInvoke: Retrieving Member from DISPID
          and Arg Types.
          ClassID:-102|ObjectID:0|DISPID:60|Arg Sig:Ljava.lang.String;|Found Member:public
          static java.lang.Class com.ibm.ws.client.xjb.JClassFactory.FindClass(java.lang.String)
          throws java.lang.Exception
[01.07.31 11:17:13:946 CDT] 6b2d2635 JClassFactory E FindClass complete.
          ClassName:java.lang.Integer|ClassID:-103
[01.07.31 11:17:13:946 CDT] 6b2d2635 JDispatch  E dispInvoke: Method.invoke() Succeeded. Result:
          class java.lang.Integer
[01.07.31 11:17:13:956 CDT] 6b2d2635 JDispatch  E dispGetIDsOfNames: Retrieving DISPID
          from Method or Field.
          ClassID:-103|ObjectID:0|Name:toHexString|Result DISPID:115
[01.07.31 11:17:13:986 CDT] 6b2d2635 JDispatch  E dispInvoke: Retrieving Member from DISPID
          and Arg Types.
          ClassID:-103|ObjectID:0|DISPID:115|Arg Sig:S|Found Member:NOT FOUND

Lo siguiente es una explicación del rastreo de más arriba:

Línea 1: Se ha llamado a dispGetIDsOfNames() en una Clase interna (no. -102) buscando el método FindClass. Ha devuelto un DISPID (ID de envío) de 60.
Línea 2: Se ha llamado a dispInvoke() en la misma Clase interna (no. -102) para intentar invocar el método asociado con DISPID 60 con una signatura de argumento de "Ljava.lang.String;" (modo interno de Java de decir java.lang.String. Este es el formato que javap.exe dará como salida). Se ha encontrado el miembro y su definición se ha visualizado en el registro.
Línea 3: El método FindClass() se ha completado y ha devuelto un ClassID (ID de clase) de -103 para java.lang.Integer
Línea 4: dispInvoke: devuelve la clase resultante java.lang.Integer
Línea 5: Se ha encontrado el método toHexString en dispGetIDsOfNames y ha devuelto un DISPID de 115.
Línea 6: dispInvoke, sin embargo, no ha podido encontrar el miembro con un DISPID de 115 con una signatura de argumento de "S" ("S" es el modo interno de Java de decir "short").

Las signaturas de argumentos (o Descriptores) se definen de la manera siguiente:

Carácter BaseType Tipo Interpretación
B byte byte con signo
C char Carácter Unicode
D double valor de coma flotante de doble precisión
F float valor de coma flotante de precisión normal
I int entero
J long entero largo
L<nombreclase>; reference una instancia de clase <nombreclase>
S short corto con signo
Z boolean true o false
[ reference una dimensión de matriz

Para obtener más detalles, vea el capítulo 4.3.2, Descriptores de campo, en la especificación de la máquina virtual (VM) de Sun:http://java.sun.com/docs/books/vmspec/2nd-edition/html/VMSpecTOC.doc.html

Defecto 111010.RN: las vías de acceso tienen barras en ambas direcciones (Windows)

En el código de ejemplo y en la documentación para el puente ActiveX a EJB, se visualizan barras inclinadas tanto a la derecha como a la izquierda en los directorios WAS_HOME y de Java. Tanto Windows NT como Windows 2000 pueden manejar barras inclinadas en ambas direcciones. Por ejemplo, la vía de acceso C:/WebSphere/AppClient\java\jre es correcta.

Defecto 111011.RN: cómo ver mensajes System.out de Java (Windows)

El puente ActiveX a EJB no tiene una consola disponible para ver mensajes System.out de Java. Para ver estos mensajes al ejecutar un programa cliente autónomo (como por ejemplo un Visual Basic), redirija la salida a un archivo. Por ejemplo, inicie la aplicación cliente utilizando el siguiente mandato:

launchClientXJB.bat MyProgram.exe > output.txt

Para ver estos mensajes al ejecutar un programa de servicio como por ejemplo Active Server Pages, altere temporalmente el objeto OutputStream de System.out de Java a
un FileOutputStream. Por ejemplo, en VBScript haría lo siguiente:

' Redirija system.out a un archivo
' Asuma que oXJB es un objeto inicializado XJB.JClassFactory
Dim clsSystem
Dim oOS
Dim oPS
Dim oArgs
' Obtenga la clase System
Set clsSystem = oXJB.FindClass("java.lang.System")
' Cree un objeto FileOutputStream
Set oOS = oXJB.NewInstance(oXJB.FindClass("java.io.FileOutputStream"), "c:\sysout.txt")
' Cree un objeto PrintStream y asígnele el objeto FileOutputStream
Set oArgs = oXJB.GetArgsContainer
oArgs.AddObject "java.io.OutputStream", oOS
Set oPS = oXJB.NewInstance(oXJB.FindClass("java.io.PrintStream"), oArgs)
' Establezca el valor de System OutputStream al archivo
clsSystem.setOut oPS

Business Rule Beans (BRBeans)

Defecto 110828.RN: ejecución de ejemplos de BRBeanssamples con bases de datos no DB2

Si al utiliza una base de datos distinta de DB2 con los ejemplos de BRBeans (Movie Sample o Simple Sample), es necesario modificar el archivo generado Table.ddl. Para obtener más detalles, consulte el tema Modificación del archivo Table.ddl para su utilización con bases de datos no DB2.

Defecto 114312.RN: nuevo archivo Jar de BRBeans con soporte para Informix Versión 7.3.1

Se ha añadido un nuevo archivo Jar de BRBeans llamado BRBeansInformix731.jar en el directorio <WAS_HOME>/Enterprise/BRBeans para dar soporte a Informix Versión 7.3.1. Es necesario utilizar este archivo jar si desea ejecutar BRBeans en un servidor que acceda a una base de datos Informix 7.3.1. Si utiliza Informix Versión 9.2.1, continúe utilizando el archivo BRBeansInformix.jar.

Para poder ejecutar BRBeans en Informix Versión 7.3.1, también necesita un arreglo para error de Informix número 153465. Este es un arreglo para el controlador JDBC de Informix y está disponible en la versión 2.21 y posteriores del controlador. Sin este arreglo las enterprise beans de BRBeans no pueden guardar su estado en la base de datos y BRBeans no funcionarán.

Defecto 116462.RN: ignorar mensajes de advertencia de ejbdeploy

Si se especifica la opción validar, se mostrarán cuatro mensajes de advertencia durante el despliegue de BRBeans. Estas advertencias son para createRule, e indican que arg1 y el tipo de retorno deben ser serializables. Puede ignorar dichos mensajes de advertencia.

Defecto 110956.RN: el exportador de normas de la GUI no produce documentos XML correctos

Al importar normas desde un documento XML que ha creado utilizando la función de exportación de la aplicación de gestión de normas de BRBeans, el analizador de XML devuelve mensajes de error indicando que el documento no se puede analizar y que no se ha importado ninguna norma. Esto solamente se produce al importar un documento que se ha creado utilizando la aplicación de gestión de normas (no el programa de utilidad de línea de mandatos). Esto ocurre porque la función de exportación de la aplicación de gestión de normas no añade los identificadores de XML de cabecera y de cola correctos al documento XML exportado

Solución temporal: efectúe una de las acciones siguientes:

Defecto 109743.1.RN: error en el controlador Merant SequeLink

Debido a un error en el controlador Merant SequeLink JDBC, el método clearParameters no restablece los parámetros adecuadamente para permitir que sentencias preparadas se vuelvan a utilizar.

Solución temporal: al utilizar el controlador Merant SequeLink con cualquier base de datos, inhabilite la colocación en antememoria de sentencias preparadas en la fuente de datos de BRBeans estableciendo el Tamaño de la antememoria de sentencias en 0. Si utiliza Advanced Edition, la propiedad Tamaño de la antememoria de sentencia es una de las propiedades de Agrupación de conexiones de la fuente de datos. Si utiliza Advanced Developer Edition, la propiedad Tamaño de la antememoria de sentencia es una de las propiedades de Fuente de datos.

Defecto 111105.RN: carpeta base de punto de activación y normas dependientes

Cuando se activa una norma que tiene normas dependientes, desde un punto de activación que tiene su atributo de Carpeta base establecido en un valor no nulo, se devuelve una excepción NullPointerException.

Solución temporal: no establezca el atributo de Carpeta base de ninguno de los Puntos de activación que activan normas que tienen normas dependientes.

Defecto 111371.RN: Netscape no se inicia después de solicitar Ayuda (Solaris)

El navegador Netscape no se inicia después de haber solicitado Ayuda desde una interfaz de usuario ejecutándose en la plataforma Solaris.

Solución temporal: establezca una variable de entorno nacional válida para su sesión e inhabilite el control de acceso.

Para establecer una variable de entorno nacional, complete los siguiente pasos:

  1. Entre el siguiente mandato para mostrar una lista de las variables de entorno nacionales válidas en el sistema:

    locale -a

  2. Para establecer la variable de entorno de nacional, entre el siguiente mandato donde locale es una de las variables de entorno nacionales válidas:

    export LANG=locale

    Por ejemplo, para establecer la variable de entorno nacional en inglés de los Estados Unidos, entre:

    export LANG=en_US

Para inhabilitar el control de acceso, entre el siguiente mandato:

xhost +

SDK de CORBA C++

Defecto 110529.RN: configuración del servidor de SDK de C++

Complete los pasos siguientes para inicializar la base de datos cds, que utilizan los servidores de C++ y el daemon de servicio de ubicación de C++, somorbd:

  1. Cree un directorio llamado data bajo la vía de acceso especificada por la variable de entorno SOMCBASE.
  2. Ejecute el programa de utilidad orb, cdspop, para inicializar la base de datos cds, que se encuentra en el directorio SOMCBASE/data.

Defecto 111218.RN: RMIC genera obtenedores y establecedores duplicados

Si ejecuta la versión actual de RMIC contra una clase de Java que incluye obtenedores y establecedores, y dichos obtenedores y establecedores se llaman de acuerdo con los convenios de nomenclatura de JavaBean, RMIC genera obtenedores y establecedores duplicados.

Solución temporal: modifique la clase de Java para renombrar los obtenedores y establecedores.

Por ejemplo, considere la siguiente parte de código de la clase de Java "Book":

public class Book implements Serializable
{
private String BookTitle = null;
private double price = 0.0;
private int salesCount;
public Book()
{
salesCount = 0;
}
public void setBookTitle( String name )
{
bookTitle = name;
}
public String getBookTitle()
{
return( bookTitle );
}
...

El código de más arriba contiene un obtenedor y un establecedor para BookTitle. El obtenedor y el establecedor siguen el convenio de nomenclatura de JavaBeans: get<var> y set<var>. Esto crea problemas para RMIC. El hecho de que las variables de clase se declaren como private da como resultado que RMIC genere IDL con una declaración pública y una declaración de atributo para cada variable, por ejemplo:

public long a;
attribute long a;

Cuando se utiliza IDLC para generar código desde la IDL, se crean dos obtenedores y dos establecedores para cada variable de clase, uno público y el otro protegido, y el código no se compila.

Solución temporal: renombre los obtenedores y los establecedores en la clase Java con un nombre que no siga el convenio de nomenclatura JavaBean. Una posibilidad es utilizar sendBookTitle y receiveBookTitle:

...
salesCount = 0;
}
public void sendBookTitle( String name )
{
bookTitle = name;
}
public String receiveBookTitle()
...

Defecto 110688.RN: ignorar referencias a la biblioteca Valuetype dando soporte a tipos de datos primitivos de Java

La documentación de soporte de CORBA en el InfoCenter de Enterprise Edition afirma que la biblioteca valuetype contiene implementaciones de valuetype de C++ para los tipos de datos primitivos de Java comúnmente utilizados. Esto no es correcto.

La biblioteca valuetype proporciona soporte para muchas de las clases primitivas en el paquete java.lang como por ejemplo Integer, Short y Long. Estas clases no equivalen a los tipos primitivos de Java como por ejemplo, short, long e integer. La lista de métodos implementados de la biblioteca de valuetype C++ que se proporciona en el InfoCenter, contiene las distintas clases correctas de java.lang que se proporcionan. Sin embargo, debe ignorar la lista de correlaciones de tipos IDL a tipos CORBA, ya que esta lista no es relevante para la biblioteca valuetype.

Defecto 110689.RN: la biblioteca Valuetype no da soporte a valuetypes stream y writer

Los métodos printStackTrace(java.io.PrintStream) y printStackTrace(java.io.PrintWriter) de java::lang::Throwable no están soportados en la biblioteca valuetype debido a la dificultad de pasar el rastreo de pila desde Java al tiempo de ejecución de C++.

No se proporcionan las implementaciones concretas de los argumentos para los métodos de printStackTrace, java.io.PrintStream y java.io.PrintWriter. Los valuetypes stream y writer contenidos en la biblioteca valuetype (es decir, OutputStream, FilterOutputStream, PrintStream, Writer y PrintWriter) son clases abstractas que no se pueden utilizar como corrientes de salida locales en el programa cliente C++.

Defecto 110895.RN: el método Byte_init create__() no existe en la biblioteca valuetype

El método Byte_init create__()no existe en la biblioteca valuetype. Ignore cualquier referencia a este método en la documentación de soporte de CORBA.

Defecto 111225.RN: correcciones a los mandatos del tema "Creación de sus propios valuetypes de C++"

En el artículo de InfoCenter titulado "Creación de sus propios valuetypes de C++", tenga las correcciones para los siguientes mandatos:

Bajo el paso uno, el mandato debe ser:

rmic -idl java.util.Hashtable

Bajo el paso dos, el mandato debe ser:

idlc .... java/util/Hashtable.idl

Soporte ampliado de mensajes

Defecto 111034.RN: descargar el último nivel de MQSeries supportPac MA88

Para utilizar el Soporte ampliado de mensajes, baje e instale el último nivel de MQSeries supportPac MA88: clases MQSeries para Java y clases MQSeries para Java Message Service: www.ibm.com/software/ts/mqseries/txppacs/ma88.html

Instale la versión 1.1.3, con fecha 29/08/01 o posterior.

Defecto 110963.RN: incluir archivos Jar de MQSeries en la vía de acceso de la clase Custom Service

La documentación del InfoCenter, así como la documentación de MQSeries, sugiere copiar archivos Jar y archivos de la biblioteca de la estructura de directorios MQSeries\java a varios directorios de WebSphere. Aunque esta configuración puede funcionar, no se recomienda por razones de utilidad. Las actualizaciones y los parches para MQSeries no surten efecto del modo deseado. Un método más apropiado es incluir estos archivos Jar en la vía de acceso de la clase Custom Service para el servicio Soporte ampliado de mensajes. Los archivos Jar de MQSeries a incluir son com.ibm.mq.jar y com.ibm.mqjms.jar.

Si está utilizando la Advanced Developer Edition (AEd), debe especificar cualquier archivo Jar necesario que suministre nombres en la vía de acceso de la clase Resource Provider. Vea el Defecto 106821.RN para obtener más información.

Defecto 106821.RN: configuración del Soporte ampliado de mensajes con AEd

Puesto que Advanced Edition for Developers (AEd) no proporciona un espacio de nombres persistente, necesitará utilizar un segundo suministrador de nombres al configurar el Soporte ampliado de mensajes para utilizarlo con AEd.

Solución temporal: complete los pasos siguientes para configurar el suministrador de sistemas de archivos como el segundo suministrador de nombres:

Nota: el suministrador de nombres del sistema de archivos utiliza la propiedad de sistema "file.separator" como el separador. En plataformas de Windows, tenga presente que un nombre que se vincularía normalmente como jms/mq/Destination se vincula como jms\mq\Destination. Es posible que necesite indicar una barra invertida (\) mediante dos barras invertidas (\\).

  1. Edite el archivo JMSAdmin.config.
  2. Cambie el suministrador al suministrador FSContext y cambie el URL de suministrador.
  3. Cree el directorio C:\temp\JNDI-Directory.
  4. Ejecute JMSAdmin.bat y vincule ConnectionFactories y Colas/Temas como lo haría normalmente.
  5. Cree una referencia foránea en el espacio de nombres de WebSphere al espacio de nombres del sistema de archivos del modo siguiente:
    1. Abra la consola de administración en un navegador de Web (http://localhost:9090/admin).
    2. Busque en el árbol Recursos > Suministrador JMS.
    3. Pulse Nuevo y especifique los siguientes valores:
      • Vía de acceso de la clase Server:

        MQSeriesInstallDir\java\lib\fscontext.jar;
        MQSeriesInstallDir\java\lib\providerutil.jar;

      • Nombre: MQFscontextProvider
      • Fábrica de contexto: com.sun.jndi.fscontext.RefFSContextFactory
      • URL de suministrador: file:/C:/temp/JNDI-Directory
    4. Pulse Aceptar para guardar los cambios en el suministrador.
  6. Expanda el suministrador JMS que ha creado y añada el Destino y Fábrica de conexión. Esto proporciona referencias foráneas desde el espacio de nombres de WebSphere al espacio de nombres del sistema de archivos. Utilice los mismos nombres que ha especificado en el mandato JMSAdmin. Por ejemplo:

    Connection Factory:

    Nombre: ConnectionFactory
    Nombre JNDI: Sample/JMS/ConnectionFactory
    Nombre foráneo JNDI (Windows): Sample\JMS\ConnectionFactory
    Nombre foráneo JNDI (Unix): Sample/JMS/ConnectionFactory

    Destino:

    Nombre: Q1
    Nombre JNDI: Sample/JMS/Q1
    Nombre foráneo JNDI (Windows): Sample\JMS\Q1
    Nombre foráneo JNDI (Unix): Sample/JMS/Q1

  7. Guarde la configuración.
  8. Reinicie el servidor de aplicaciones.

Defecto 116467.RN: el intermediario de mensajes no se inicializa (Linux SuSE Versión 7.2)

Al ejecutar MQSeries en Linux SuSE Versión 7.2, la inicialización del intermediario de mensajes no se completa una vez ha emitido el mandato de inicio: strmqbrk -m <Queue Manager>, y no es posible interrumpir el mandato pulsando CTRL+C. Si comprueba el estado del intermediario de mensajes utilizando el mandato dspmqbrk, el resultado continúa siendo "MQSeries intermediario de mensajes para el gestor de cola <Queue Manager> iniciando."

No hay solución temporal, y, por lo tanto, actualmente no es posible ejecutar aplicaciones WebSphere que utilicen Publish/Subscribe en Linux SuSE Versión 7.2.

Defecto 115709: se muestra el error MQJMS1086 al enviar o publicar un mensaje (HP-UX)

La JVM proporcionada con WebSphere en HP-UX no da soporte a la codificación utilizada los gestores de colas de MQSeries. Esto provoca que las clases JMS muestren un mensaje JMSException con código de error MQJMS1086 y una excepción vinculada del tipo UnsupportedEncodingException cuando se intenta enviar o publicar un mensaje a o en una cola.

Solución temporal: cambie la codificación utilizada por el gestor de colas. Cambie a un valor CCSID de 850 o 819 entrando los siguientes mandatos:

runmqsc
alter qmgr CCSID(850)

Para obtener más información, consulte el libro sobre MQSeries Using Java, Capítulo 2.

Defecto 111014.RN: utilización de InitialContextFactory con la herramienta JMSAdmin

La herramienta JMSAdmin que se proporciona con MQSeries supportPac MA88 para la administración de objetos JMS requiere que se especifiquen ciertos parámetros de configuración. Para la propiedad Initial Context factory (Fábrica de contexto inicial) existen actualmente tres valores soportados:

WebSphere Application Server ha despreciado com.ibm.ejs.ns.jndi.CNInitialContextFactory, y por lo tanto debe utilizar com.ibm.websphere.naming.WsnInitialContextFactory en su lugar. Para que JMSAdmin funcione con el depósito de nombres de WebSphere todavía necesitará utilizar com.ibm.ejs.ns.jndi.CNInitialContextFactory. WebSphere Application Server y los objetos JMS administrados pueden funcionar conjuntamente con estos valores diferentes para Initial Context factory.

Defecto 114590: no existe mqjbnd02 en la vía de acceso de de la biblioteca Java (sólo AIX)

Si la variable de entorno LIBPATH no contiene la vía de acceso a la biblioteca MQSeries Java, se mostrará la siguiente excepción:

Excepción:
no mqjbnd02 (libmqjbnd02.a or .so) in java.library.path
java.lang.UnsatisfiedLinkError: no mqjbnd02 (libmqjbnd02.a or .so) in java.library.path

Solución temporal: añada la siguiente vía de acceso a la variable de entorno LIBPATH:

/mq_install_path/java/lib

Defecto 114907: no es posible conectarse a MQSeries Queue Manager (AIX)

Al utilizar MQSeries desde dentro de WebSphere Application Server, la creación de una JMS QueueConnection o de un WMQ MQQueueManager puede fallar con un código de razón WMQ 2059 incluso si Queue Manager se está ejecutando. La razón de este error es que WebSphere utiliza conexiones de vinculación a Queue Manager que puede que necesiten cierta configuración adicional.

Solución temporal: si está utilizando MQSeries V5.2 existe una stanza adicional que puede añadirse al archivo mqs.ini que afecta a parte de la memoria compartida que MQSeries utiliza al conectarse (el archivo mqs.ini suele encontrarse en el directorio /var/mqm). El parámetro es "IPCCBaseAddress" y está establecido en el valor por cola de gestor. Por omisión este parámetro está establecido en "8", pero es recomendable un valor de "11" (los valores permitidos para este parámetros son "4", "5", "8", "9", "10", "11" o "12").

A continuación se muestra un ejemplo de una stanza modificada de QueueManager en el archivo mqs.ini:

QueueManager:
Name=MQJavaTest
Prefix=/var/mqm
IPCCBaseAddress=11

Es necesario reciclar el gestor de colas para que los cambios surtan efecto. Si el valor "11" no permite que la aplicación se conecte de forma normal, intente otros valores. Cuanto más componentes se vean envueltos en la aplicación (WebSphere, DB2, etc.), menos memoria habrá disponible para MQSeries.

Consulte el siguiente sitio Web para obtener más información sobre este problema:

http://www.ibm.com/software/ts/mqseries/support/summary/javasupp.html

Este problema no sucede cuando la base de datos de aplicaciones y la base de datos administrativa son remotas.

Defecto 106667.RN: el servidor de aplicaciones no puede detenerse después de que el gestor de cola MQSeries se haya detenido

Al intentar detener el servidor de aplicaciones después de la detención del gestor de colas de MQSeries, el proceso del servidor emite una infracción de acceso en java.exe. Esto se produce cuando el Soporte ampliado de mensajes se ha configurado en el servidor y está escuchando en un destino JMS de MQSeries.

Solución temporal: al utilizar Soporte ampliado de mensajes, no detenga el gestor de colas de MQSeries antes de detener el servidor de aplicaciones. Si una anomalía anormal hace que el gestor de colas se detenga, realice una detención forzada del servidor de aplicaciones en la consola de administración.

Defecto 116061.RN: no es posible reiniciar el gestor de colas MQSeries

Al intentar detener y reiniciar el gestor de colas MQSeries se obtiene el siguiente error:

AMQ8041: el gestor de colas no puede reiniciarse o suprimirse porque los procesos, que se habían conectado anteriormente, todavía se están ejecutando.

Solución temporal: reinicie MQSeries y WebSphere Application Server.

Esta prevista la incoroporación de un arreglo para este problema en MQSeries Versión 5.2 CSD nivel 3. Consulte la página de soporte de MQSeries para obtener actualizaciones:

http://www.ibm.com/software/ts/mqseries

Defecto 106907.RN: excepción ClassDefNotFound al recibir javax.jms.ObjectMessage

Al recibir un javax.jms.ObjectMessage en un bean de mensajes dirigido por el oyente JMS, una llamada a getObject() en el ObjectMessage de JMS devuelve en ocasiones una excepción ClassDefNotFound. Esta excepción se produce cuando la clase de aplicaciones contenida dentro de ObjectMessage no se puede cargar porque se encuentra en el bean de empresa classloader (clase de carga) y no la vía de acceso de la clase system.

Solución temporal: ubique la definición de clase de objeto dentro de la vía de acceso de clase ws.ext.dirs al copiar el archivo jar al directorio \WebSphere\AppServer\lib\ext.

Defecto 109440.RN: anomalía de suscriptores de temas de oyente JMS de multiservidor

Si configura dos servidores de aplicaciones de WebSphere con oyentes JMS que están suscritos a temas JMS utilizando la misma cola de suscripción JMS de MQ, es posible que pierda publicaciones de manera intermitente o que encuentre el siguiente mensaje de error en la consola:

MQJMS1031: se ha producido un error interno

Esto se produce porque el soporte de Pub/Sub JMS de MQSeries requiere que cada cliente de conexión de suscriptor de JVM utilice una cola de suscripción diferente.

Solución temporal: cuando se utiliza JMSAdmin para crear TopicConnectionFactory, especifique nombres de cola de suscripción BROKERCCSUBQ() exclusivos o utilice el recurso de varias colas especificando un prefijo, por ejemplo BROKERCCSUBQ(SYSTEM.JMS.ND.CC.MySubQueues.*).

Servicio de internacionalización

Defecto 110993.RN: manejo de tipos de TimeZone no soportados

En este release, el servicio de internacionalización no da soporte a tipos de TimeZone (Zona horaria) de SDK de Java 2 que no sean java.util.SimpleTimeZone. Los tipos de TimeZone (Zona horaria) no soportados correlacionan de manera silenciosa la SimpleTimeZone por omisión cuando se suministran a métodos API de servicio. Esto tiene los siguientes efectos:

Cuestiones con relación al idioma nacional

Defecto 114777: no es posible abrir el archivo readme en un idioma distinto del inglés (sólo HP-UX)

En HP-UX Versión 11.11, sólo se proporciona la versión del entorno nacional de Netscape en inglés como aplicación por omisión. Por lo tanto, al completar una instalación en un idioma distinto del inglés de WebSphere Application Server, no es posible abrir el archivo README.

Solución temporal: desde un indicador de mandatos, entre el siguiente mandato para abrir el archivo README:

netscape [WAS_HOME]/Enterprise/readme/xx_XX/readme.htm

donde xx_XX es uno de los siguientes valores:

de_DE Alemán
en_US Inglés
es_ES Español
fr_FR Francés
it_IT Italiano
ja_JP Japonés
ko_KR Coreano
pt_BR Portugués (Brasil)
zh_CN Chino simplificado
zh_TW Chino tradicional

Defecto 111350.RN: caracteres corruptos en la ventana de DOS (Windows)

Al ejecutar mandatos en una ventana de DOS, algunos caracteres en los mensajes de salida están corruptos.

Solución temporal: redirija el mandato de DOS a un archivo de salida y visualice el archivo de salida utilizando el editor Write de Windows.