Consejos para la resolución de problemas de servicios web habilitados para bus

Utilice este conjunto de consejos específicos para ayudarle a resolver los problemas que puedan surgirle con los servicios web habilitados para el bus de integración de servicios.

[z/OS]Para ayudarle a identificar y resolver los problemas de servicios web habilitados por bus, utilice los recursos de rastreo y anotaciones cronológicas de WebSphere Application Server tal como se describe en Establecimiento del rastreo de componentes (CTRACE).

Para habilitar el rastreo para los servicios web habilitados para bus, establezca la serie de rastreo del servidor de aplicaciones en com.ibm.ws.sib.webservices.*=all=enabled. Si detecta un problema que considera que podría estar relacionado con los servicios web habilitados para el bus, puede comprobar los mensajes de error en la consola administrativa de WebSphere Application Server y en el archivo SystemOut.log del servidor de aplicaciones. También puede habilitar el rastreo de depuración del servidor de aplicaciones para obtener un vuelco de excepciones detallado.

En Servicios web habilitados para bus: Limitaciones conocidas encontrará una lista de las limitaciones principales conocidas que se aplican cuando se utilizan los servicios Web habilitados para bus.

Los mensajes del sistema WebSphere Application Server se anotan cronológicamente desde diferentes fuentes, incluidos los componentes y 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 del componente de servicios web habilitados para bus es CWSWS.

El tema Mensajes contiene información acerca de todos los mensajes de WebSphere Application Server indexados por prefijo de mensaje. Para cada mensaje se incluye una descripción del problema e información detallada acerca de cualquier acción que pueda tomar para solucionar el problema.

Consejos no relacionados con la seguridad:

Los servicios web habilitados para bus no pueden conectarse a un bus de integración de servicios seguro

Cuando el componente de servicios web habilitados para bus no puede conectarse a un bus seguro, se emite el siguiente mensaje de error al iniciar el servidor (en el archivo SystemOut.log del servidor de aplicaciones) cuando el adaptador de recursos de integración de servicios intenta conectarse al destino del bus:
CWSIV0801E: La excepción javax.resource.ResourceException:
CWSIV0958E: La excepción de autorización 
com.ibm.wsspi.sib.core.exception.SINotAuthorizedException: 
CWSIP0302E: Un usuario HostServer no tiene autorización para acceder al motor de mensajería 
xyzNode01.server1-xyz en el bus xyz.; se ha generado al intentar crear una 
conexión con el motor de mensajería 221C86B845BE5E8B utilizando la especificación de 
activación [<rastreo_campo_especificación_activación>]. 
se ha generado durante la creación de una conexión 
con el motor de mensajería xyzNode01.server1-xyz en el bus xyz.

De forma predeterminada, el componente de servicios web habilitado para bus se pueden conectar con un destino de bus seguro mediante el adaptador de recursos de integración de servicios. Por lo tanto, la configuración se deber haber modificado de algún modo.

La configuración predeterminada que utiliza el componente de servicios web habilitados para el bus para acceder a un bus seguro es la siguiente:
  • El acceso a un bus se configura a través del rol de conector de bus. De forma predeterminada,cada rol de conector de bus incluye un grupo llamado servidor. Los miembros de este grupo tienen autorización para conectarse al bus.
  • El adaptador de recursos de integración de servicios utiliza una especificación de activación J2C para comunicarse con el bus. De forma predeterminada,esta especificación de activación tiene una propiedad personalizada booleana useServerSubject que se establece en true. Esta propiedad permite al adaptador de recursos de integración de servicios conectarse al bus como sujeto (un miembro) del grupo de servidores.

Puede alterar temporalmente esta configuración predeterminada definiendo un alias de autenticación que utiliza el adaptador de recursos de integración de servicios para acceder al bus. Para obtener más información, consulte Alteración temporal de la configuración de seguridad predeterminada entre los servicios web habilitados para bus y un bus seguro.

