domingo, 24 de febrero de 2013

¿Bug con Generador de XSD en JDeveloper 11.1.1.5?


Hace unos dias estaba desarrollando unos servicios en BPEL utilizando JDeveloper 11.1.1.5 para un ambiente SOA 11.1.1.5 en un sistema operativo AIX.

Uno de las tablas  legadas en un AS400 en el cual el cliente necesitaba realizar inserciones, recibia para dos campos distintos un mismo valor, es decir, el mismo valor era enviado a dos campos de la tabla legada.

Se fabricó un servicio BPEL utilizando un DBAdapter. Se utilizó la característidca "Pure SQL"  con la que cuenta el DBAdapter en el que ingresando una tarea SQL , el motor genera automáticamente el XSD del "Insert". Se generó la siguiente sentencia:

Insert into tabla values (1,1, #parametro1, #parametro2, #parametro3, #parametro4, #parametro5, #parametro6, #parametro7, #parametro8, #parametro9, #parametro10, #parametro11, #parametro12, #parametro13, #parametro14, #parametro15, #parametro1)

Vean que el #parametro1 fué enviado dos veces.


El XSD fué generado exitosamente por JDeveloper. En lo personal, pensé que el XSD se generaría con 15 parametros ya que el parametro1 es utilizado dos veces. Consideré que el motor de JDeveloper vería este detalle. Sin embargo, mi sorpresa fué cuando el XSD generado por JDeveloper ¡¡tenía dos campos con el mismo nombre (parametro1) y con el mismo tipo de dato (integer)!!

Intenté utilizar el "segundo" #parametro1, en un elemento ASSIGN y después en un elemento TRANSFORM, tal como se muestra en la siguiente imagen:


Mi sorpresa fué que el "segundo" #parametro1 ¡¡no podía ser utilizado!! Generaba el siguiente error que se muestra en la imagen y después el mapeo era redireccionado al "primer" #parametro1!.


Conceptualmente, el motor de BPEL en JDeveloper no debería dejar generar dos campos del mismo nombre con el mismo tipo de dato en el mismo XSD.  Y tal como lo vimos, aunque dos campos fuesen permitidos en el mismo XSD , el segundo, no puede ser utilizado.

Entonces preguntó a mis estimados lectores: 

¿Es este comportamiento un Bug?


2 comentarios:

  1. Hola Deiby,

    Para ser considerado un bug, el comportamiento tiene que consistemente reproducido. Mi impresión es que está asociado más con este caso de uso. Te recomendaría formularas la pregunta en el foro de SOA de Oracle: https://forums.oracle.com/forums/category.jspa?categoryID=194

    Así mismo, previo a formular la pregunta, valida si el problema persiste en la versión 11.1.1.6.0 que es la última de JDeveloper.

    Saludos

    Juan Camilo

    ResponderEliminar
  2. Estimado Juan, gracias por su comentario. En unos momentos lo publicaré en el thread de oracle.

    Saludos Cordiales.

    ResponderEliminar

Oracle ACE Director Award - Deiby Gómez

Thanks #OracleACE Program for this awesome certificate recognizing the work I have done in the community for the last year. Looking forwa...