viernes, 22 de enero de 2016

Harvesting en OER 12c - Error: Unable to find asset type in OER

Error: Unable to find asset type in OER

Estaba intentando hacer el harvest de un WSDL en Oracle Enterprise Repository 12c. El dominio era usado por primera vez, así que no existían muchas posibilidades de que algo anduviera mal.

Al intentar ejecutar el comando para hacer el harvest, me encontré con el siguiente error:

NOTE: To harvest Oracle Service Bus 10 projects, please use osb10harvest.sh
com.oracle.oer.sync.framework.MetadataIntrospectionException: com.oracle.oer.sync.framework.MetadataIntrospectionException: com.oracle.oer.sync.framework.MetadataIntrospectionRuntimeException: Error: Unable to find asset type in OER: 132bbd15-39b9-11de-bee0-79d657a0a2b0.  Please make sure that the Harvester Solution Pack is installed in OER.
        at com.oracle.oer.sync.framework.MetadataManager.init(MetadataManager.java:317)
        at com.oracle.oer.sync.framework.Introspector.<init>(Introspector.java:261)
        at com.oracle.oer.sync.framework.Introspector.main(Introspector.java:537)
Caused by: com.oracle.oer.sync.framework.MetadataIntrospectionException: com.oracle.oer.sync.framework.MetadataIntrospectionRuntimeException: Error: Unable to find asset type in OER: 132bbd15-39b9-11de-bee0-79d657a0a2b0.  Please make sure that the Harvester Solution Pack is installed in OER.
        at com.oracle.oer.sync.framework.impl.DefaultPluginManager.processIntrospector(DefaultPluginManager.java:157)
        at com.oracle.oer.sync.framework.impl.DefaultPluginManager.<init>(DefaultPluginManager.java:99)
        at com.oracle.oer.sync.framework.MetadataManager.init(MetadataManager.java:315)
        ... 2 more
Caused by: com.oracle.oer.sync.framework.MetadataIntrospectionRuntimeException: Error: Unable to find asset type in OER: 132bbd15-39b9-11de-bee0-79d657a0a2b0.  Please make sure that the Harvester Solution Pack is installed in OER.
        at com.oracle.oer.sync.framework.MetadataManager.putAssetType(MetadataManager.java:220)
        at com.oracle.oer.sync.framework.impl.DefaultPluginManager.processIntrospector(DefaultPluginManager.java:130)
        ... 4 more



Resulta, que por default, el Harvest Solution Pack no está en OER. Esto al parecer sucedía también en versiones anteriores (11g). En esta versión 12c el problema no ha sido corregido. Así pues, antes de realizar cualquier harvest en OER, es necesario importar el Harvest Solution Pack.

Los pasos son los siguientes:

Entrar a OER Console


Ir al tab Admin



Elegir Import / Export Client



Esto ejecutará una aplicación Java en el equipo donde se esté ejecutando el navegador:





La aplicación nos abrirá un cuadro de diálogo, donde nos permitirá elegir el ZIP que contiene el Harvester Solution Pack. Este ZIP generalmente se encuentra debajo de la siguiente ruta:

OER_ORACLE_HOME/oer/modules/tools/solutions

En mi caso es una instalación 12c, el ZIP es el siguiente:

12.1.3.0.0-OER-Harvester-Solution-Pack.zip

Aquí lo único que debemos hacer es dar un click en Next para que se realice el import del pack y lo tengamos disponible en OER. Al finalizar el import, ya podemos hacer nuevamente el harvest del resurso que deseamos llevar hacia OER. Esto ya no debería generar ningún error:

NOTE: To harvest Oracle Service Bus 10 projects, please use osb10harvest.sh
0    [main] WARN  com.oracle.oer.sync.framework.impl.DefaultPluginManager  - unable to initialize harvester plugin file: /u02/oracle/products/oer_oracle_home/oer/tools/harvester/./plugins/mds.starter
726  [main] WARN  com.oracle.oer.sync.framework.impl.DefaultPluginManager  - unable to initialize harvester plugin: /u02/oracle/products/oer_oracle_home/oer/tools/harvester/./plugins/osb10.productreader
928  [main] WARN  com.oracle.oer.sync.framework.impl.DefaultPluginManager  - unable to initialize harvester plugin file: /u02/oracle/products/oer_oracle_home/oer/tools/harvester/./plugins/soasuite11g.remotereader
2621 [main] INFO  com.oracle.oer.sync.framework.MetadataManager  - oracle enterprise_repository_harvester version: v12.1.3.0.0-141027_0001-1634845
3442 [main] WARN  com.oracle.oer.sync.framework.impl.DefaultPluginManager  - unable to initialize harvester plugin file: /u02/oracle/products/oer_oracle_home/oer/tools/harvester/./plugins/mds.starter
3886 [main] WARN  com.oracle.oer.sync.framework.impl.DefaultPluginManager  - unable to initialize harvester plugin: /u02/oracle/products/oer_oracle_home/oer/tools/harvester/./plugins/osb10.productreader
4002 [main] WARN  com.oracle.oer.sync.framework.impl.DefaultPluginManager  - unable to initialize harvester plugin file: /u02/oracle/products/oer_oracle_home/oer/tools/harvester/./plugins/soasuite11g.remotereader
26030 [main] INFO  com.oracle.oer.sync.framework.MetadataManager  - successfully completed the harvest
26030 [main] INFO  com.oracle.oer.sync.plugin.writer.oer.OERWriter  - starting oer shutdown and clean up...



Finalmente, nuestro WSDL debería aparecer ya en nuestra instancia de OER.