Para obtener información detallada acerca de la configuración predeterminada y el efecto de modificar o alterar temporalmente esta configuración, consulte Configuración predeterminada de servicios web habilitados para bus para acceder a un bus seguro.

Para ayudarle a estrechar el área de problema, establezca la serie de rastreo del servidor de aplicaciones com.ibm.ws.sib.webservices.*=all=enabled porque hay varios componentes que pueden ser la causa del problema. En el rastreo, compruebe SibRaMessagingEngineConnection.createConnection():
  • La expresión Creando conexión con ID de usuario y contraseña indica que el sistema ha encontrado, e intenta utilizar, un alias de autenticación configurado para la especificación de activación de J2C.
  • La expresión No se ha pasado ningún ID de usuario/contraseña. Creando conexión utilizando el sujeto de servidor indica que el sistema ha encontrado, e intenta utilizar, el sujeto de servidor.

El bus de integración de servicios excede el tiempo de espera mientras un servicio de salida espera la respuesta de un servicio de destino

Puede producirse el siguiente error en el bus de integración de servicios cuando un servicio de salida espera una respuesta de un servicio web de destino:
java.net.SocketTimeoutException: La operación de socket ha excedido el tiempo
de espera antes de que pudiera completarse.

El valor de tiempo de espera predeterminado es de 60 segundos, por lo que este error se produce si el servicio web de destino tarda más de 60 segundos en responder. Puede aumentar el valor de tiempo de espera si establece la propiedad personalizada timeout en el puerto de entrada como se describe en Puertos de entrada [Valores].

La aplicación o el recurso de servicios web habilitados para bus debe instalarse manualmente

Las aplicaciones y los recursos de servicios web siguientes habilitados para el bus se instalan automáticamente cómo y cuándo se necesitan por primera vez.
  • La aplicación de servicios web habilitados para bus (la aplicación que le permite configurar y acceder a los servicios web a través del bus de integración de servicios).
  • El adaptador de recursos de tecnologías de integración de servicios (utilizado para invocar servicios web en puertos de salida).
  • Las aplicaciones de escucha de punto final (utilizado para habilitar los puntos en los cuales se reciben mensajes para servicios de entrada).
Por ejemplo, una aplicación de escucha de punto final se instala como parte del proceso de creación de una nueva configuración de escucha de punto final.

Sin embargo, si no necesita instalar manualmente una de estas aplicaciones, puede hacerlo utilizando el script sibwsInstall.jacl proporcionado y siguiendo las instrucciones proporcionadas en el tema de WebSphere Application Server Versión 6.0.x: Instalación de recursos y aplicaciones de servicios web habilitados para bus

La aplicación cliente funciona correctamente en WebSphere Application Server Versión 5.1, pero se observan problemas en versiones posteriores

Una aplicación cliente funciona bien en WebSphere Application Server Versión 5.1, pero en versiones posteriores se obtienen problemas debido a solicitudes o respuestas defectuosas

Los servicios web habilitados para bus comprueban la validez de los mensajes de servicios web de una forma más detallada que en WebSphere Application Server Versión 5.1. Como resultado, algunas aplicaciones cliente que utilizan peticiones o respuestas con formato defectuoso (donde las partes del mensaje reciben nombres erróneos), y que funcionan cuando se utiliza Versión 5.1, se identifican como mensajes de formato defectuoso en versiones posteriores. Para ver los pasos que deben seguirse para resolver el problema, consulte Tolerancia de mensajes SOAP de formato defectuoso

Error cuando un cliente JAX-RPC que se ejecuta en WebSphere Application Server Versión 5.1 utiliza SOAP sobre JMS para invocar un servicio web

Un cliente JAX-RPC que se ejecuta en WebSphere Application Server Versión 5.1 utiliza SOAP sobre JMS para invocar un servicio web que se ejecuta en un servidor de aplicaciones de la versión 5. No se necesita ningún ID de usuario o contraseña en la cola de destino de MQ Series. Después de que el servidor de aplicaciones se migre en una versión posterior y para utilizar la mensajería predeterminada las solicitudes de cliente fallan porque ahora está habilitada la autenticación básica.

