Nutzung der SOAP-Schnittstelle mittels webPDF wsclient
Minimale technische Voraussetzungen
- Java version: 7
- webPDF version: 7
- wsclient version: 1

In diesem Beitrag zeigen wir, wie Sie die webPDF wsclient-Bibliothek in Java nutzen können, um webPDF-Webservices über die SOAP-Schnittstelle anzusprechen.
Falls noch nicht geschehen, empfiehlt sich zuvor der Beitrag zur Einführung: webPDF und Java: mit der wsclient-Bibliothek ganz einfach.
Einen Beitrag zur REST-Schnittstelle finden Sie hier: Nutzung der REST-Schnittstelle mittels webPDF wsclient
Der erste SOAP-Webserviceaufruf
Im folgenden Beispiel betrachten wir den grundlegenden Aufruf eines webPDF-SOAP-Webservices mit wsclient. Exemplarisch verwenden wir den Converter-Webservice; das Muster gilt analog für andere Webservices.
Verbindungsherstellung über SoapSession
Zunächst wird eine Verbindung zum webPDF-Server aufgebaut und eine Session erzeugt. Dazu instanziieren wir ein SoapSession-Objekt über die SessionFactory mit dem Protokoll SOAP und der URL des Servers:
SoapSession session = SessionFactory.createInstance(
WebServiceProtocol.SOAP,
new URL("https://localhost:8080/webPDF/")
);
Wichtig: Die Session sollte am Ende wieder geschlossen werden, z. B. über session.close() oder per try-with-resources.
Wahl von Quell- und Zieldokument
Für den Webservice-Aufruf werden Quelle und Ziel über ein SoapDocument definiert. In diesem Beispiel:
- Quelle: Datei (per URI)
- Ziel: Datei für das Ergebnis
SoapDocument soapDocument = new SoapDocument(
new File("Pfad des Quelldokuments").toURI(),
new File("Pfad des Zieldokuments")
);
Auch das SoapDocument sollte am Ende geschlossen werden.
Wahl und Konfiguration des Webservices
Der gewünschte Webservice wird über WebServiceFactory und WebServiceType ausgewählt:
ConverterWebService converterWebService =
WebServiceFactory.createInstance(session, WebServiceType.CONVERTER);
Danach wird das SoapDocument gesetzt:
converterWebService.setDocument(soapDocument);
Die Parametrisierung erfolgt über getOperation(). Welche Parameter verfügbar sind, hängt vom jeweiligen Webservice ab und ist in der webPDF-Parameterdokumentation beschrieben.
Beispiel:
converterWebService.getOperation().setJpegQuality(100);
converterWebService.getOperation().setDpi(300);
Ausführung, Auswertung und Abmeldung
Die Ausführung erfolgt über process():
converterWebService.process();
Bei Erfolg wird das Ergebnis in das Ziel des SoapDocument geschrieben. Bei Fehlern wird eine ResultException geworfen und sollte in einem catch-Block verarbeitet werden.
Gesamtbeispiel
try (
SoapSession session = SessionFactory.createInstance(
WebServiceProtocol.SOAP,
new URL("https://localhost:8080/webPDF/")
);
SoapDocument soapDocument = new SoapDocument(
new File("Pfad des Quelldokuments").toURI(),
new File("Pfad des Zieldokuments")
)
) {
ConverterWebService converterWebService =
WebServiceFactory.createInstance(session, WebServiceType.CONVERTER);
converterWebService.setDocument(soapDocument);
converterWebService.getOperation().setJpegQuality(100);
converterWebService.getOperation().setDpi(300);
converterWebService.process();
} catch (ResultException ex) {
// Fehlerbehandlung
}
Weiterführende Informationen
- Alle webPDF-Parameter: Parameter-Dokumentation
- SOAP mit wsclient: Nutzung der SOAP-Schnittstelle mittels webPDF wsclient
- REST mit wsclient: Nutzung der REST-Schnittstelle mittels webPDF wsclient