Diferencias en las versiones de SAAJ
La interfaz SAAJ (SOAP with Attachments API for Java™) Versión 1.3 amplía el soporte de los mensajes SOAP 1.2 en un entorno de servicios web. Existen varias diferencias entre SAAJ 1.2 y SAAJ 1.3 que se describen en este tema.
En un entorno de servicios web típico, se utiliza el código subyacente que se basa en estándares Java para convertir un conjunto de objetos Java. La interfaz SAAJ proporciona API para leer, escribir, enviar y recibir mensajes SOAP, y protege el contenido binario enviado como documento adjunto en un mensaje SOAP.
SAAJ 1.3 se alinea con los mensajes SOAP 1.1 y SOAP 1.2, y está soportado por el modelo de programación JAX-WS (Java API for XML Web Services) y el modelo de programación JAX-RPC (Java API for XML-Based RPC). SAAJ 1.2 sólo funciona con los mensajes SOAP 1.1.
String text = soapFault.getFaultString();
getFaultString () devuelve el valor faultString si el mensaje está basado en SOAP
1.1. Si utiliza SOAP 1.2, getFaultString () devuelve el valor Reason. Asimismo, la
interfaz SAAJ 1.3 proporciona un nuevo método, getReasonText (Locale), que obtiene
un valor Reason específico. El método getReasonText (Locale) devuelve una excepción
documentada si el mensaje se basa en SOAP 1.1. La interfaz SAAJ 1.3 da soporte al
código existente para procesar mensajes SOAP 1.1 y SOAP 1.2.Existen otras diferencias entre SAAJ 1.2 y SAAJ 1.3 que se describen en la siguiente lista:
- Interfaz SAAJMetaFactory
Se introduce la SPI SAAJMetaFactory para dar soporte a la creación de clases de fábrica SOAP en un único lugar.
- Clase SAAJResult
El objeto SAAJResult actúa como poseedor de los resultados de una transformación JAX-P (Java API for XML Processing) o una ordenación JAXB (Java Architecture for XML Binding) en el árbol SAAJ. Se introduce la clase SAAJResult para mejorar la utilización cuando se espera que los resultados de la transformación sean un árbol SAAJ válido.
- Métodos sobrecargados que aceptan un QName en lugar de un nombre
Es preferible que un QName represente un nombre cualificado XML. Por lo tanto, se introducen métodos sobrecargados en todas las API SAAJ, donde el método correspondiente acepta un nombre javax.xml.soap.Name como argumento.
- Nuevos métodos en las interfaces y las clases AttachmentPart, SOAPBody y
SOAPElement
Utilice estos nuevos métodos como ayuda cuando esté trabajando con las nuevas características SOAP.
- SOAPPart es ahora un método javax.xml.soap.Node.
El objeto SOAPPart se considera ahora también un método de nodo SOAP.
Para obtener una lista completa de los estándares y las especificaciones a los que se da soporte, consulte las especificaciones y la documentación de la API de los servicios Web.