Rumah > Java > javaTutorial > teks badan

Bagaimanakah saya boleh mencipta klien SOAP berfungsi di Jawa menggunakan SAAJ?

Linda Hamilton
Lepaskan: 2024-11-07 13:59:02
asal
689 orang telah melayarinya

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

Menyediakan Klien SOAP Berfungsi Menggunakan SAAJ

Pengenalan

SOAP, Akses Objek Mudah Protokol, digunakan secara meluas untuk komunikasi perkhidmatan web. Melaksanakan klien SOAP di Java boleh menjadi mudah, terutamanya dengan bantuan rangka kerja SAAJ (SOAP dengan Attachments API untuk Java). Artikel ini membentangkan contoh kerja klien SOAP yang dibuat dengan SAAJ dan menyediakan panduan untuk menggunakan rangka kerja.

SAAJ untuk Pelanggan SOAP

SAAJ menawarkan set API yang komprehensif untuk mengendalikan mesej SOAP. Ia membolehkan pembangun membuat, menghantar dan menerima mesej SOAP secara langsung, memberikan kefleksibelan dalam berinteraksi dengan perkhidmatan web. SAAJ ialah sebahagian daripada Java SE standard, menjadikannya tersedia untuk tujuan pembangunan.

Contoh Klien SOAP Bekerja

Coretan kod berikut mempamerkan klien SOAP berfungsi menggunakan 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;
    }

}
Salin selepas log masuk

Menjalankan Contoh

Untuk menjalankan contoh ini, letakkannya dalam fail bernama SOAPClientSAAJ.java dan susunkannya menggunakan pengkompil Java. Laksanakan kelas yang disusun, dan ia akan memanggil perkhidmatan web yang dinyatakan dalam kod untuk mendapatkan maklumat tentang bandar "New York." Respons akan dicetak pada konsol.

Kesimpulan

Artikel komprehensif ini memberikan panduan tentang melaksanakan klien SOAP di Java menggunakan rangka kerja SAAJ. Contoh kerja yang mempamerkan klien SOAP yang memanggil perkhidmatan web boleh digunakan sebagai rujukan untuk membina penyelesaian berasaskan SOAP anda sendiri. Dengan memanfaatkan keupayaan SAAJ, pembangun boleh mencipta pelanggan SOAP yang mantap yang berinteraksi dengan lancar dengan pelbagai perkhidmatan web.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mencipta klien SOAP berfungsi di Jawa menggunakan SAAJ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!