viernes, junio 17, 2011

Mensajes de confirmación en proxies asíncronos

Cuando se envía una mensaje de manera asíncrona, puede interesar conocer si el mensaje ha llegado correctamente o si  ha habido algún tipo de error. Este escenario me lo encontré en una comunicación proxy -> jdbc, donde quería conocer si la inserción en la base de datos se hizo correctamente.

Como requisito, es necesario que el sistema origen tenga definido el adaptador proxy de recepción para que pueda recibir el mensaje de confirmación (con esto es suficiente, no es necesario definir nada más como el "Receiver agreement"). En el caso de PI 7.11 en adelante, también será necesario definir en el adaptador de envío, la conexión que utilizará para devolver las confirmaciones (esta conexión debe ser creada previamente en el NWA de PI).


Un aspecto a tener en cuenta es que, en mi caso no servía indicar el path "/MessagingSystem/receive/AFW/XI", ya que me daba un error de servicio no activado. Sin embargo sí me sirvió utilizar el path "/sap/xi/engine?type=receiver" y activar el servicio sap/xi/engine en el sistema ECC (tx: SICF), para que pueda recibir dichas respuestas.

Al generar un ABAP proxy a partir de un servicio del ESR, se heredan unos métodos estándar que nos permiten solicitar dichas confirmaciones. Al final del siguiente enlace, se muestra un código de ejemplo en el que se solicita la confirmación del mensaje que se envía:

http://help.sap.com/saphelp_nw73/helpdata/en/f4/8620c6b58c422c960c53f3ed71b432/content.htm

También aparece cómo acceder a dicho mensaje de confirmación. A continuación muestro cómo se puede mostrar un mensaje con el contenido de dicha respuesta:



NOTA: a título personal,  mi recomendación es que, siempre que se pueda, se realicen comunicaciones síncronas (aunque sea para insertar un valor en la BD). El adaptador JDBC está preparado para devolver siempre un valor (si es inserción, devolverá el número de registros insertados). De este modo nos ahorramos montar todo el escenario y no tenemos que estar esperando por dichos mensajes de confirmación.

Referencias:

No hay comentarios: