0% encontró este documento útil (0 votos)
394 vistas3 páginas

Consumir Un Web Service Desde Oracle 9i Forms

Este documento describe cómo consumir un servicio web desde Oracle 9i Forms. Explica los pasos para crear un stub del servicio web usando JDeveloper, empaquetarlo en un archivo JAR e importar la clase Java resultante en un formulario de Oracle Forms para llamar el servicio web y mostrar los resultados.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
394 vistas3 páginas

Consumir Un Web Service Desde Oracle 9i Forms

Este documento describe cómo consumir un servicio web desde Oracle 9i Forms. Explica los pasos para crear un stub del servicio web usando JDeveloper, empaquetarlo en un archivo JAR e importar la clase Java resultante en un formulario de Oracle Forms para llamar el servicio web y mostrar los resultados.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 3

Consumir un Web service desde Oracle 9i Forms

Oracle9i AS Forms Services provee una completa plantilla de aplicación para


desplegar aplicaciones empresariales en Internet con una rica interface en Java. Una
característica importante de Oracle Forms es que éste provee elementos de
integración que permiten a Forms comunicarse con otras tecnologías.
Una de las tecnologías más populares en la actualidad son los Web services. Un Web
Service puede ser usado para encapsular cualquier tipo de informacion del negocio
desde una completa aplicacion para prestar un servicio simple. Oracle Forms le
permite integrar fácilmente Web services con una aplicacion de Forms , através del
uso del Importador de Java.

Llamando un Web Service desde Forms


Para llamar un Web Service desde una aplicación Forms, se deben completar
principalmente dos etapas. La primera es la creación del Web Service Stub, usando
Oracle 9i Jdeveloper, y la segunda es llamar el stub desde la aplicación Forms.
Crear el Web Service Stub
El primer paso será crear el Web Service Stub . En este ejemplo, usaremos un
WebService simple disponible en Internet el cual ofrece el servicio de conversión de
moneda. El Web Service está definido por su WSDL. Usaremos Oracle 9i JDeveloper
para crear el Web Service Stub. Este stub es una clase Java la cual ofrece la interfaz
al Web Service y será la interface que será llamada por Forms.

En Oracle JDeveloper 9i dentro de new project seleccionar File> New> General>


1. Web Services>Web Service Stub/Skeleton y presionar OK
Si aparece la pantalla de Bienvenida presione Next> para ir a la pantalla 1 de 2.
En esta pantalla, en el campo WSDL Document URL ingrese el nombre de la URL
2. que apunta al WDSL del Web Service. Para nuestro ejemplo será:
http://www.xmethods.net/sd/2001/CurrencyExchangeService.wsdl
Presione Next>
La pantalla 2 de 2 muestra las opciones disponibles para ser llamadas en este
3. Web Service. Estas deberían ser seleccionadas por defecto, presionando Finish.
JDeveloper crea automáticamente el código requerido para llamar el Web Service.
4. Ahora Guarde el proyecto y reconstrúyalo.
(Paso opcional). Cuando ud ejecuta un Web Service Stub, desde JDeveloper, la
configuración del proxy es leída del IDE ( Tools > Preferences > Web
Browser/Proxy ). Ya que ud llamará el Web Service Stub desde Forms, ud debe
definir la configuración del proxy en el código. Si está usando un proxy, entonces
tiene que reemplazar la siguiente línea en el constructor
CurrencyExchangeServiceStub.
5. Reemplace:
m_httpConnection = new OracleSOAPHTTPConnection();
por:
Properties prop = new Properties();
prop.setProperty(OracleSOAPHTTPConnection.PROXY_HOST, "myproxy");
prop.setProperty(OracleSOAPHTTPConnection.PROXY_PORT,"80");
m_httpConnection = new OracleSOAPHTTPConnection(prop);
6. El siguiente paso será empaquetar todos los archivos relevantes en un solo
archivo JAR.
Seleccione File > New > General > Deployment Profiles > JAR File - Simple
Archive y presione OK
Un cuadro de diálogo aparecerá mostrando el nombre y la localización del
descriptor de despliegue. Acepte los valores por defecto y presione Save.
Aparecerá ahora el cuadro de diálogo para la configuración del profile del
7. despliegue del JAR. Seleccione Dependency Analyzer y chequee el cuadro para
Oracle SOAP . Presione luego OK .
Esto creará un nodo de despliegue en el navegador del sistema. Seleccione el
8. nodo, click derecho y seleccione Deploy to JAR File. Esto guardará el archivo
JAR a disco. Tenga en cuenta la ruta completa y el nombre del archivo JAR.

Crear la forma
Se asume que para esta parte del ejercicio, ud tiene una instalación de Oracle Forms
9i funcionando correctamente .
Una vez ha creado el Web Service Stub, el siguiente paso es crear un formulario para
llamar el Web Service. Para hacer esto tan sencillo como sea posible, simplemente
adicionaremos un botón con el cual se llamará el Web Service y retornará la tasa de
cambio. Esto, por supuesto, puede ser elaborado acorde con las necesidades de su
aplicación.

Seleccione Start > Settings > Control Panel . Doble click en System, luego click
en la pestaña Advanced y entonces click en el botón Environment Variables. De
1. las variables del sistema, seleccione CLASSPATH y luego presione Edit. Adicione
el nombre del directorio completo al archivo JAR creado en el anterior paso 7.
Presione el boton OK para cerrar el diálogo.
El siguiente paso es actualizar el archivo de ambiente de Forms para indicar la
localización del archivo Jar , esto es, modificar el archivo default.env.
Adicione la ruta completa del directorio y el nombre de archivo del Jar a la entrada
2. CLASSPATH.
Ejm.
CLASSPATH =
D:\9.0.4.11.71\jdev\mywork\Webservice\Project1\deploy\archive1.jar;D:\...
3. Inicie Oracle9 i Forms y cree un nuevo formulario. Cree un bloque y un lienzo.
Seleccione Program > Import Java Classes y seleccione la clase Java creada en
4. JDeveloper. Presione Import. Esto creará un paquete PL/SQL para la clase Java
CurrencyExchangeServiceStub.
Cambie el campo Import Classes a java.lang.Float y presione Import. Esto creará
un paquete PL/SQL para la clase Java Float. Esto es necesario porque el
5. CurrencyExchangeServiceStub retorna un objeto de tipo Float. Este tipo de dato
no es nativo de Forms y por lo tanto debe ser importado el objeto Float.
Cambie el campo Import Classes a java.lang.Exception y presione Import. Esto
creará un paquete PL/SQL para la clase Java Exception. Aunque esto no es
6. esencial, facilita la captura y reporte de errores/excepciones. Presione luego Close
para ocultar el cuadro de diálogo.
7. Adicione un botón al liezo y en el trigger When-Button-Pressed adicione el
siguiente código:
DECLARE
jo ora_java.jobject;
rv ora_java.jobject;
ex ora_java.jobject;
BEGIN
jo := CurrencyExchangeServiceStub. new ;
--
--This will get the exchange rate from US Dollars to UK Sterling.
--
rv := CurrencyExchangeServiceStub.getRate ( jo,' USA ',' UK ' ) ;
message ( float_.floatValue ( rv )) ;
EXCEPTION
WHEN ORA_JAVA.JAVA_ERROR then
message ( ' Unable to call out to Java, ' || ORA_JAVA.LAST_ERROR ) ;
WHEN ORA_JAVA.EXCEPTION_THROWN then
ex := ORA_JAVA.LAST_EXCEPTION;
message ( Exception_.toString ( ex )) ;
END ;
Esto llamará la clase Java con dos parámetros y retornará la tasa de cambio, a
través de un mensaje de Forms.
Ejecute el formulario y presione el botón. Este ahora mostrará la tasa de cambio
8. de moneda US a UK.

También podría gustarte