Inicio > Tech - Cloud > MCS: API que realice una llamada a un servicio web SOAP

MCS: API que realice una llamada a un servicio web SOAP

En uno de los post anteriores de Oracle Mobile Cloud Service ya mostramos cómo poder integrar un servicio REST a través de un connector. En este post  explicaremos que no es posible llamar directamente a un connector desde la API REST o el SDK de MCS, que lo adecuado es crear una Custom API e implementarla utilizando node.js para que llame a dicho connector.

El primer paso sería crear el connector, para ello nos tendremos que dirigir a la página ‘Connectors’, hacer clic en ‘New connector’ y seleccionar SOAP.

Aparecerá un pop-up al que deberemos proporcionar una serie de datos, entre ellos el WSDL del servicio web. En este caso vamos a usar un servicio web SOAP público que nos suministra datos del tiempo.

Con estos 2 simples pasos ya tendremos creado el connector y podremos configurar, por ejemplo, el timeout o las políticas de seguridad.

En este caso no  vamos a realizar ninguna configuración extra, con lo que nos podremos dirigir directamente al último paso, ‘Test’.

Como podéis ver, a pesar de estar consumiendo un servicio SOAP, éste nos permite introducir un payload JSON. Además, una de las principales ventajas de Oracle Mobile Cloud Service es que el SOAP Connector utiliza un traductor que transforma automáticamente el JSON (que vamos a utilizar) en un formato XML necesario para el servicio SOAP.

Si introducimos un código postal y hacemos clic en ‘Test endpoint‘ podremos ver que el servicio nos retorna el tiempo que va a hacer.

Al ver que funciona correctamente nuestro connector, ya podemos realizar la segunda parte, diseñar e implementar nuestra Custom API para realizar la llamada al connector. Para ello nos dirigiremos a la página APIs y haremos clic en ‘New API’.

En el pop-up introduciremos el nombre de nuestra API y, en el caso que ya estuviera diseñada podremos proporcionarle un fichero RAML.

Con el fin de probar nuestra API sin tener que autenticarnos, nos dirigiremos a la pestaña ‘Security’ y marcaremos la opción ‘Allow Anonymous User Access’.

El siguiente paso será crear el endpoint. Haremos clic en ‘New resource’ e introduciremos ‘{zipcode}‘. Este es el parámetro donde introduciremos el código postal que pasaremos al connector.

Después de crear el endpoint, podremos definir los tipos de operaciones que vamos a tener, en este caso necesitaremos un método GET.

Una vez hemos terminado de definir la API deberíamos implementarla. Nos dirigiremos a la pestaña ‘Implementation’ y descargaremos el ‘JavaScript scaffold’.

Dentro del zip que nos hemos descargado encontraremos 4 ficheros:

En el fichero package.json es donde vamos a definir las dependencias de nuestra API, en este caso el connector al que vamos a llamar.

En el fichero myweatherapi.js es donde tendremos que implementar la API. La tarea a realizar será la contraria a cuando llamamos a un REST Connector. En este caso tendremos que especificar la operación del servicio web que queremos ejecutarGetCityForecastByZIP‘. Para construir el objeto JSON tendremos que copiarlo directamente de la pantalla de ‘Test’ de la configuración de connector. Por último realizaremos una llamada POST al connector pasándole el código postal como parámetro.

Una vez hayamos terminado la implementación, empaquetaremos todo de nuevo en el zip y lo subiremos a Oracle MCS.

Ya hemos terminado y para comprobar que funciona podemos probar nuestra API. Para ello introduciremos el código postal, haremos clic en ‘Test endpoint’ y veremos que nos retorna el tiempo para dicha zona.

  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: