Seguimiento mensajes SOAP entre BPEL Procesos

Al depurar los procesos BPEL en algún momento puede ser muy útil para ver realmente los mensajes que fluyen entre los procesos.

Ahora, con frecuencia la pista de auditoría en la consola de BPEL proporciona información suficiente para ver que esta pasando, y haciendo clic en la invocación por caso, percibir una actividad o respuesta se puede ver el contenido de la carga útil que fue enviado o recibido.

Sin embargo esto es sólo la mitad de la historia, ya que no muestran detalles del mensaje de SOAP auténtico y, en particular los detalles, como los encabezados SOAP utilizado para WS-Security y WS -Addressing.

Ahora usted puede saber que Oracle BPEL PM buques obtunnel una herramienta para el seguimiento de los mensajes SOAP intercambiados entre dos partes, por ejemplo, entre BPEL y un servicio web externo.

Para los que no están familiarizados con obtunnel, es un monitor de TCP que funciona escucha en un puerto y luego reenviar el mensaje a otro (es decir, cuando el servicio efectivo se encuentra).

La forma más sencilla de configurar un proceso para llamar a un servicio web a través de obtunnel es establecer la propiedad ubicación en la de Asociaciones y volver a implementar el proceso de . El valor especificado aquí será reemplazar el punto final de servicio web especificado en el documento WSDL.

Esto funciona bien para las invocaciones de servicio indivdual. Sin embargo, si queremos controlar los mensajes entre varios procesos BPEL diferente, entonces tener que modificar socio enlaces múltiples a través de múltiples procesos puede ser muy tedioso y requiere que volver atrás y modificar todos ellos para corregir hay valor.

Además de los procesos asincrónicos que es más complicada, ya que el proceso llamante pasará una llamada de vuelta al proceso de localización invocado, que como consecuencia provoca respuestas a mediante su tarjeta de obtunnel-, por lo que no veo las respuestas a volver.

Lo ideal sería que lo que queremos es una manera simple de configurar BPEL PM a siempre ir a través de obtunnel cuando se llama a un proceso BPEL, sin la necesidad de realizar ningún cambio en la definición del proceso. Este es el tema de esta nota técnica.

Configuración del servidor de BPEL para usar como un proxy obtunnel

Oracle BPEL PM puede ser fácilmente configurado para utilizar un proxy, normalmente esto es para scenrios como la colocación de una puerta de enlace HTTP en frente de un servidor de BPEL. Sin embargo, podemos utilizar el mismo método para establecer obtunnel como proxy.

Para lograr esto, necesitamos establecer dos propiedades; soapServerUrl y soapCallbackUrl en el archivo de configuración del servidor.

soapServerUrl

Esta dirección se publica como parte de la dirección SOAP de un proceso en el WSDL archivo.

El nombre del host y el puerto para esta URL debe ser personalizado para que coincida con el anfitrión y el puerto de escucha de la instancia de obtunnel. Asumiendo que se están ejecutando obtunnel en la misma máquina que su BPEL Server, sólo tiene que cambiar el número de puerto.

soapCallbackUrl

Esta URL es enviado por el proceso (con WS-Addressing) como parte de la dirección de devolución de llamada asincrónica para decirle al receptor de la solicitud donde enviar la respuesta al.

Una vez más el nombre de host y el puerto para esta URL debe ser personalizado para que coincida con el nombre y el puerto de escucha de la instancia de obtunnel, de modo que debe tener el mismo valor que soapServerUrl.

La forma más sencilla de establecer estas propiedades se encuentra en la pestaña de configuración de BPEL administrador (para acceder a esta entrada en la pantalla de la consola de BPEL BPEL goto seleccione Administrador). Una vez configurado, necesitará reiniciar su BPEL Server.

Nota: Usted tendrá que volver a implementar todos los procesos actualmente desplegados en el servidor para que puedan volver a ser compilado (por ejemplo, generar WSDL) con las direcciones correctas.

Configuración del dominio BPEL

Una vez que hemos configurado el servidor, cualquier llamada externa de un proceso que ahora tendrán acceso tanto el WSDL y el servicio a través de la dirección del proxy.

Sin embargo, el comportamiento predeterminado de un proceso es pasar por alto este poder, ¿por qué? Bueno en realidad por razones de rendimiento, sino que simplemente no tiene sentido para un proceso para llamar a otro proceso a través de SOAP como la sobrecarga sería grande, más bien un proceso, simplemente llama a otro proceso a través de una llamada directa en la memoria de Java que es mucho más rendimiento .

Sin embargo, para nuestro propósito, podemos desactivar esta opción mediante el establecimiento de la optSoapShortcut propiedad en false. El más simple de configurar esto es en la consola de BPEL, haga clic en Administrar dominio BPEL (esquina superior derecha), y, a continuación, actualice la propiedad en la pestaña de configuración.

Nota: En la versión 10.1.3.0.1, esta propiedad no está realmente especificado en el archivo de configuración del dominio, por lo que tendrá que agregar manualmente al archivo de configuración de Domin, que se encuentra en:

[] bpel_home / domains / domain] [/ config / domain.xml

Una vez añadido tendrá que volver a arrancar el motor que para recoger el cambio (a partir de entonces se puede modificar la forma habitual en la pestaña de configuración de dominio).

Correr obtunnel

La forma más sencilla de ejecutar obtunnel, es poner en marcha el desarrollador del sistema BPEL, esto simplemente lanza una línea de comandos con todo el ambiente adecuado varaiables conjunto. A partir de aquí, simplemente escriba el comando obtunnel.

Una vez puesto en marcha sólo tiene que especificar el puerto que se va a escuchar y, a continuación el nombre de host y el puerto de su BPEL Server.

Resumen

El uso de este enfoque que usted puede monitorear fácilmente los distintos mensajes SOAP entre los procesos, sin la necesidad de realizar ningún cambio real en la configuración del proceso. Todo lo que se necesita es para implementar en una versión del servidor de BPEL PM configurado para utilizar el proxy.

Nota: Si usted desarrolla sus Procesos BPEL contra el "Proxy BPEL PM Server", a continuación, los lugares en el WSDL del Socio contendrá la hostia y N º de puerto del proxy del servicio. Esto no suele ser un problema, ya que volver a configurar estas como parte del proceso de implementación de los procesos a una prueba / producción BPEL PM Server.

No hay comentarios:

Publicar un comentario