El problema aparece como un mensaje de registro:
SibMessage W [:] CWSIT0009W: Una petición de cliente ha fallado en el servidor de
aplicación con el punto final <nombre_puntofinal> en el bus bus_usuario 
con la razón: CWSIT0016E: El ID de usuario nulo ha podido autenticarse en el 
bus bus_usuario.

Para ver los pasos que deben seguirse para resolver el problema, consulte el siguiente consejo de resolución de problemas de tecnologías de integración de servicios: Migración de un servidor de aplicaciones Versión 5.1 a WebSphere Application Server Versión 7.0 o posterior

Mensaje de error al intentar crear una base de datos Informix para su uso con el repositorio SDO

El intento de crear una base de datos Informix para utilizarla con el repositorio SDO no ha sido satisfactorio y recibirá el mensaje No hay aislamiento en bases de datos sin registro..

Si No hay aislamiento de la transacción en bases de datos sin registro. Aparece como parte de un mensaje de excepción, ello se debe a que se ha inhabilitado la anotación cronológica en la base de datos que se utiliza Informix. Para utilizar una base de datos Informix con el repositorio SDO, debe habilitar la anotación cronológica.

El texto de excepción completo es:
javax.transaction.TransactionRolledbackException: 
CORBA TRANSACTION_ROLLEDBACK 0x0 No; 
nested exception is:
org.omg.CORBA.TRANSACTION_ROLLEDBACK: 
javax.transaction.TransactionRolledbackException:  ; 
nested exception is:
javax.ejb.TransactionRolledbackLocalException:  ; 
nested exception is: 
com.ibm.ws.ejbpersistence.utilpm.PersistenceManagerException: 
PMGR1013E: Exception occurred when verifying current backend id 
INFORMIX_V94: javax.resource.spi.ResourceAllocationException: 
DSRA0080E: An exception was received by the Data Store Adapter. 
See original exception message: 
No Transaction Isolation on non-logging dbs., error code: 
DSA_ERROR, error code: DSA_ERROR vmcid: 0x0  minor code: 0  
completed: No 
De forma predeterminada,las anotaciones cronológicas están inhabilitadas, por lo que la sentencia de crear base de datos CREATE DATABASE SDOREP; da como resultado una excepción durante la ejecución. Al crear la base de datos, utilice una de las siguientes sentencias de creación de bases de datos:
  • CREATE DATABASE SDOREP WITH LOG;
  • CREATE DATABASE SDOREP WITH BUFFERED LOG:
  • CREATE DATABASE SDOREP WITH LOG MODE ANSI;

La publicación de un servicio de entrada en un registro UDDI no se ha incluido en la lista y, al volver a publicarlo el intento no es satisfactorio

Tiene un servicio de entrada que, según la consola administrativa, se publica en un registro UDDI. Cuando compruebe el registro UDDI, descubrirá que el servicio no está listado allí. Cuando intente utilizar la consola administrativa para volver a publicar el servicio en UDDI, el intento no será satisfactorio.

El servicio se ha publicado en el registro UDDI y la configuración del servicio que se muestra en la consola administrativa de WebSphere Application Server incluye una clave de servicio UDDI, pero posteriormente se ha eliminado la publicación del servicio de UDDI sin que se aplique la actualización correspondiente en la configuración maestra de WebSphere Application Server. Una manera en que puede darse esta situación es si se utiliza la consola administrativa para suprimir un servicio de entrada que se ha publicado en un registro UDDI y, a continuación, finalizar la sesión en la consola administrativa sin guardar los cambios. En este caso, se elimina la publicación del servicio del registro UDDI, pero no se suprime de WebSphere Application Server (porque no se ha confirmado la petición de supresión y, por lo tanto, no se ha aplicado).

