viernes, 16 de marzo de 2018

Solventando Error: General SSLEngine problem - OSB 12c

Tras la opinion de varios lectores del blog que leyeron el articulo anterior, han surgido algunas dudas sobre conceptos tales como "Quality of Service", "Chunked Streaming", entre otros.

En este articulo se pretende explicar aquellos conceptos y ver como solventar el error cada vez más recurrente General SSLEngine problem que suele aparecer al consumir servicios externos usando Business Services.



Problematica

Vea si es capaz de indentificar el siguiente error:




Este error ocurre cuando en OSB, un Business Service consume un servicio externo. Muchas veces es normal confundir este problema con el sistema de comprobación de certificados SSL de WebLogic (que son cosas diferentes).



Solución

La solución es simple:

1_ Abrir el Business Service que genera el error y dirijirse a la pestaña "Transport Details".

2_ Desmarcar la casilla "Use Chunked Streaming Mode":




3_ Deployar y probar.



Conceptos A Tener En Cuenta

Si la solución causa que OSB cuando use el Business Service produzca una doble invocación (es decir, que se realicen dos llamadas al sistema destino por cada invocación al Business Services) entonces haga lo siguiente:



Explicación


Entendiendo Chunked Streaming
La documentación de Oracle indica que la propiedad Chunked Streaming Mode se debe seleccionar "si desea utilizar la codificación de transferencia fragmentada por HTTP para enviar mensajes". Normalmente, uno desea tiende a habilitar la transmisión fragmentada siempre y cuando sea posible.

La codificación de transferencia fragmentada es una especificación HTTP 1.1 y permite a los clientes analizar datos dinámicos inmediatamente después de leer el primer fragmento. Tenga en cuenta que la documentación de Oracle también establece que no se habilite la transmisión en bloque si utiliza la opción Seguir los redireccionamientos de HTTP, ya que la redirección y la autenticación no se pueden manejar automáticamente en modo fragmentado.


Entendiendo Quality of Service (QoS)
OSB admite mensajería confiable. El Proxy Service está configurado para ser transaccional, y la propiedad QoS tiene el valor "Exactly Once" ya seleccionada por defecto.

Por alguna razón, desactivar la transmisión en bloque afecta el comportamiento predeterminado de QoS. No hay motivo por el que no se desee establecer explícitamente QoS en "Exactly Once" para cada Proxy Service. Esto significa que los mensajes se entregan (entran y salen) exactamente una vez... y la confiabilidad mejora.



Ambos conceptos requieren de mas contexto y mas conceptos (muchos de los cuales provienen de HTTP y de WebService en general), cualquier duda puede consultarse en los comentarios de este articulo.

1 comentario:

  1. Muy mal, no funciona así. El mensaje es claro, es un problema de certificados y debe solucionarse como tal

    ResponderEliminar