Sugerencias para la resolución de problemas de WS-ReliableMessaging
Sugerencias para la resolución de problemas de configuración de WS-ReliableMessaging
Para ayudarle a identificar y resolver los problemas con WS-ReliableMessaging, puede utilizar los recursos de rastreo y de registro de anotaciones de WebSphere Application Server. Si utiliza herramientass basadas en Eclipse, puede utilizar el monitor TCP/IP de Eclipse para ver los mensajes que fluyen entre las aplicaciones de clientes y los servicios web habilitados para la mensajería fiable.
- Para cualquiera de las calidades de servicio gestionadas:
org.apache.sandesha2*=all=enabled:com.ibm.ws.websvcs.rm*=all=enabled:org.apache.axis2*=all=enabled:com.ibm.ws.sib.wsrm*=all=enabled
- Para la calidad de servicio no gestionada persistente:
org.apache.sandesha2*=all=enabled:com.ibm.ws.websvcs.rm*=all=enabled:org.apache.axis2*=all=enabled
Puede obtener una lista de las principales limitaciones conocidas aplicables cuando se utiliza WS-ReliableMessaging en la sección Limitaciones conocidas de WS-ReliableMessaging.
Los mensajes del sistema WebSphere Application Server se registran desde diversos orígenes, incluidos los componentes y las aplicaciones del servidor de aplicaciones. Los mensajes anotados cronológicamente por los componentes del servidor de aplicaciones y los productos IBM asociados comienzan por un identificador de mensaje exclusivo que indica qué componente o aplicación ha emitido el mensaje. El prefijo para el componente WS-ReliableMessaging es CWSKA.
El tema Consulta para la resolución de problemas: mensajes contiene información sobre todos los mensajes de WebSphere Application Server, indexados por el prefijo de mensaje. Para cada mensaje, existe una descripción del problema y los detalles de la acción que puede llevar a cabo para solucionar el problema.
- Si una secuencia se reasigna, puede ver más secuencias de las que se esperaba
Si la mensajería fiable se ejecuta en un clúster, cuando examine el estado de ejecución de las secuencias de entrada o de salida, aparecerán varias entradas para cada secuencia
Cuando examine el estado de ejecución de las secuencias de entrada y salida, es posible que vea diversas entradas para cada secuencia
- Errores de tiempo de ejecución al migrar mensajes WS-ReliableMessaging persistidos de la Versión 6.1.0.9 o 6.1.0.11
- Cuando se inicia un servidor de aplicaciones, se indica que un motor de mensajería utilizado para mensajería fiable no está disponible
- Una aplicación cliente no puede invocar un servicio web habilitado para mensajería fiable
- No se ha establecido una secuencia y WS-ReliableMessaging no puede garantizar que se transmitirán los mensajes
- Se ha establecido una secuencia pero no se puede utilizar y WS-ReliableMessaging no puede garantizar que se transmitirán los mensajes
- El almacén gestionado de mensajería fiable no se ha inicializado debido a que el enlace de conjuntos de políticas no está completo o no es válido
- La mensajería fiable se interrumpe debido a que un servidor no está disponible.
- Los errores de tiempo de espera de socket se reciben al ejecutar varias aplicaciones de cliente de mensajería de confianza en un clúster
- Un mensaje no se recupera después de que un servidor deja de estar disponible
- Un mensaje de excepción indica que la señal de contexto de seguridad no es válida
Una región de servicio experimenta una terminación anómala de tiempo de espera cuando se utiliza una calidad de servicio gestionada
Si una secuencia se reasigna, puede ver más secuencias de las que se esperaba
Cuando examine el estado de ejecución de las secuencias de entrada y salida, es posible que vea más secuencias de las que esperaba, debido a la reasignación de secuencias
Si una secuencia se reasigna, tanto la secuencia original como la nueva son visibles. No tenga en cuenta las entradas múltiples.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
Si la mensajería fiable se ejecuta en un clúster, cuando examine el estado de ejecución de las secuencias de entrada o de salida, aparecerán varias entradas para cada secuencia
Esto se debe a que, aunque la mensajería fiable sólo se enlaza a un motor de mensajería en un clúster, el panel de mensajería calcula y muestra la información de secuencia una vez para cada miembro del clúster. Omita las entradas duplicadas. Observe que las pequeñas diferencias en las estadísticas que se visualizan para cada entrada duplicada se debe a que las entradas se crean secuencialmente, mientras que el sondeo de mensajes continúa.
![[z/OS]](../images/ngzos.gif)
Cuando examine el estado de ejecución de las secuencias de entrada y salida, es posible que vea diversas entradas para cada secuencia
Esto se debe a que aunque la mensajería fiable sólo se enlaza a un motor de mensajería de un clúster, el panel de ejecución calcula y visualiza la información de la secuencia una vez para cada región de servant. Omita las entradas duplicadas. Observe que las pequeñas diferencias en las estadísticas que se visualizan para cada entrada duplicada se debe a que las entradas se crean secuencialmente, mientras que el sondeo de mensajes continúa.
Errores de tiempo de ejecución al migrar mensajes WS-ReliableMessaging persistidos de la Versión 6.1.0.9 o 6.1.0.11
Si está migrando de WebSphere Application Server Versión 6.1, está utilizando la Versión 6.1.0.9 o 6.1.0.11 del Feature Pack para Web Services y la configuración incluye WS-ReliableMessaging configurado para la calidad de servicio persistente gestionada, tendrá que eliminar todos los mensajes que han persistido antes de migrar.
- Vaya al panel de tiempo de ejecución de Colección de secuencia de entrada para obtener la aplicación de mensajería fiable.
- Seleccione todas las secuencias de entrada y, a continuación, pulse suprimir secuencia y mensajes para suprimir las secuencias.
- Vaya al panel de tiempo de ejecución de Colección de secuencia de salida y repita los pasos anteriores para las secuencias de salida.
Cuando se inicia un servidor de aplicaciones, se indica que un motor de mensajería utilizado para mensajería fiable no está disponible
Si utiliza la mensajería fiable con una calidad de servicio gestionada, podría recibir el siguiente mensaje de excepción al iniciarse el servidor de aplicaciones:
CWSIT0019E: No hay disponible ningún motor de mensajería en el bus yourBus que coincida con las propiedades de conexión especificadas
En un entorno de Network Deployment, esto puede producirse porque el motor de mensajería se encuentra en un servidor de aplicaciones o en un miembro del clúster que se ha iniciado más tarde que el servidor donde se aloja la aplicación de mensajería fiable. En este caso, no es necesario hacer nada; la mensajería fiable seguirá intentando la conexión hasta que el motor de mensajería esté disponible.
- Compruebe que el motor de mensajería especificado y el bus de integración de servicios existen.
- Compruebe el archivo de registro de salida del sistema para asegurarse de que el servidor donde se aloja el motor de mensajería se ha iniciado.
Una aplicación cliente no puede invocar un servicio web habilitado para mensajería fiable
- El punto final está disponible.
- El servicio se está ejecutando.
- El servicio se ha invocado.
- WS-ReliableMessaging se está ejecutando.
- WS-ReliableMessaging se ha configurado correctamente. En especial, para cualquiera de las calidades de servicio gestionadas, compruebe que ha configurado un enlace válido con un bus de integración de servicios y un motor de mensajería y que el motor de mensajería se está ejecutando. Para obtener más información, consulte Conexión y enlace de un conjunto de políticas WS-ReliableMessaging a una aplicación de servicios web utilizando la consola administrativa o Conexión y enlace de un conjunto de políticas de WS-ReliableMessaging a una aplicación de servicio web mediante la herramienta wsadmin.
- No hay demasiadas aplicaciones compartiendo un único motor de mensajería. Nota: Cuando muchas aplicaciones utilizan el mismo motor de mensajería, el rendimiento puede verse afectado. Entre los factores que se deben tener en cuenta se incluye el número de aplicaciones que ya están enlazadas al motor de mensajería, la utilización de la CPU y la productividad de mensajes. Para mejorar el rendimiento de una configuración de un sólo servidor, cree un nuevo motor de mensajería para crear el enlace con la aplicación.
No se ha establecido una secuencia y WS-ReliableMessaging no puede garantizar que se transmitirán los mensajes
Tras establecer una secuencia, WS-ReliableMessaging proporciona la retransmisión de mensajes a un servicio. No obstante, si la secuencia no se ha establecido, entonces los mensajes no se transmiten al servicio y se muestra un mensaje similar al siguiente:
org.apache.axis2.AxisFault: la solicitud de crear secuencia ha sido denegada por el destino RM
el mensaje createSequence inicial ha sido denegado. Esto se vuelve a propagar y hace que el cliente falle. Para obtener información acerca de CreateSequence y CreateSequenceRefused, consulte la sección WS-ReliableMessaging: especificaciones y estándares soportados.
Es posible que vea un mensaje siguiente que le ayude a describir por qué se ha rechazado la solicitud. Por ejemplo:
Causado por: javax.xml.ws.soap.SOAPFaultException: com.ibm.ws.sib.wsrm.exceptions.WSRMRuntimeException:
CWSJZ0202I: Una conexión del motor de mensajería no está disponible para el bus myBus
.- Compruebe que los conjuntos de políticas se hayan aplicado correctamente. Específicamente, compruebe que el destino tenga habilitada correctamente la mensajería fiable.
- Consulte en el registro los problemas del extremo del servidor.
- Para la calidad de servicio persistente gestionada, consulte si el motor de mensajería asociado está disponible.
Se ha establecido una secuencia pero no se puede utilizar y WS-ReliableMessaging no puede garantizar que se transmitirán los mensajes
Si obtiene una excepción similar a la siguiente, entonces la secuencia se ha establecido pero no se puede utilizar:
javax.xml.ws.WebServiceException: org.apache.axis2.AxisFault: El valor de wsrm: el identificador no es un identificador de secuencia conocido
.La razón más común es que está trabajando en un entorno en clúster pero el conjunto de políticas del extremo del servidor especifica la calidad de servicio no persistente y no gestionada. Por ejemplo: el conjunto de políticas predeterminado WS-I RSP especifica la calidad de servicio no persistente ni gestionada. Para utilizar la mensajería asíncrona fiable en un entorno en clúster, debe utilizar una calidad de servicio gestionada para que los miembros del clúster puedan correlacionarse con el estado de mensajería fiable. Para hacerlo, utilice el conjunto de políticas predeterminado WS-I RSP ND o modifique el conjunto de políticas predeterminado de manera que la política WS-ReliableMessaging especifique una calidad de servicio gestionada y un enlace asociado con un bus de integración de servicios y un motor de mensajería. Para obtener información sobre cómo hacerlo, consulte Configuración de un conjunto de políticas WS-ReliableMessaging utilizando la consola administrativa y Conexión y enlace de un conjunto de políticas WS-ReliableMessaging a una aplicación de servicios web utilizando la consola administrativa.
El almacén gestionado de mensajería fiable no se ha inicializado debido a que el enlace de conjuntos de políticas no está completo o no es válido
Si el conjunto de políticas especifica una calidad de servicio gestionada, pero no ha especificado un enlace con el motor de mensajería para dar soporte a dicha calidad de servicio, obtiene el siguiente mensaje de excepción:
CWSKA0102E: El gestor
de almacenamiento de mensajería fiable de servicios web gestionado no se ha podido inicializar
porque el enlace de conjunto de políticas estaba incompleto o no era válido
.Es posible que haya asociado a la aplicación un conjunto de políticas gestionado y esté utilizando los enlaces predeterminados (que no dan soporte a las calidades de servicio gestionadas). Debe crear un enlace nuevo para la aplicación que especifique un bus de integración de servicios y un motor de mensajería para dar soporte a las calidades de servicio gestionadas. Para hacerlo, consulte la sección Conexión y enlace de un conjunto de políticas WS-ReliableMessaging a una aplicación de servicios web utilizando la consola administrativa.
La mensajería fiable se interrumpe debido a que un servidor no está disponible.
La agrupación en clúster proporciona la máxima protección contra la no disponibilidad de los servidores. Proporciona puntos finales de servicio altamente disponibles y, a través del bus de integración de servicio, una alta disponibilidad de la capa de mensajería fiable.
Si desea más información sobre cómo configurar la alta disponibilidad para los servicios web y los motores de mensajería, consulte Equilibrio de cargas de trabajo y Adición de un motor de mensajería a un clúster.
Los errores de tiempo de espera de socket se reciben al ejecutar varias aplicaciones de cliente de mensajería de confianza en un clúster
Cuando muchas aplicaciones utilizan el mismo motor de mensajería, el rendimiento puede verse afectado y, en algunos casos, pueden producirse errores de tiempo de espera.
Si desea más información sobre cómo configurar la alta disponibilidad para los servicios web y los motores de mensajería, consulte Equilibrio de cargas de trabajo y Adición de un motor de mensajería a un clúster.
Un mensaje no se recupera después de que un servidor deja de estar disponible
Cuando la capa de mensajería fiable recibe un mensaje de solicitud, envía un reconocimiento y luego entrega el mensaje al servicio de destino. Existe la posibilidad marginal de que el servidor que aloja la capa de mensajería fiable pase a no estar disponible después de que se reconozca el mensaje de solicitud y antes de su entrega. En este caso, el mensaje sólo se recupera si utiliza la entrega ordenada y también la calidad de servicio persistente gestionada. Para especificar la entrega ordenada, seleccione la opción de política WS-ReliableMessaging en "Entregar mensajes en el orden enviado" como se describe en la sección Configuración de la política WS-ReliableMessaging.
Un mensaje de excepción indica que la señal de contexto de seguridad no es válida
Si utiliza la mensajería fiable con un perfil WS-I RSP persistente y WS-SecureConversation, un mensaje de excepción indica que la señal del contexto de seguridad no es válida.
CWWSS7215E:
No se puede obtener un símbolo de contexto de seguridad válido de la antememoria.
Para asegurarse de que la señal de contexto de seguridad del ámbito no caduque antes de que WS-ReliableMessaging pueda recuperarse y volver a enviar sus mensajes, realice la tarea siguiente: configuración de WS-SecureConversation para que funcione con WS-ReliableMessaging.
![[z/OS]](../images/ngzos.gif)
Una región de servicio experimenta una terminación anómala de tiempo de espera cuando se utiliza una calidad de servicio gestionada
La terminación anómala de tiempo de espera podría deberse a que se ha establece un valor demasiado alto para la propiedad personalizada sib.wsrm.tokenLockTimeout. Esta propiedad se establece en el motor de mensajería que se especifica en el enlace de política WS-ReliableMessaging. El valor debe ser menor que la cantidad de tiempo que la región de control espera antes de finalizar una región de servicio inactiva. Consulte el tema Las propiedades personalizadas de la integración de servicios si desea más información sobre esta propiedad.