Diferenças nas Versões de SAAJ
A interface SOAP with Attachments API for Java™ (SAAJ) Versão 1.3 expande o suporte das mensagens SOAP 1.2 em um ambiente de serviços da Web. Há várias diferenças entre o SAAJ 1.2 e o SAAJ 1.3 que são apresentadas neste tópico.
Em um ambiente típico de serviços da Web, você depende do código subjacente que tem como base as normas Java para converter um conjunto de objetos Java. A interface SAAJ fornece as APIs para ler, gravar, enviar e receber mensagens SOAP e defende o conteúdo binário enviado como um anexo a uma mensagem SOAP.
O SAAJ 1.3 alinha-se com as mensagens SOAP 1.1 e SOAP 1.2 e é suportado pelo modelo de programação JAX-WS (Java API for XML Web Services) e o modelo de programação JAX-RPC (Java API for XML-Based RPC). O SAAJ 1.2 trabalha apenas com mensagens SOAP 1.1.
String text = soapFault.getFaultString();
O
getFaultString () retornará o valor de faultString, se a mensagem for baseada no SOAP 1.1. Se você estiver usando o SOAP 1.2, o getFaultString () retornará o valor
Reason. Além disso, a interface SAAJ 1.3 fornece um novo método, getReasonText
(Código do Idioma), que obtém um valor Reason específico. O método getReasonText (Código do Idioma) retornará uma exceção documentada, se a mensagem for baseada no SOAP 1.1. A interface SAAJ 1.3 suporta o código existente para processar as mensagens de SOAP 1.1 e SOAP 1.2.Outras diferenças entre o SAAJ 1.2 e o SAAJ 1.3 estão na lista a seguir:
- Interface SAAJMetaFactory
A SAAJMetaFactory SPI é introduzida para suportar a criação de classes factory SOAP em um único lugar.
- Classe SAAJResult
O objeto SAAJResult atua como um portador para os resultados de uma transformação JAX-P (Java API for XML Processing) ou um marshalling de JAXB (Java Architecture for XML Binding) na árvore do SAAJ. A classe SAAJResult é introduzida para aprimoramento da utilização quando se espera que os resultados da transformação sejam uma árvore SAAJ válida.
- Métodos de sobrecarga que aceitam QName, e não Name
É preferido que um QName represente um nome qualificado XML. Portando, os métodos de sobrecarga são introduzidos em todas as APIs de SAAJ, em que um método correspondente aceita um nome javax.xml.soap.Name como um argumento.
- Novos métodos e classes nas interfaces AttachmentPart, SOAPBody e SOAPElement
Use esses novos métodos para auxiliá-lo quando estiver trabalhando com os novos recursos SOAP.
- SOAPPart agora é um método javax.xml.soap.Node.
O objeto SOAPPart também é considerado agora um método de nó SOAP.
Para obter uma lista completa de padrões e especificações suportados, consulte as especificações de serviços da Web e a documentação da API.