ELOenterprise ELO Digital Office GmbH Internes Skripting mit

Werbung
ELOenterprise®
ELO Digital Office GmbH
Internes Skripting mit Zugriff auf einen WebService
Stand: 6.00.088
Inhaltsverzeichnis
Internes Skripting mit Zugriff auf einen WebService ................................................................................ 1
Vorwort........................................................................................................................................................ 2
1
Klassen generieren ......................................................................................................................... 2
2
Einbindung der JAR-Datei .............................................................................................................. 2
2.1
Windows ............................................................................................................................... 2
2.2
Webstart ............................................................................................................................... 3
3
Verwendung im Skript .................................................................................................................... 3
ELO Digital Office GmbH, Entwicklungsdokumentation
Seite 1 von 3
ELOenterprise®
ELO Digital Office GmbH
Vorwort
Der Zugriff auf einen Web-Service von der Skripting-Schnittstelle des JAVA-Clients erfolgt anhand der „JAXWS“ Technologie. Um das Zugriffsprinzip zu veranschaulichen wurde als Beispiel der Web-Service mit der
folgenden Adresse verwendet: http://webservices.iter.dk/calculator.asmx
Dieser Web-Service stellt einen einfachen Taschenrechner dar, der zwei Zahlen addiert. In dieser Anleitung
wird gezeigt, wie die Webservice-Methode zum Addieren von zwei Zahlen aufgerufen werden kann. Es sind
folgende Schritte nötig.
1
Klassen generieren
Für den Zugriff auf den Webservice ist es notwendig passende Java-Klassen einmalig lokal zu generieren.
Dafür benötigen Sie das JDK Version 1.6 (oder neuer). Die Klassen werden anhand der WSDL-Datei des
Web-Services erzeugt, welche eine Beschreibung der vorhandenen Webservice-Methoden enthält.
Im bin-Verzeichnis des JDK (z.B. C:\Programme\Java\jdk1.6.0_07\bin) finden sie das JDK-Tool „wsimport“.
Der folgende Befehl erzeugt die Klassen:
wsimport -d C:\ -keep http://webservices.iter.dk/calculator.asmx?WSDL
Die Option „-d <Pfad>“ gibt an in welchem Verzeichnis die Klassen generiert werden. In diesem Beispiel wird
dem Laufwerk „C:“ ein Ordner namens „dk“ erstellt, welcher die weitere Klassengierachie enthält. Der Name
des erstellten Ordners entspricht dem Namen des obersten Packages der verwendeten JavaKlassenhierarchie. Üblicherweise ist dies ein Länderkürzel, in diesem Fall „dk“ für Dänemark.
Die Option „-keep“ generiert zusätzlich den Source-Code (java-Dateien). Dies ist optional, allerdings sind die
Java-Dateien sehr hilfreich um einen Einblick in die zur Verfügung stehenden Methoden zu bekommen.
Der generierte Ordner muss in eine JAR-Datei gepackt werden. Dies ermöglicht das JDK-Tool jar. In unserem
Beispiel packen wir das Verzeichnis „dk“ in Datei „calc.jar“:
jar cf calc.jar dk
2
Einbindung der JAR-Datei
2.1
Windows
Die JAR-Datei muss im lib-Verzeichnis des Java Client abgelegt werden (z.B. C:\Programme\ELO Java
Client\lib).
Bei einen Java Client vor 6.00.088 muss die EloClient.bat angepaßt werden. Ersetzen Sie den Inhalt durch:
java -Xms200m -Xmx1000m -ms64m -mx256m -cp .;*;lib\* de.elo.client.main.Start
Die Einbindung der JAR-Dateien bei einem Start des Client durch EloClient.exe ist ab Version 6.00.088 implementiert. Um die zusätzliche JAR-Datei im lib-Verzeichnis dabei zu berücksichtigen, muss das Setup erneut
ausgeführt und der Java Client über den vorhandenen installiert werden. Dadurch wird die zusätzliche JARDatei zusammen mit den ELO-Libraries eingebunden.
ELO Digital Office GmbH, Entwicklungsdokumentation
Seite 2 von 3
ELOenterprise®
2.2
ELO Digital Office GmbH
Webstart
Die JAR-Datei muss im lib-Verzeichnis des Java Client Webstart auf dem Server liegen.
Zusätzlich benötigen Sie eine weitere JNLP-Datei, in unserem Beispiel calc.jnlp mit folgendem Inhalt:
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+"
codebase="http://negril:8080/eloclient/webstart/" href="calc.jnlp">
<information>
<title>Calc-Beispiel</title>
<vendor>Testfirma</vendor>
</information>
<resources>
<jar href="lib/calc.jar"/>
</resources>
<component-desc/>
</jnlp>
Außerdem müssen Sie diese JNLP-Datei in die EloClient.jnlp eintragen. Fügen sie dazu im Abschnitt Resources eine Zeile mit einem Verweis auf die soeben erstellte JNLP-Datei ein:
<extension name="calc" href="calc.jnlp"/>
3
Verwendung im Skript
Nun können Sie die Klassen im Java-Skript im Client verwenden. Im folgenden Beispiel wird die Funktion add
mit dem ScriptButton 6 verwendet:
function eloScriptButton6Start() {
var service = new Packages.dk.iter.webservices.calculator.Calculator();
var port = service.getCalculatorSoap();
var firstNumber = 2;
var secondNumber = 3;
var result = port.add(firstNumber, secondNumber);
log.debug( "soap: " + result);
workspace.showInfoBox( "2+3 ist", result );
}
Einen einfacheren Zugriff auf die generierten Klassen können Sie wie auch in Java mit einem importStatement erreichen:
importPackage(Packages.dk.iter.webservices.calculator);
function eloScriptButton6Start() {
var service = new Calculator();
var port = service.getCalculatorSoap();
var firstNumber = 2;
var secondNumber = 3;
var result = port.add(firstNumber, secondNumber);
log.debug( "soap: " + result);
workspace.showInfoBox( "2+3 ist", result );
}
ELO Digital Office GmbH, Entwicklungsdokumentation
Seite 3 von 3
Herunterladen