Servicios web
MapForce es compatible con servicios basados en WSDL y servicios web no WSDL. Los servicios web no WSDL incluyen una gran categoría de API HTTP genéricas que suelen denominarse API REST o API RESTful.
Acerca de los servicios web basados en WSDL
Un servicio web basado en WSDL utiliza un archivo WSDL (lenguaje de descripción de servicios web) para describir las operaciones del servicio, los mensajes de entrada y salida y los detalles de la red. Los archivos WSDL están basados en XML y suelen utilizar el protocolo SOAP, que define cómo se intercambian los mensajes entre un cliente y un servicio.
MapForce también le permite diseñar proyectos de servicios web SOAP y generar código Java o C# que implemente servicios web SOAP. Además, puede hacer una llamada a su servicio web SOAP y generar los datos de respuesta en cualquier formato compatible con MapForce. Si el archivo WSDL implementa varios servicios, extremos y operaciones, podrá seleccionarlos y actualizarlos en MapForce directamente.
Protocolos de los servicios basados en WSDL
En el caso de los servicios web basados en WSDL, puede usar estos protocolos:
•SOAP 1.1, 1.2 por HTTP: Son compatibles tanto el estilo RPC/Encoded 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 MapForce).
•Servicios no SOAP por HTTP: 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.
Acerca de las API HTTP
Las API HTTP suelen tener estructuras de solicitud o respuesta en la parte del cuerpo del mensaje. Estos son los tipos de datos que MapForce admite en el cuerpo de la solicitud y de la respuesta: JSON, XML, Protocol Buffers y cuerpos sin estructura con tipos MIME personalizados.
Para las API HTTP, puede introducir los detalles del servicio web a mano o automáticamente. Los detalles del servicio web incluyen una URL, un método de solicitud (por ejemplo, GET, POST, PUT), estructuras de solicitud y respuesta (por ejemplo, XML, JSON, tipos MIME personalizados) y parámetros.
XML y JSON
Puede utilizar esquemas JSON, XML o DTD para sus estructuras de solicitud/respuesta. MapForce también puede aceptar un archivo XML con una referencia de esquema válida. Además, también puede importar la definición del servicio web desde un archivo WADL y realizar los ajustes necesarios manualmente. Sin embargo, tenga en cuenta que WADL no ofrece ningún método estándar para definir estructuras JSON, solo estructuras XML.
Si dispone de un archivo de instancia XML o JSON de ejemplo sin un archivo de esquema, puede crear o generar el esquema con XMLSpy (https://www.altova.com/es/xmlspy.html). Si lo necesita, puede convertir la instancia XML en instancia JSON y viceversa desde Altova XMLSpy.
Protocol Buffers
En caso de que desee trabajar con solicitudes y respuestas de Protocol Buffers, necesitará un archivo .proto que describa el archivo binario de Protocol Buffers. En este caso, el cuerpo del servicio web se puede asignar a o desde un componente de Protocol Buffers. Para más información consulte Ejemplo: Leer datos de Protocol Buffers y Ejemplo: Escribir datos en Protocol Buffers.
Cuerpos sin estructura con tipos MIME personalizados
También puede llamar a servicios web cuya estructura de solicitud o de respuesta sea flexible y no dependa de un esquema en concreto. Para esos casos puede usar las funciones integradas mime de MapForce para crear un cuerpo base del mensaje que se envía a un servicio web (la entidad MIME) o procesar desde la asignación la entidad MIME devuelta por el servicio web.
API HTTP frente a servicios web basados en WSDL
La siguiente tabla resume los detalles de compatibilidad de las API HTTP y los servicios web basados en WSDL en MapForce.
Característica | API HTTP | basado en 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 por HTTP •Servicios no SOAP por 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* •Autorización OAuth*
* Solo compatible con Built-in. |
Definición del servicio | •Se puede definir manualmente •Se puede importar desde:
oun archivo WADL ouna URL oun archivo OpenAPI
| •Se debe importar de un archivo WSDL |
URL de servicio web dinámica | Puede indicar la URL completa del servicio web como parámetro de la asignación o definirla dentro de la asignación. También puede indicar partes específicas de la URL como parámetros de la asignación mientras la URL base se define en la asignación.
| Puede indicar la URL del servicio web como parámetro de la asignación o hacer que sea fija (guardada junto con la asignación). |
Tiempo de espera (El intervalo tras el cual la llamada debe expirar si el servidor web no responde)
| Sí | Sí |
Autenticación dinámica (Detalles de autenticación suministrados por la asignación o como parámetro de esta. Para más detalles, consulte Autenticación dinámica).
| Sí | Sí |