Maison > Java > javaDidacticiel > Comment puis-je créer un client SOAP fonctionnel en Java à l'aide de SAAJ ?

Comment puis-je créer un client SOAP fonctionnel en Java à l'aide de SAAJ ?

Linda Hamilton
Libérer: 2024-11-07 13:59:02
original
869 Les gens l'ont consulté

How can I create a functional SOAP client in Java using SAAJ?

Fournir un client SOAP fonctionnel utilisant SAAJ

Introduction

SOAP, l'accès simple aux objets Le protocole est largement utilisé pour la communication des services Web. L'implémentation de clients SOAP en Java peut être simple, notamment avec l'aide du framework SAAJ (SOAP with Attachments API for Java). Cet article présente un exemple fonctionnel de client SOAP créé avec SAAJ et fournit des conseils pour l'utilisation du framework.

SAAJ pour les clients SOAP

SAAJ propose un ensemble complet d'API. pour gérer les messages SOAP. Il permet aux développeurs de créer, d'envoyer et de recevoir directement des messages SOAP, offrant ainsi une flexibilité dans l'interaction avec les services Web. SAAJ fait partie du standard Java SE, ce qui le rend facilement disponible à des fins de développement.

Exemple de client SOAP fonctionnel

L'extrait de code suivant présente un client SOAP fonctionnel utilisant SAAJ :

import javax.xml.soap.*;

public class SOAPClientSAAJ {

    // SAAJ - SOAP Client Testing
    public static void main(String args[]) {
        // SOAP Endpoint URL and SOAP Action
        String soapEndpointUrl = "http://www.webservicex.net/uszip.asmx";
        String soapAction = "http://www.webserviceX.NET/GetInfoByCity";

        callSoapWebService(soapEndpointUrl, soapAction);
    }

    private static void createSoapEnvelope(SOAPMessage soapMessage) throws SOAPException {
        // Namespace and URI
        String myNamespace = "myNamespace";
        String myNamespaceURI = "http://www.webserviceX.NET";

        // SOAP Envelope
        SOAPPart soapPart = soapMessage.getSOAPPart();
        SOAPEnvelope envelope = soapPart.getEnvelope();
        envelope.addNamespaceDeclaration(myNamespace, myNamespaceURI);

        // SOAP Body
        SOAPBody soapBody = envelope.getBody();
        SOAPElement soapBodyElem = soapBody.addChildElement("GetInfoByCity", myNamespace);
        SOAPElement soapBodyElem1 = soapBodyElem.addChildElement("USCity", myNamespace);
        soapBodyElem1.addTextNode("New York");
    }

    private static void callSoapWebService(String soapEndpointUrl, String soapAction) {
        try {
            // Create SOAP Connection
            SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance();
            SOAPConnection soapConnection = soapConnectionFactory.createConnection();

            // SOAP Message and SOAP Request
            SOAPMessage soapRequest = createSOAPRequest(soapAction);

            // Send SOAP Message and Receive Response
            SOAPMessage soapResponse = soapConnection.call(soapRequest, soapEndpointUrl);

            // Print Response
            soapResponse.writeTo(System.out);

            // Close Connection
            soapConnection.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private static SOAPMessage createSOAPRequest(String soapAction) throws Exception {
        // Message Factory and SOAP Message
        MessageFactory messageFactory = MessageFactory.newInstance();
        SOAPMessage soapMessage = messageFactory.createMessage();

        // Create Soap Envelope
        createSoapEnvelope(soapMessage);

        // Set MIME Headers and Soap Action
        MimeHeaders headers = soapMessage.getMimeHeaders();
        headers.addHeader("SOAPAction", soapAction);

        // Save Changes and Print Request
        soapMessage.saveChanges();
        soapMessage.writeTo(System.out);

        return soapMessage;
    }

}
Copier après la connexion

Exécuter l'exemple

Pour exécuter cet exemple, placez-le dans un fichier nommé SOAPClientSAAJ.java et compilez-le à l'aide d'un compilateur Java. Exécutez la classe compilée et elle appellera le service Web spécifié dans le code pour récupérer des informations sur la ville « New York ». La réponse sera imprimée sur la console.

Conclusion

Cet article complet fournit des conseils sur la mise en œuvre de clients SOAP en Java à l'aide du framework SAAJ. L'exemple fonctionnel présentant un client SOAP appelant un service Web peut être utilisé comme référence pour créer vos propres solutions basées sur SOAP. En tirant parti des capacités de SAAJ, les développeurs peuvent créer des clients SOAP robustes qui interagissent de manière transparente avec divers services Web.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal