Compatibilidad con SOAP y WSDL
Esta tabla resume qué protocolos, estándares, elementos, etc. son compatibles con MapForce.
WSDL | Versión 1.1, nota del W3C http://www.w3.org/TR/wsdl Versión 2.0, recomendación del W3C http://www.w3.org/TR/wsdl20/ |
Sistema de tipos WSDL | XML Schema 2001 |
SOAP | Versión 1.1: http://www.w3.org/TR/2000/NOTE-SOAP-20000508/ Versión 1.2: http://www.w3.org/TR/soap12-part0/ |
Protocolos | SOAP por HTTP (los protocolos HTTP POST, HTTP GET no son compatibles). |
C# | En cada operación de C# SOAPAction debe ser distinto. |
Enlaces | No se permite usar varias operaciones con el mismo nombre (sección 2.5 de la especificación WSDL 1.1). |
style/use | •Document/literal: compatible •RPC/literal: compatible en C# •RPC/encoded: compatibilidad limitada •Se admite un style/use por cada servicio web (Java) o por cada operación (C#) |
Encabezados SOAP | Depende de la plataforma subyacente. |
SOAP encodingStyle | Si use="encoded", se asume el estilo de codificación "http://schemas.xmlsoap.org/soap/encoding/" para soap:Body. No se admiten otros estilos de codificación.
El atributo encodingStyle se ignora en los mensajes (sección 4.1.1 de la especificación SOAP 1.1). |
Referencias | •No se admiten referencias a recursos externos (sección 5.4.1 de la especificación SOAP 1.1). •Se admiten referencias a elementos independientes. |
SOAP-ENC:Array | Se admite el acceso lineal. No se admiten matrices parciales ni matrices ralas. |
Mejoras SOAP personales | Incompatibles |
Valores fijos o predeterminados en esquemas | Incompatibles |
Validación de mensajes no SOAP | No se validan, se pasan al marco subyacente. |
Espacios de nombres | En WSDL no son válidas las entradas que no sean espacios de nombres y por tanto no son compatibles (WSDL y XML 1.0). |
WSDL 1.1
portType
Un elemento <portType> define una interfaz de servicio web, es decir:
•las operaciones que se pueden llevar a cabo y
•los mensajes que participan como entrada y salida de cada operación.
types
El elemento <types> define los tipos de datos que utiliza el servicio web. MapForce admite el uso de esquemas XML en archivos WSDL porque es el sistema de tipos más frecuente para archivos WSDL. MapForce muestra estos elementos (tipos de datos) como elementos del componente (mensaje), para que pueda crear asignaciones entre ellos y otros elementos o construcciones directamente.
message
El elemento <message> define las partes de cada mensaje y los elementos de datos de los parámetros de entrada y salida de una operación. Estos son los mensajes que intercambian el cliente y el servidor. Hay tres tipos de mensajes: de entrada, salida y error. En MapForce cada mensaje es un componente desde el que se pueden crear asignaciones de datos. Los mensajes pueden tener una o más partes.
Cuando se use la combinación document / literal en MapForce, es necesario que el mensaje o la parte de mensaje remita a un elemento global en lugar de a un tipo. Por ejemplo, en el fragmento de código siguiente, el atributo element remite a un elemento global definido en un esquema (ns2:Vendor):
<message name="processRequest"> |
Por el contrario, el siguiente ejemplo remite a un tipo del esquema:
<message name="processRequest"> |
operation
Las operaciones usan mensajes como parámetros de entrada y salida. Una operación puede tener:
•un mensaje de entrada
•cero o más mensajes de salida
•cero o más mensajes de error
Los mensajes de entrada solamente se pueden usar como componentes de origen. Los mensajes de salida y de error solamente se pueden usar como componentes de destino.
WSDL 2.0
WSDL 2.0 es bastante diferente de la especificación WSDL 1.1. Estas son las principales diferencias:
•Los elementos portType se llaman interfaces en WSDL 2.0.
•Los mensajes y las partes se definen usando el sistema de tipos de XML Schema en el elemento types de WSDL 2.0.
•Los puertos se llaman extremos en WSDL 2.0.
•Las entradas y salidas de las operaciones de WSDL 20. se definen en el esquema XML.
En MapForce el cuadro de diálogo "Configuración del componente" de un componente WSDL muestra el campo de entrada Extremo, tanto para los puertos WSDL 1.1 como para los extremos WSDL 2.0. |