Diferenças nas Versões de SOAP
O SOAP Versão 1.1 e o SOAP Versão 1.2 são padrões do W3C (World Wide Web Consortium). Podem ser implementados serviços da Web que suporte não apenas o SOAP 1.1, mas também o SOAP 1.2. algumas alterações do SOAP 1.1 feitas na especificação SOAP 1.2 são significativas, enquanto outras são de menor importância.
A especificação SOAP 1.2 apresenta várias alterações para o SOAP 1.1. Essas informações não devem ser consideradas uma descrição aprofundada de todos os recursos novos ou alterados do SOAP 1.1 e SOAP 1.1. Em vez disso, essas informações destacam algumas das diferenças mais importantes entre as versões atuais de SOAP.
- A SOAP 1.1 está baseada em XML 1.0. A SOAP 1.2 está baseada no Conjunto de Informações XML (XML Infoset).
O conjunto de informações XML (infoset) fornece uma maneira de descrever o documento XML com esquema XSD. Entretanto, o infoset não serializa necessariamente o documento com a serialização de XML 1.0 na qual a SOAP 1.1 se baseia. Essa nova maneira de descrever o documento XML ajuda a revelar outros formatos de serialização, como um formato de protocolo binário. É possível usar o formato de protocolo binário para compactar a mensagem em um formato compacto, em que algumas informações de tag detalhadas podem não ser necessárias.
Na SOAP 1.2 , você pode usar a especificação de uma ligação para um protocolo básico a fim de determinar qual serialização XML é usada nas unidades de dados de protocolo básico. A ligação HTTP especificada na SOAP 1.2 - Parte 2 usa XML 1.0 como a serialização do infoset de mensagem SOAP.
- A SOAP 1.2 fornece a capacidade de definir oficialmente os protocolos de transação, além dos que usam HTTP, enquanto o fornecedor se adapta à estrutura de ligação definida na SOAP 1.2. Enquanto o HTTP for ubíquo, ele não será tão confiável quanto outros transportes incluindo TCP/IP e MQ.
- A SOAP 1.2 fornece uma definição mais específica do modelo de processamento SOAP que elimina muitas das ambigüidades que podem levar a erros de interoperabilidade na ausência dos perfis WS-I (Web Services-Interoperability). A meta é reduzir significativamente as chances de problemas de interoperabilidade entre diferentes fornecedores que usam implementações SOAP 1.2.
- O SAAJ (SOAP with Attachments API for Java™) também pode ser independente como um mecanismo simples para emitir pedidos SOAP. Uma alteração importante na especificação SAAJ é a capacidade de representar mensagens SOAP 1.1 e as mensagens formatadas SOAP 1.2. Por exemplo, o SAAJ Versão 1.3 introduz um novo conjunto de constantes e métodos mais condutivos para SOAP 1.2 (como as getRole(), getRelay()) em elementos de cabeçalho SOAP. Há também métodos adicionais nas fábricas para o SAAJ para a criação de mensagens apropriadas do SOAP 1.1 ou SOAP 1.2.
- Os espaços de nomes XML para esquemas de envelope e de codificação mudaram para SOAP 1.2. Essas alterações se distinguem dos processadores de SOAP de menagens SOAP 1.1 e SOAP 1.2 e suportam alterações no esquema SOAP, sem afetar as implementações existentes.
- O JAX-WS (Java Architecture for XML Web Services) introduz a capacidade de suportar o SOAP 1.1 e o SOAP 1.2. Como o JAX-RPC introduziu um requisito para manipular uma mensagem SOAP de acordo com a passagem do tempo de execução, surgiu a necessidade de representar essa mensagem em seu contexto SOAP apropriado. No JAX-WS, um número de aprimoramentos adicionais resulta no suporte ao SAAJ 1.3.
- A especificação WSDL (Web Services Description Language) Versão 1.1 não discute a SOAP 1.2. A SOAP 1.2 é discutida nas versões de rascunho de WSDL 2.0. O WSDL Versão 1.1 define apenas como representar a carga útil de SOAP 1.1 em um documento WSDL 1.1. Para determinar como representar serviços baseados em SOAP 1.2, há outro documento W3C que delimita como definir uma carga útil de SOAP 1.2 em um documento WSDL 1.1. Leia sobre as extensões de ligação de WSDL 1.1 para SOAP 1.2.
- O SOAP 1.1 é um documento exclusivo. A especificação SOAP 1.2 é organizada nas seguintes partes:
- A parte 0 é uma introdução não normativa ao SOAP.
- A parte 1 descreve a estrutura de mensagens SOAP, o modelo de processo SOAP e uma estrutura para ligação de SOAP nos protocolos básicos. As implementações SOAP de conformidade devem implementar tudo na Parte 1.
- A parte 2 descreve suplementos opcionais para o núcleo do SOAP, incluindo um modelo de dados e codificação, uma convenção de RPC e uma ligação para HTTP. As implementações SOAP adequadas podem implementar qualquer um dos suplementos na Parte 2. Entretanto, se os suplementos forem implementados, eles deverão estar de acordo com as partes relevantes da especificação.
A SOAP 1.2 tem várias alterações na sintaxe e fornece semântica adicional explicada com base no que é descrito na SOAP 1.1. O documento SOAP 1.2 Primer lista e descreve as alterações dessa sintaxe.