A veces nos encontramos errores técnicos en aplicaciones, scripts, etc. y los resolvemos pero no guardamos en ningún lado la solución y los síntomas. Quise hacer una especie de repositorio de problemas/soluciones, y tener disponibles mis experiencias para todos. Espero no volver a decir "¡esto ya me había pasado, pero no me acuerdo cómo lo resolví!" [temas: Oracle DB, korn shell scripts, Oracle App Server, Oracle Collaboration Suite, Windows, Linux, ...]

jueves, octubre 12, 2006

error en JDev al crear web service que utiliza "table of"

Cuando intenté crear un web service a partir de un package de PL/SQL que utilizaba como parámetro de entrada un tipo de dato TABLE OF CHAR, en el JDeveloper simplemente no aparecía como opción a seleccionar para ser convertido. Al dar click en el botón de ayuda "Why not?", salía un mensaje como este:

The following types used by the program unit do not have an XML Schema mapping

Entonces, buscando en internet, como siempre, me encontré en un foro lo siguiente:

It works ("VARRAY" and "TABLE OF"; in JDev 1013) if the types are defined globally and NOT inside a package specification.

Acto seguido, puse entre comentarios el código que declaraba el TYPE dentro del package, me llevé dicho código al sqlplus, y lo compilé directamente con el mismo usuario dueño del package, de manera que quedara declarado en su mismo esquema (para comprobarlo, revisar que la instrucción SELECT * FROM ALL_OBJECTS WHERE OBJECT_TYPE = 'TYPE' AND OWNER = '[schema owner]'; regrese un registro correspondiente al aludido TYPE)

That's it! Después de hacer esto, ya pude crear el web service derivado de este package con el JDeveloper (que por cierto, era el 10.1.2).