Nutzung der REST-Schnittstelle mittels webPDF wsclient

Minimale technische Voraussetzungen

  • Java version: 7
  • webPDF version: 7
  • wsclient version: 1

Bild Glühbirne: Anleitung - Tutorial

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.

  1. Login über die Session
  2. Zugriff auf den DocumentManager
  3. 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