Para actualizar la información de configuración de servicio y volver a publicar el servicio en UDDI, utilice la consola administrativa para llevar a cabo los pasos siguientes:
  1. En el panel de navegación, pulse Integración de servicios -> Buses -> nombre_bus -> [Servicios] Servicios de entrada -> nombre_servicio. Se visualizarán los valores actuales para este servicio de entrada.
  2. Pulse Volver a cargar WSDL de plantilla y, a continuación, guarde los cambios.
  3. Pulse Eliminar publicación de UDDI y guarde los cambios.
  4. Pulse Publicar en UDDI y guarde los cambios.
El servicio se ha vuelto a publicar satisfactoriamente y se ha reinstalado en el registro UDDI.

WSDL debe recuperarse a través de la línea de mandatos si el bus necesita pasar mensajes a través de un servidor proxy de autenticación para recuperar documentos WSDL

Si el bus tiene que pasar mensajes a través de un servidor proxy de autenticación para recuperar documentos WSDL, debe utilizar las herramientas de línea de mandatos para recuperar el WSDL.

Ni los paneles de la consola administrativa utilizados para crear una nueva configuración de servicios web, ni el botón Recargar WSDL proporcionado en los paneles que se utilizaron para modificar una configuración de servicio web existente, le permiten entrar un alias de autenticación J2C para recuperar el WSDL. Por consiguiente, cuando se crean o se modifican servicios de entrada y salida, si el bus tiene que pasar mensajes a través de un servidor proxy de autenticación para recuperar documentos WSDL, deberá utilizar una de las siguientes herramientas de línea de mandatos para recuperar el WSDL:

Si utiliza JMS para conectarse a un bus remoto, necesita una configuración adicional que permita a los clientes del servicio web conectarse con el bus

Si utiliza JMS para conectarse a un bus remoto, necesita una configuración adicional que permita a los clientes del servicio web conectarse con el bus.

Una aplicación cliente de servicios web que se ejecuta en un servidor que es miembro de un bus puede localizar el motor de mensajería en dicho bus. Una aplicación cliente de servicios web que se ejecuta fuera de un servidor de aplicaciones, por ejemplo, se ejecuta fuera del entorno WebSphere Application Server no puede localizar directamente un motor de mensajería apto para conectar el bus de destino. Del mismo modo, una aplicación cliente de servicios web que se ejecute en un servidor de una célula no puede localizar directamente un moto de mensajería adecuado con el que conectarse en el bus de destino.

Para habilitar la aplicación cliente de servicios web para contactar con un motor de mensajería de destino en un bus remoto, configure la fábrica de conexiones JMS que utiliza el cliente, de modo que el cliente pueda conectarse con un motor de mensajería de rutina de carga en el bus remoto. El motor de mensajería de rutina de carga, a continuación, identifica el motor de destino y la información necesaria para acceder al motor de destino se vuelve a pasar al cliente. Para que el proceso de rutina de carga sea posible, configure uno o más puntos finales de proveedor en la fábrica de conexiones que utiliza el cliente. Para obtener más información, consulte Configuración de una conexión con un servidor de rutina de carga que no es el valor predeterminado.

Error de falta de memoria en la máquina virtual Java al pasar un archivo adjunto de gran tamaño a través del bus de integración de servicios

Al pasar un archivo adjunto grande a través del bus de integración de servicios obtendrá un error de falta de memoria en la máquina virtual Java.

Si se produce este error, aumente el tamaño de pila tal como se describe en Ajuste de servicios web habilitados para bus.

Error al intentar crear una configuración de escucha de punto final nueva mediante la consola administrativa

Cuando intenta crear una nueva configuración del escucha de punto final utilizando la consola administrativa y pulsa Nuevo en el panel de la colección de escuchas de punto final, se visualiza el icono "Espere..." pero el panel de destino no aparece

Este problema sólo se produce con versiones antiguas del navegador Web Mozilla. Actualice el navegador a la versión 1.4 o superior. Como solución alternativa, pulse Nuevo por segunda vez y se visualizará el panel de destino.

Error al intentar crear un nuevo servicio de entrada a través de la consola administrativa

