Bereitstellung eines funktionalen SOAP-Clients mit SAAJ
Einführung
SOAP, der einfache Objektzugriff Protokoll, wird häufig für die Kommunikation von Webdiensten verwendet. Die Implementierung von SOAP-Clients in Java kann unkompliziert sein, insbesondere mit Hilfe des SAAJ-Frameworks (SOAP with Attachments API for Java). Dieser Artikel stellt ein funktionierendes Beispiel eines mit SAAJ erstellten SOAP-Clients vor und bietet Anleitungen zur Verwendung des Frameworks.
SAAJ für SOAP-Clients
SAAJ bietet einen umfassenden Satz von APIs zur Verarbeitung von SOAP-Nachrichten. Es ermöglicht Entwicklern das direkte Erstellen, Senden und Empfangen von SOAP-Nachrichten und bietet so Flexibilität bei der Interaktion mit Webdiensten. SAAJ ist Teil des Standard-Java SE und somit für Entwicklungszwecke leicht verfügbar.
Beispiel für einen funktionierenden SOAP-Client
Der folgende Codeausschnitt zeigt einen funktionsfähigen SOAP-Client, der SAAJ verwendet :
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; } }
Ausführen des Beispiels
Um dieses Beispiel auszuführen, platzieren Sie es in einer Datei namens SOAPClientSAAJ.java und kompilieren Sie es mit einem Java-Compiler. Führen Sie die kompilierte Klasse aus und sie ruft den im Code angegebenen Webdienst auf, um Informationen über die Stadt „New York“ abzurufen. Die Antwort wird auf der Konsole gedruckt.
Fazit
Dieser umfassende Artikel bietet Anleitungen zur Implementierung von SOAP-Clients in Java mithilfe des SAAJ-Frameworks. Das Arbeitsbeispiel, das einen SOAP-Client zeigt, der einen Webdienst aufruft, kann als Referenz für die Erstellung Ihrer eigenen SOAP-basierten Lösungen verwendet werden. Mithilfe der Funktionen von SAAJ können Entwickler robuste SOAP-Clients erstellen, die nahtlos mit verschiedenen Webdiensten interagieren.
Das obige ist der detaillierte Inhalt vonWie kann ich mit SAAJ einen funktionsfähigen SOAP-Client in Java erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

In dem Artikel werden Maven und Gradle für Java -Projektmanagement, Aufbau von Automatisierung und Abhängigkeitslösung erörtert, die ihre Ansätze und Optimierungsstrategien vergleichen.

In dem Artikel werden benutzerdefinierte Java -Bibliotheken (JAR -Dateien) mit ordnungsgemäßem Versioning- und Abhängigkeitsmanagement erstellt und verwendet, wobei Tools wie Maven und Gradle verwendet werden.

In dem Artikel wird in der Implementierung von mehrstufigem Caching in Java mithilfe von Koffein- und Guava-Cache zur Verbesserung der Anwendungsleistung erläutert. Es deckt die Einrichtungs-, Integrations- und Leistungsvorteile sowie die Bestrafung des Konfigurations- und Räumungsrichtlinienmanagements ab

In dem Artikel werden mit JPA für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden erläutert. Es deckt Setup, Entity -Mapping und Best Practices zur Optimierung der Leistung ab und hebt potenzielle Fallstricke hervor. [159 Charaktere]

Mit der Klassenbelastung von Java wird das Laden, Verknüpfen und Initialisieren von Klassen mithilfe eines hierarchischen Systems mit Bootstrap-, Erweiterungs- und Anwendungsklassenloadern umfasst. Das übergeordnete Delegationsmodell stellt sicher


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

Dreamweaver CS6
Visuelle Webentwicklungstools

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),