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?
Hola Deiby,
ResponderEliminarPara 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
Estimado Juan, gracias por su comentario. En unos momentos lo publicaré en el thread de oracle.
ResponderEliminarSaludos Cordiales.