miércoles, septiembre 28, 2011

Asegurar envío únicos de mensajes por HTTP

En el caso se querer asegurar que no se procesen mensajes duplicados enviados por HTTP, se puede añadir el parámetro "msgguid" al final de la URL de llamada al servicio (válido para los mensajes enviados en modo EO o EOIO). En caso de que PI reciba 2 mensajes con el mismo ID, automáticamente devolverá un mensaje 500 informando de la duplicidad del mensaje. Un ejemplo de URL con ID es el siguiente:

http://sap-ag.com:8088/sap/xi/adapter_plain?service=sender&namespace=urn%3Asap-ag%2Ecom&interface=%2Fsap%2Forders&qos=EO&msgguid=3c61f6c1-2f1e-2dd1-e100-00000a1145ab

martes, septiembre 27, 2011

El Payload del contendido de un mensaje no aparece para AAE

Con la llegada del Advance Adapter Engine (AAE), los mensajes que se procesan por adaptadores de este tipo sólo se pueden monitorizar desde la interfaz web. Al igual que sucedía con los mensajes que pasaban por los adaptadores ABAP, por defecto, para los mensajes síncronos el sistema no almacena el payload.

Para definir que mantenga el payload de dichos mensajes habrá que modificar el valor de la propiedad messaging.syncMessageRemover.removeBody del servicio XPI Service: Messaging System desde el menú SAP NetWeaver Administrator->Configuration ->Infrastructure->Java System Properties.


Referencias:

lunes, septiembre 12, 2011

HttpAdapterException: CANNOT_FIND_BINDING

Recientemente me topé con un error de un adaptador HTTP Java asíncrono que decía que no se podía encontrar la entrada correspondiente para los valores P/S/A dados:

com.sap.aii.adapter.http.api.HttpAdapterException: CANNOT_FIND_BINDING,Couldn't retrieve inbound binding for the given P/S/A values: FP=;TP=;...

viernes, septiembre 09, 2011

Confirmaciones de envíos mediante adaptador XISOAP

Cuando se realizan envíos de mensajes desde un backend SAP mediante ABAP proxy a partir de la versión SAP PI 7.11, SAP recomienda que se emplee el adaptador SOAP con protocolo de mensaje XI 3.0. En ese caso, si se desea obtener respuesta de confirmación (ojo, no confundir con respuestas de mensajes síncronos), se deberá indicar quién es el sistema destino en el propio adaptador.

martes, septiembre 06, 2011

Caracteres de escape

En las expresiones regulares, se pueden emplear ciertos caracteres comodín para realizar búsquedas que encajen con determinados patrones. Dichos caracteres dependen del entorno en el que se empleen.

Si se va a realizar comparaciones entre valores de variables del código ABAP, los comodines disponibles son:
  • Asterisco ('*') para ristras de caracteres
  • Signo más ('+') para caracteres individuales. 
Si la comparación se va a realizar a nivel de base de datos, en este caso los comodines son:
  • Signo porcentaje ('%') para las ristras de caracteres
  • Guión bajo ('_') para caracteres individuales.