Cuando intenta crear un nuevo servicio de entrada a través de la consola administrativa, la lista desplegable de destinos está vacía y el asistente se detiene en el paso 1 con el mensaje de error Debe seleccionar un destino.

Esto sólo puede suceder si no hay ningún motor de mensajería en el bus de integración de servicios en el que está creando el servicio de entrada. Cree un motor de mensajería y, a continuación, cree un destino de servicio y vuelva a ejecutar el asistente para crear una nueva configuración de servicio de entrada.

Error Malformed URLException al intentar enviar un mensaje SOAP sobre HTTPS

Está intentando enviar un mensaje SOAP sobre HTTPS y recibe el error Malformed URLException.

Las tecnologías de integración de servicios puede utilizar SSL (Secure Sockets Layers) para invocar servicios web externos que incluyan https:// en sus direcciones. Para obtener más información, consulte Invocación de servicios de salida sobre HTTPS.

Errores de búsqueda JNDI cuando los recursos JMS de máquinas distintas tienen los mismos nombres

Obtendrá errores de búsqueda JNDI al utilizar los mismo nombres para las colas de mensajes JMS y las fábricas de conexiones de cola JMS que se ejecuten en servidores de aplicaciones en máquinas distintas.

No debe utilizar los mismos nombres para las colas de mensajes y las fábricas de conexiones de cola que se ejecutan en servidores de aplicaciones en máquinas distintas, ya que las tecnologías de integración de servicios siempre buscan primero destinos de JMS localmente y sólo utilizan la referencia JNDI completa, si no logra encontrar el destino localmente. Si configura como servicio de salida un servicio web alojado en una máquina remota, y utiliza los mismos nombres para las colas de mensajes y las fábricas de conexiones de cola de la máquina remota y en la máquina en la que se aloja el servicio de salida, las tecnologías de integración de servicios buscarán y utilizarán las colas locales, incluso si se ha proporcionado todo el destino de JNDI remoto en la definición del servicio WSDL.

Se devuelve error al instalar el archivo sibwsauthbean.ear

Está protegiendo con una contraseña la operación del servicio web, pero cuando instala el archivo sibwsauthbean.ear, se visualiza un mensaje de error en la consola administrativa de WebSphere Application Server, que detalla un problema de JNDI (Java Naming and Directory Interface).

Cuando se protege con contraseña una operación de servicio web, compruebe que ha escrito, en "Referencias de EJB" para el bean de sesión de autorización, el nombre JNDI correcto del enterprise bean del servicio Web importado. Tenga en cuenta que esta ubicación inicial es sensible a las mayúsculas y minúsculas.

No se puede precisar el problema exacto a partir de los mensajes de error SOAP

Recibe mensajes de error SOAP pero no puede determinar el problema exacto a partir del mensaje de error.

Si recibe un mensaje de error SOAP con una serie de caracteres de error que es exactamente el valor de uno de los parámetros de la invocación, significa que el valor del parámetro no es válido. Por ejemplo, si tiene un servicio que espera un parámetro int y le envía un mensaje que contiene el valor "1.1", entonces el mensaje de error que recibirá contiene 1.1 como la serie de error:
<faultcode>SOAP-ENV:Client</faultcode>
<faultstring>1.1</faultstring>

Este mensaje es coherente con el comportamiento de Apache SOAP y los servicios web habilitados para bus no pueden corregirlo.

Se producen errores de tiempo de espera en el puerto de escucha cuando se pasan mensajes grandes utilizando un escucha de punto final SOAP sobre JMS

Como con cualquier escucha de punto final síncrono, se pueden producir errores de tiempo de espera. Para minimizar la frecuencia de los errores de tiempo de espera, aumente los valores del tiempo de espera del escucha de punto final. Si el problema persiste, inhabilite el rastreo y las anotaciones cronológicas para las tecnologías de integración de servicios, estableciendo la serie de rastreo del servidor de aplicaciones en com.ibm.ws.sib.webservices.*=all=disabled.


Icon that indicates the type of topic Reference topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rjw_prob0
File name: rjw_prob0.html