Diferencias en las versiones de SOAP
SOAP Versión 1.1 y SOAP Versión 1.2 son estándares W3C (World Wide Web Consortium). Web Services se puede desplegar para dar soporte únicamente a SOAP 1.1 pero también para SOAP 1.2. Algunos cambios de SOAP 1.1 que se han realizado en la especificación SOAP 1.2 son importantes, pero otros son cambios menores.
La especificación SOAP 1.2 introduce varios cambios para SOAP 1.1. Esta información no está especialmente indicada como una descripción exhaustiva de todas las características nuevas y modificadas de SOAP 1.1 y SOAP 1.2. En su lugar, esta información resalta algunas de las diferencias más importantes entre las versiones actuales de SOAP.
- SOAP 1.1 está basado en XML 1.0. SOAP 1.2 está basado en el conjunto de
información XML (Infoset XML).
El conjunto de información XML (Infoset) proporciona una forma de describir el documento XML con el esquema XSD. No obstante, el Infoset no necesariamente serializa el documento con la serialización XML 1.0 en la que se basa SOAP 1.1. Esta nueva forma de describir el documento XML permite revelar otros formatos de serialización como, por ejemplo, un formato de protocolo binario. Puede utilizar el formato del protocolo binario para comprimir el mensaje en un formato compacto, en el que la información de codificación verbosa puede no ser necesaria.
En SOAP 1.2, puede utilizar la especificación de un enlace con un protocolo subyacente para determinar qué serialización XML se utiliza en las unidades de datos del protocolo subyacente. El enlace HTTP especificado en SOAP 1.2, Parte 2 utiliza XML 1.0 como la serialización del Infoset de mensajes SOAP.
- SOAP 1.2 ofrece la posibilidad de definir oficialmente los protocolos de transporte que no sean la utilización de HTTP, siempre que el proveedor se ajuste a la infraestructura de enlaces definida en SOAP 1.2. Aunque HTTP es ubicuo, no es tan seguro como otros transportes, incluidos TCP/IP y MQ.
- SOAP 1.2 proporciona una definición más específica del modelo de proceso SOAP que suprime muchas de las ambigüedades que pueden generar errores de interoperatividad cuando no existen perfiles WS-I (Web Services-Interoperability). El objetivo es disminuir de modo significativo la posibilidad de que existan problemas de interoperatividad entre distintos proveedores que utilizan implementaciones de SOAP 1.2.
- SAAJ (SOAP with Attachments API for Java™) también puede ser un simple mecanismo autónomo para emitir solicitudes SOAP. Una modificación importante de la especificación SAAJ es la posibilidad de representar los mensajes SOAP 1.1 y los mensajes adicionales con formato SOAP 1.2. Por ejemplo, SAAJ Versión 1.3 introduce un nuevo conjunto de constantes y métodos que resultan más propicios para SOAP 1.2 (por ejemplo, getRole(), getRelay()) en los elementos de las cabeceras SOAP. Existen también métodos adicionales en las fábricas de SAAJ para crear mensajes SOAP 1.1 o SOAP 1.2 adecuados.
- Se han modificado los espacios de nombres XML para los esquemas de sobre y codificación para SOAP 1.2. Estos cambios distinguen los procesadores SOAP de los mensajes SOAP 1.1 y SOAP 1.2, y permite modificar el esquema SOAP sin que resulten afectadas las implementaciones existentes.
- JAX-WS (Java Architecture for XML Web Services) introduce la posibilidad de dar soporte a SOAP 1.1 y a SOAP 1.2. Dado que JAX-RPC ha introducido un requisito para manipular un mensaje SOAP a medida que se traslada durante la ejecución, ha surgido la necesidad de representar este mensaje en su contexto SOAP adecuado. En JAX-WS, se obtienen varias mejoras adicionales a partir del soporte de SAAJ 1.3.
- La especificación WSDL (Web Services Description Language) Versión 1.1 no describe SOAP 1.2. SOAP 1.2 se describe en las versiones de borrador de WSDL 2.0. WSDL Versión 1.1 sólo define cómo se representa una carga de datos de SOAP 1.1 en un documento WSDL 1.1. Para resolver cómo se representan los servicios basados en SOAP 1.2, hay otro documento W3C que define cómo se define una carga de datos SOAP 1.2 en un documento WSDL 1.1. Consulte la información sobre las extensiones de enlace WSDL 1.1 para SOAP 1.2.
- SOAP 1.1 es un documento individual. La especificación SOAP 1.2 está organizada
en las partes siguientes:
- La parte 0 es una introducción a SOAP sin reglas.
- La parte 1 describe la estructura de los mensajes SOPA, el modelo de proceso SOAP y una infraestructura para enlazar SOAP con los protocolos subyacentes. Las implementaciones SOAP compatibles deben implementar todo lo que incluye la Parte 1.
- La parte 2 describe las adiciones opcionales de SOAP básico incluidos un modelo y la codificación de datos, un convenio RPC y un enlace con HTTP. Las implementaciones SOAP compatibles pueden implementar cualquiera de las incorporaciones de la Parte 2. No obstante, si se implementan incorporaciones, deben ajustarse a las partes relevantes de la especificación.
SOAP 1.2 tiene un número de cambios de sintaxis y proporciona una semántica adicional y clarificada a la que se describe en SOAP 1.1. El documento principal SOAP 1.2 lista y describe estos cambios de sintaxis.