Nutzung der REST-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 REST-Schnittstelle anzusprechen.
Falls noch nicht geschehen, empfiehlt sich zuvor der Beitrag: webPDF und Java: mit der wsclient-Bibliothek ganz einfach.
Den Beitrag zur SOAP-Schnittstelle finden Sie hier: Nutzung der SOAP-Schnittstelle mittels webPDF wsclient
Der erste REST-Webserviceaufruf
Im folgenden Beispiel betrachten wir den grundlegenden Aufruf eines webPDF-REST-Webservices mit wsclient. Exemplarisch verwenden wir den Converter-Webservice; das Muster gilt analog für andere Webservices.
Verbindungsherstellung über RestSession
Zunächst wird die Verbindung zum webPDF-Server aufgebaut und eine Session erzeugt:
RestSession session = SessionFactory.createInstance(
WebServiceProtocol.REST,
new URL("https://localhost:8080/webPDF/")
);
Wichtig: Die Session sollte am Ende geschlossen werden, z. B. über session.close() oder per try-with-resources.
Login und Wahl des Quelldokuments
Bei REST muss das Quelldokument zuerst zum Server hochgeladen werden.
- Login über die Session
- Zugriff auf den
DocumentManager - Upload des Quelldokuments
session.login();
RestDocument sourceDocument =
session.getDocumentManager()
.uploadDocument(new File("Pfad des Quelldokuments"));
Das resultierende RestDocument verwaltet anschließend den Zugriff auf das hochgeladene Dokument.
Wahl und Konfiguration des Webservices
Der gewünschte Webservice wird über WebServiceFactory und WebServiceType ausgewählt:
ConverterRestWebService converterWebService =
WebServiceFactory.createInstance(session, WebServiceType.CONVERTER);
Danach wird das Quelldokument gesetzt:
converterWebService.setDocument(sourceDocument);
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(). Bei Erfolg erhalten Sie ein RestDocument als Ergebnis:
RestDocument resultDocument = converterWebService.process();
Das Ergebnisdokument kann anschließend heruntergeladen und in einen beliebigen OutputStream geschrieben werden, z. B. in eine Datei:
try (FileOutputStream outputStream = new FileOutputStream(new File("Pfad des Zieldokuments"))) {
resultDocument.downloadDocument(outputStream);
}
Bei Fehlern wird eine ResultException geworfen und sollte in einem catch-Block behandelt werden.
Gesamtbeispiel
try (
RestSession session = SessionFactory.createInstance(
WebServiceProtocol.REST,
new URL("https://localhost:8080/webPDF/")
)
) {
session.login();
RestDocument sourceDocument = session.getDocumentManager()
.uploadDocument(new File("Pfad des Quelldokuments"));
ConverterRestWebService converterWebService =
WebServiceFactory.createInstance(session, WebServiceType.CONVERTER);
converterWebService.setDocument(sourceDocument);
converterWebService.getOperation().setJpegQuality(100);
converterWebService.getOperation().setDpi(300);
RestDocument resultDocument = converterWebService.process();
try (FileOutputStream outputStream = new FileOutputStream(new File("Pfad des Zieldokuments"))) {
resultDocument.downloadDocument(outputStream);
}
} 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