Llamar a servicios web
En MapForce puede insertar una llamada a servicio web en una asignación de datos parecida a una función, conectar componentes de entrada y salida a la llamada al servicio web y consumir el resultado según proceda (por ejemplo, puede consultar la vista previa en la ventana de resultados de MapForce, pasar el resultado a otro componente o escribirlo en un archivo).
Una llamada a un servicio web creada con MapForce se puede ejecutar directamente con MapForce o con MapForce Server, en un equipo o incluso una plataforma distintos. MapForce Server puede ejecutar asignaciones desde la interfaz de la línea de comandos, como una llamada a API o como un trabajo de FlowForce Server (véase Automatización con MapForce Server).
MapForce también permite diseñar servicios web SOAP y generar código Java o C# para implementar servicios web SOAP. Para más información consulte Implementar servicios web SOAP.
Servicios web compatibles
MapForce permite llamar a servicios web de tipo WSDL y REST (detalles a continuación).
•Si se trata de un servicio web de tipo WSDL, deberá aportar a MapForce el archivo WSDL (lenguaje de definición de servicio web) del servicio web al que se debe llamar. MapForce utiliza el archivo WSDL para comunicarse con el servidor web. Si el archivo WSDL implementa varios servicios, extremos y operaciones, podrá seleccionarlos y actualizarlos en MapForce directamente.
•Si se trata de un servicio web que no sea WSDL, deberá introducir los detalles del servicio web (i) a mano o (ii) automáticamente (importando un archivo WADL o una URL). Es decir, deberá indicar la URL, el método de solicitud (p. ej. GET, POST o PUT), la estructura de solicitud y de respuesta (como esquema XML, JSON o tipos MIME personalizados) y los parámetros.
Servicios web REST y WSDL
Esta tabla contiene los detalles de compatibilidad de los servicios web de tipo REST y de tipo WSDL en MapForce.
Función | Tipo REST | Tipo WSDL |
---|---|---|
Lenguaje de la asignación | BUILT-IN | BUILT-IN, C#, Java |
Automatización con MapForce Server | Sí | Sí, cuando el lenguaje es "BUILT-IN" |
Protocolos | HTTP (GET, POST, PUT, DELETE, verbos personalizados) | •SOAP 1.1, 1.2 en HTTP •Servicios no SOAP en HTTP |
Estructuras de solicitud/respuesta | •XML •JSON •Protocol Buffers •Tipos MIME personalizados | Mensaje SOAP |
Seguridad | •HTTP/HTTPS •Certificados de servidor •Certificados de cliente •Autenticación HTTP •Autenticación preventiva •Autorización OAuth | •HTTP/HTTPS •Certificados de servidor •Certificados de cliente* •Autenticación HTTP •Autenticación preventiva* •WS-Security* (seguridad en servicios web) •Autorización OAuth*
* No compatible con C# y Java. |
Definición del servicio de importación | Opcional, desde archivo WADL | Desde archivo WSDL (obligatorio) |
Parámetros de importación desde URL | Sí | No aplica |
URL dinámica | Puede proporcionar los parámetros de la URL a la asignación o puede guardarlos directamente con la asignación y así hacerlos fijos. El URL de base siempre se debe definir en la asignación (véase también Definir los parámetros del servicio web). | Puede suministrar el URL del servicio web como parámetro a la asignación o puede hacerlo fijo (guardarlo junto con la asignación). |
Límite de tiempo1 | Sí | Sí |
Autenticación dinámica2 | Sí | Sí |
Observaciones:
1."Límite de tiempo" significa que puede configurar en MapForce el intervalo de tiempo tras el cual se agota el tiempo de la llamada si el servidor web no responde.
2."Autenticación dinámica" significa que puede proporcionar los detalles de autenticación (nombre de usuario, contraseña) desde la asignación (o como un parámetro para la asignación) en lugar de introducirlos en un cuadro de diálogo y guardarlos junto con la asignación. Para más detalles consulte el apartado Autenticación dinámica.
Servicios web WSDL
En el caso de los servicios web de tipo WSDL puede usar estos protocolos:
•SOAP 1.1, 1.2 en HTTP: se admiten tanto el estilo RPC/Codificado como el estilo Document/Literal. Si el servicio web devuelve un error WSDL, entonces se detiene la ejecución de la asignación. En esos casos puede optar por insertar un componente de excepción en el área de la asignación para gestionar el error. Si el servidor web devuelve un error que no es WSDL, entonces se detiene la ejecución de la asignación y se devuelve un mensaje de error (o aparece en la pantalla, si está abierta la vista previa de la asignación).
•No SOAP en HTTP: este protocolo hace referencia a servicios HTTP no SOAP, que son algo menos comunes. Si usa HTTP GET se admite el estilo url.encoded. Si usa HTTP-POST, entonces se admiten los estilos url-encoded y text/xml.