viernes, 15 de noviembre de 2013

Almacenar la contraseña de Weblogic de forma persistente

Por defecto, cada vez que se arranca Weblogic y los servidores manejados WLS_FORMS y WLS_REPORTS nos solicita la contraseña de weblogic:


La forma de guardar la contraseña en un archivo y evitar que la pida en cada arranque es muy simple: hay que crear un archivo con el nombre "boot.properties" en las siguientes carpetas:


  • $DOMAIN_HOME/servers/AdminServer/security
  • $DOMAIN_HOME/servers/WLS_FORMS/security
  • $DOMAIN_HOME/servers/WLS_REPORTS/security


El archivo tiene que contener únicamente dos líneas:

username=weblogic
password=

En el archivo metemos la contraseña en texto plano, pero en el primer arranque la encripta.

viernes, 18 de octubre de 2013

Problemas para Forms 11g en próximas actualizaciones de Java

Al actualizar a la última actualización de Java 7, el parche 45 (1.7.0_45), al mostrar la advertencia de seguridad sobre los JAR firmados acompaña el siguiente texto: "Esta aplicación estará bloqueada en una futura actualización de seguridad de Java porque el archivo MANIFEST de JAR no contiene el atributo de permisos. Póngase en contacto con el publicador para obtener más información".


¿Qué significa esto?, pues que a partir de ahora y cuando Oracle quiera, sacará una actualización de Java (no necesariamente en el próximo parche) que dejará a nuestros Forms KO.

Ya hace unos cuantos parches que en la consola de Java ya lo estaba advirtiendo al cargar los archivos, pero la mayoría hizo caso omiso a ello.

Los archivos JAR dentro de la carpeta META-INF tienen que tener el archivo MANIFEST.MF con las siguientes líneas (puede haber más):

Codebase: *
Permissions: all-permissions

¿Cómo solucionarlo?, en mi caso tengo 3 tipo de JARS, los propios de Oracle, JARS propios y JARS de terceros.

  • Los propios de Oracle (frmall.jar, frmgeneric_laf.jar, frmmain.jar, frmoracle_laf.jar, frmresources.jar, frmwebutil.jar): Para estos Oracle ha publicado un parche que incluye el MANIFEST correcto, el parche es el 16837591 que se puede bajar del Metalink. Si no tienes acceso al Metalink puedes hacer lo mismo que explico con JARS de terceros.
  • JARS Propios. Estos los voy a dividir en 2 grupos (los de iconos y los generados con JDeveloper).
    • Iconos: Creamos un archivo MANIFEST.TXT en cualquier ubicación de nuestro disco, por ejemplo, C:\Temp\MANIFEST.TXT con el siguiente contenido:
Manifest-Version: 1.0
Codebase: * 
Created-By: 1.6.0_35 (Sun Microsystems Inc.)
Permissions: all-permissions
      • Generar el archivo JAR con el siguiente comando (suponemos que los iconos están en C:\Temp\iconos): jar cvfm c:\temp\archivoiconos.jar c:\MANIFEST.TXT C:\temp\iconos\*.gif

    • Jars desplegados con JDeveloper. Creamos un archivo dentro del proyecto de JDeveloper de texto plano con el siguiente contenido (NOTA: Hay que dejar un retorno de carro al final para que al hacer el despliegue meta las 2 líneas):
Codebase: *
Permissions: all-permissions
        • Al configurar el despliegue del archivo JAR, marcamos la check "Include Manifest File (META-INF/MANIFEST.MF) he indicamos en "Additional Manifest Files to Merge into MANIFEST.MF" la ruta al archivo que hemos creado anteriormente.

  • JARS de Terceros: Lo que hice en este caso, es descomprimirlos, modificar el MANIFEST.MF, borrar la firma que estaba en la carpeta META-INF, volver a comprimirlos en formato ZIP y luego cambiar la extensión a ".jar". Luego los volví a firmar con mi certificado de firma de código.

Una vez tenemos los JAR con el MANIFEST correcto y perfectamente firmados, los volvemos a colocar en $ORACLE_HOME/forms/java y reiniciamos el servicio de WLS_FORMS:

$DOMAIN_HOME/bin/stopManagedWebLogic.sh WLS_FORMS
$DOMAIN_HOME/bin/startManagedWebLogic.sh WLS_FORMS&

miércoles, 14 de agosto de 2013

Problema de arranque de Forms en Forms 11g

En algunos equipos me he encontrado el caso de que al intentar iniciar la aplicación desarrollada en Forms 11g, la pantalla del navegador se quedaba en blanco y no llegaba a cargar nunca. En estos casos lo primero que hay que hacer es borrar los "Archivos Temporales de Internet" de Java (Panel de Control -> Programas -> Java -> Botón Configuración -> Suprimir Archivos -> Marcar todas las checks y aceptar)


De paso que estamos ahí, comprobamos en la pestaña "Seguridad" que está marcada la check "Activar el contenido Java en el explorador".


Luego cerramos el navegador de Internet y lo volvemos a iniciar. Si aún así no funciona, hay que borrar la carpeta C:\Users\xxxxx\AppData\LocalLow\Sun\Java (cambiando xxxxx por el usuario correspondiente) y reiniciar el equipo completo.

miércoles, 10 de julio de 2013

Forms 6 en Oracle 12c

Al conectar Forms 6 con un Oracle 12c nos dará el siguiente mensaje de error y no nos dejará conectar:

ORA-28040: No coincide ningún protocolo de autenticación

El problema es que Oracle 12c por defecto bloquea los clientes de la versión 8 de Oracle, para habilitarlo hay que añadir en el archivo sqlnet.ora de la base de datos las siguientes líneas:

SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8

Una vez añadidas ya podemos conectar y usar cualquier producto de Oracle 8.



No he detectado ningún tipo de problema, pero hay que aclarar que esta configuración no está certificada por Oracle.

Las pruebas las he realizado con el parche 17 de Forms (6.0.8.26.0) en su versión Cliente / Servidor.

martes, 7 de mayo de 2013

Error instalando Forms 11: Aplicando Plantilla JRF de Oracle

Instalando Forms 11g Release 2 - 11.1.2.1.0 sobre un Oracle Enterprise Linux 6.4 de 64 bits y Oracle JRockit 6 - R28.2.7 parche 45, el proceso de creación del dominio falla en el punto "Aplicando Plantilla JRF de Oracle" - "Applying  Oracle JRF Template"



El mismo error también se produce con Oracle Enterprise Linux 5.6. 

En los logs no ayuda mucho los mensajes mensaje de error, en concreto falla al no encontrar un archivo Phyton en /tmp.

Después de múltiples pruebas encontré que el motivo del error era la versión de JRockit, en concreto el parche 45, con el parche 37 instala perfectamente sin problemas, es decir, en vez de usar "jrockit-jdk1.6.0_45-R28.2.7-4.1.0-linux-x64.bin" para la instalación hay que usar "jrockit-jdk1.6.0_37-R28.2.5-4.1.0-linux-x64.bin"

Desconozco si los parches entre el 38 y el 44 funcionan bien, sólo probé el 37 ya que es el que tenía disponible.


miércoles, 9 de enero de 2013

Problema en la instalación de Forms 11 en Windows

Me he encontrado con el problema de que durante la instalación de Forms 11g Release 2 en un Windows 8 de 64 bits la instalación se quedaba colgada en el punto "Reiniciando AdminServer", el problema estaba en el nombre del equipo que tenía un _ (guión bajo), para solucionarlo hay que cambiar el nombre del equipo para que no tenga guiones y reiniciar la instalación.