Différences des versions de SAAJ
L'interface SAAJ (SOAP with Attachments API for Java™) version 1.3 développe la prise en charge des messages SOAP 1.2 dans un environnement de services Web. Il existe plusieurs différences entre SAAJ 1.2 et SAAJ 1.3 ; elles sont présentées dans cette rubrique.
Dans un environnement de services Web standard, vous comptez sur le code sous-jacent basé sur des normes Java pour convertir un ensemble d'objets Java. L'interface SAAJ fournit des API qui permettent de lire, d'écrire et d'envoyer et de recevoir des messages SOAP et préconise le contenu binaire envoyé sous forme de pièce jointe à un message SOAP.
L'interface SAAJ 1.3 s'aligne sur les messages SOAP 1.1 et SOAP 1.2 et est prise en charge par le modèle de programmation JAX-WS (Java API for XML Web Services) et le modèle de programmation JAX-RPC (Java API for XML-Based RPC). SAAJ 1.2 ne gère que les messages SOAP 1.1.
String text = soapFault.getFaultString();
getFaultString () renvoie la valeur faultString si le message est basé sur SOAP 1.1. Si vous utilisez SOAP 1.2, getFaultString () renvoie la valeur Reason. En outre, l'interface SAAJ 1.3 fournit une nouvelle méthode, getReasonText (Locale), qui extrait une valeur Reason spécifique. La méthode getReasonText (Locale) renvoie une exception documentée si le message est basé sur SOAP 1.1. L'interface SAAJ 1.3 prend en charge le code existant pour traiter les messages SOAP 1.1 et SOAP 1.2.Les autres différences entre SAAJ 1.2 et SAAJ 1.3 sont présentées dans la liste suivante :
- Interface SAAJMetaFactory
L'interface SPI SAAJMetaFactory est introduite pour prendre en charge la création de classes de fabrique SOAP dans un emplacement unique.
- Classe SAAJResult
L'objet SAAJResult sert de collecteur pour les résultats d'une transformation JAX-P (Java API for XML Processing) ou d'une conversion de paramètres JAXB (Java Architecture for XML Binding) dans l'arborescence SAAJ. La classe SAAJResult est introduite pour une convivialité améliorée lorsque les résultats de la transformation sont censés être une arborescence SAAJ valide.
- Méthodes surchargées acceptant un QName à la place d'un Name
Il est préférable qu'un QName représente un nom qualifié XML. Les méthodes surchargées sont donc introduites dans toutes les API SAAJ où une méthode correspondante accepte un nom javax.xml.soap.Name comme argument.
- Nouvelles méthodes dans les interfaces et classes AttachmentPart, SOAPBody et SOAPElement
Ces nouvelles méthodes vous sont utiles lors de la gestion des nouvelles fonctions SOAP.
- SOAPPart correspond désormais à une méthode javax.xml.soap.Node.
L'objet SOAPPart est maintenant considéré également comme une méthode de noeud SOAP.
Pour obtenir la liste complète des normes et spécifications prises en charge, voir les spécifications des services Web et la documentation des API.