martes, marzo 24, 2009

Comprobar conexión servidor hacia fuera

A la hora de consumir un web service externo es necesario saber si la conexión hacia el exterior está configurara correctamente (puertos del firewall, etc.). Una manera sencilla de realizar dicha comprobación es a través de la creación de una conexión HTTP con servidor externo (tipo G) en la transacción SM59 y en la que incluiremos la dirección del servidor al que se desea acceder. Para comprobar si hay conexión bastará pulsar el botón "Test de conexión".

test_external_server

Una mala configuración puede provocar que se reciban timeouts a la hora de invocar el web service o que se produzcan fallos a la hora de crear el socket de comunicación...

jueves, marzo 05, 2009

Timeouts en escenarios síncronos

Existen ocaciones en las que los programas que utilizamos pueden tardar mucho en función de la cantidad de datos que le vayamos a pedir. Esto puede dar lugar a que si nos encontramos en un escenario síncrono podamos obtener un timeout como respuesta.


500 Connection timed out


Error: -5
Version: 7000
Component: ICM
Date/Time: Thu Mar 5 09:57:12 2009
Module: icxxthr_mt.c
Line: 2698
Server: PI_Server
Error Tag: {-}
Detail: Connection to partner timed out after 60s
© 2001-2005, SAP AG

En mi caso, el escenario en el que se producía el error era de tipo síncrono (SOAP -> RFC). Y el timeout aparecía cuando la función tenía que recopilar demasiados datos.

En la transacción SM21 aparece una versión más detallada del error:

http_rfc-session-has-been-deleted-following-timeout

Una de las maneras de ampliar el tiempo de timeout es a través de la transacción SMICM. En el menú Pasar a -> Servicios (Shift+F1) veremos que el tiempo definido para el servicio HTTP es de 60 segundos, por lo que bastará marcar dicho servicio y editarlo (menú Servicio -> Modificar) para asignarle el tiempo que deseemos.

servicios3

NOTA: Hay que tener en cuenta que estos cambios se perderán si se reinicia el servicio ICM, tal como notifica el siguiente mensaje:

warning

Una de las opciones posibles para definir de manera definitiva esta parametrización es por medio de la creación del parámetro de perfil icm/server_port_<xx> a través de la transacción RZ10. Ejemplo:

icm/server_port_0 = PROT=HTTP,PORT=8000,TIMEOUT=30,PROCTIMEOUT=600

Los posibles valores vienen descritos en el link Timeout Options for ICM and Web Dispatcher.

Este parámetro se debe incluir en un fichero del sistema, por lo que deberá ser un administrador el que realice la configuración.

Links de referencia:

    lunes, marzo 02, 2009

    Cómo Eliminar un Componente del Integration Builder

    Si por casualidad has importado desde el System Landscape Directory una versión de software de un componente por error y la deseas eliminar, deberás hacer doble clic sobre la misma y en la ventana del componente seleccionar la opción Software Component Version -> Delete (Ctrl+D).

    delete_soft_comp1