Installation und Konfiguration eines Web-Service-Client für BeloM Walter Appenzeller T-Systems International GmbH Unit Autor/Bearbeiter © 2003 T-Systems International GmbH 75811261 Dateiname/Version 15.05.2016 Freigabedatum letzte Änderung 1 von 10 Seite Inhaltsverzeichnis Installation und Konfiguration eines Web-Service-Client für BeloM ............................................... 1 1 Einleitung .............................................................................................................................. 3 1.1 Zielsetzung und Zweck ............................................................................................. 3 2 Installation ............................................................................................................................. 3 3 Technische Randbedingungen ............................................................................................... 3 3.1 Grundfunktion .......................................................................................................... 4 3.2 BeloM Webservice ................................................................................................... 4 3.3 Applikationsparameter.............................................................................................. 5 3.4 Druckerparameter ..................................................................................................... 6 3.5 Aufruf und Bedienung des Webservice-Clients ....................................................... 7 3.6 Schnittstellenbeschreibung des Acrobat Readers: .................................................... 9 Walter Appenzeller T-Systems International GmbH Unit Autor/Bearbeiter © 2003 T-Systems International GmbH 75811261 Dateiname/Version 15.05.2016 Freigabedatum letzte Änderung 2 von 10 Seite 1 Einleitung 1.1 Zielsetzung und Zweck Dokumentation eines Beispieles für einen Web-Service-Client, der den BeloM-Web-Service verwendet. Das Beispiel ist in Java implementiert. Alle notwendigen Bestandtteile, inklusive Java Sourcen sind in einer Zip-Datei enthalten. Dieser Webservice-Client ist zwar funktionsfähig, soll aber nur als Muster dienen. Der Webservice-Client ist auf Basis des Opensource-Toolkits Axis Version 1.1 implementiert. Die notwendigen Axis-Libraries und XML-Paser sind im Client-Paket enthalten. Nicht enthalten ist lediglich die Java JRE (Java Runtime Environment )oder das Java SDK (Software Development Kit), das separat von der Java Webseite von Sun heruntergeladen und auf dem PC installiert werden muß, sowie der Adobe Acrobat Reader (www.adobe.com). 2 Installation 1. Installation Java SDK bzw RTE : Das notwendige Kit von http://java.sun.com herunterladen. Hinweis: Downloads -> Java 2 Platform, Standard Edition (J2SE) -> Aktuelle Version (z.B. JSE 1.4.2) -> Download J2SE v... Wenn die Source nicht verändert wird, reicht die JRE vollkommen aus. Man hat die Option zwischen Windows Installation und Windows Offline Installation. Erstere lädt nur ein kleines Exe-File herunter, das dann bei Aufruf den Rest lädt. Bei der Offline-Installation wird das komplette Installationskit heruntergeladen, das direkt aufgerufen werden kann. Nach der Installation ist dann Java so installiert, dass es direkt im Command-Fenster aufgerufen werden kann z.B.: c:\java -version (Gibt die Version aus.) 2. Download Webservice Client: http://www.ediweb.de/down_belom.html 3. Den Zip-file des Webserviceclients auf einem beliebigen, neu zu erstellenden Verzeichnis auspacken (z.B C:\BelomWSClient). Alle notwendigen Libraries und Konfigurationsdateien befinden sich auf diesem Verzeichnis. 4. Die Property Files den lokalen Anforderungen entsprechend über die Applikation anpassen. 5. Bei Software-Anderungen im Webservice-Client, die nicht die Properties-Dateien oder eine Änderung einer thirdparty-Library betreffen, genügt es, die Datei BelomWSClient.jar aus dem Zip-File ins Installationsverzeichnis zu extrahieren. 3 Technische Randbedingungen Walter Appenzeller T-Systems International GmbH Unit Autor/Bearbeiter © 2003 T-Systems International GmbH 75811261 Dateiname/Version 15.05.2016 Freigabedatum letzte Änderung 3 von 10 Seite 3.1 Grundfunktion Der BeloMWebServiceClient liest aus einem Eingangsverzeichnis Inhousedateien bzw PDF417-Strings. Eine Datei kann mehrere Warenanhänger enthalten. Dann wird der BeloM Webservice aufgerufen. Der BeloM Webservice bekommt die vom Eingangsverzeichnis gelesene Datei in Form eines Strings übergeben, nebst einer Reihe von Geometrieparametern. Er erzeugt dann die entsprechenden Warenanhänger und sendet diese als Adobe-PDF-Datei in Form eines byte-Array zurück. Der Webservice-Client wandelt das byte-Array in eine Datei mit der Erweiterung ".pdf" um, die auf dem Ausgangsverzeichnis gespeichert wird. Abschließend wird der Acrobat-Reader mit der gerade erzeugten PDF-Datei und dem ausgewählten Drucker als Parameter im Hintergrund aufgerufen. Der Druck erfolgt automatisch. Die Auswahl des Drucker wird durch die ersten beiden Zeichen des Filenamens der Eingangsdatei vorgenommen. Die Abbildung zu dem entsprechenden Druckernamen erfolgt über die Datei "printer.properties " Anschließend wird nach einer konfigurierbaren Wartezeit der ganze Prozess erneut angestoßen. Die PDF417/Inhouse-Dateien werden nach Verarbeitung gelöscht, die erzeugten PDF-Dateien bleiben jedoch zur Verfügung. Damit kann manuell nachgedruckt werden. Die wichtigen Parameter für die Applikation können über die Datei "belomwsclient.properties" eingestellt werden 3.2 BeloM Webservice Ein Webservice wird durch eine WSDL (Web Service Description Language) eindeutig beschrieben. Alle Eingangs- und Rückgabeparameter sind darin beschrieben. Die WSDL des BeloM-Webservices ist unter folgender URL publiziert: https://wwwsec.ediweb.de/BELOMWS/GenerateTSB?WSDL In dieser WSDL sind alle Schnittstellen des Webservices beschrieben. Der Webservice-Client ist durch ein Java-Programm realisiert, das mit Hilfe des Opensource-Paketes "Axis" die BeloM-Webservice-Schnittstelle bedient. Das Programm ist als GUI-Applikation realisiert in dem die Ausgaben des Webservice dargestellt werden, sowie die Einstellungen der Parameter über eine Erfassungsmaske durchgeführt werden können. Walter Appenzeller T-Systems International GmbH Unit Autor/Bearbeiter © 2003 T-Systems International GmbH 75811261 Dateiname/Version 15.05.2016 Freigabedatum letzte Änderung 4 von 10 Seite 3.3 Applikationsparameter Der Webservice erwartet neben der Eingangsdatei noch eine Reihe von Parametern zur Authentifizierung, Einstellung des lokalen Proxys sowie einige Geometrieparameter für die Positionierung der Warenanhänger im PDF-File. Diese Parameter sind in der Datei belomwsclient.properties hinterlegt. Alle Parameter können über die GUI ("Einstellungen") geändert werden. Hier ein beispielhafter Auszug. Diese Einstellungen müssen auf die lokalen Gegebenheiten angepasst werden. Eigenschaft endpoint=https://wwwsec.ediweb.de:443/BELOMWS/GenerateTSB infiles=d:/ediinfiles outfiles=c:/temp username=test password=test lieferant=test sleepinseconds=10 Beschreibung URL des Webservices. Das Verzeichnis für die Eingangsdateien Das Verzeichnis für die erzeugten Adobe-PDF-Dateien Benutzername: Bei falschem Benutzernamen wird ein leerer PDF-File vom Webservice mit einem entsprechenden Hinweise zurückgegeben. Dies gilt auch für Passwort und LieferantPasswort Sechstellige BMW-Lieferantennummer Wartezeit in Sekunden für einen Programmdurchgang acroreadcmd=C:/Programme/Adobe/Acrobat 5.0/Reader/AcroRd32.exe Programmaufruf für den Acrobat acroreadcmdswitches=/t/h Kommando-Parameter für AcrobatAufruf: Drucken im Hintergrund. Anzahl der Versuche, den Webservice für die aktuelle Datei aufzurufen retrycount=3 x0=0.0 Koordinatenursprung X0 (in mm) für Positionierung des WA. Default: 0.0 y0=0.0 Koordinatenursprung Y0 (in mm) für Positionierung des WA. Default: 0.0 stretchfactor=0.8 Streckfaktor, um einen WA zu stauchen, bzw. zu dehnen. Default: 1.0 distance=1.0 y-Abstand in mm zwischen zwei WA auf einer Seite format=A4 Seitenformat. Wertebereich: (A4|A5). Default: A4 landscape=false Querformat wenn true, sonst Hochformat Walter Appenzeller T-Systems International GmbH Unit Autor/Bearbeiter © 2003 T-Systems International GmbH 75811261 Dateiname/Version 15.05.2016 Freigabedatum letzte Änderung 5 von 10 Seite (default) numberdocsperpage=2 Anzahl Warenanhänger auf einer Seite. Wertebereich: (1|2). Default:2 https.proxyPort=80 Port des lokalen https-Proxy. Bei Direktverbindung ins Internet Leerstring zuweisen. Name (IP-Adresse) des lokalen ProxyServers. Bei Direktverbindung ins Internet Leerstring zuweisen Benutzername am lokalen Proxy Passwort am lokalen Proxy Dateierweiterung für die erzeugten PDFDateien. Wird zur übergebenen Datei hinzugefügt. Dateierweiterung für Eingangsdateien während des Kopierens. Der WebserviceClient reagiert nicht auf Dateien mit dieser Erweiterung. Alle anderen Dateien werden akzeptiert. Maximale Wartezeit auf Serverantwort. Bei Ablauf wird ein Wiederholversuch gestartet. https.proxyHost=proxy https.proxyUser https.proxyPassword pdfextension=pdf tmpextension=tmp timeout=60 3.4 Druckerparameter Datei: printer.properties Die Zuordnung von einem Druckerschlüssel (die ersten zwei Zeichen im Namen der Eingabedatei) zum am PC konfigurierten Druckernamen findet hier statt: Beispiel: default= HP LaserJet 4050 Series PCL p1=HP LaserJet 4050 Series PCL p2=HP Color LaserJet 4550 PCL 6 Wenn folgende Dateien eintreffen p1muster.txt p2muster.txt wird die erste auf dem "HP LaserJet 4050 Series PCL", die zweite auf dem "HP Color LaserJet 4550 PCL 6" gedruckt. Läßt sich kein Drucker zuordnen, wird der Drucker unter dem Schlüssel "default" angesprochen. Walter Appenzeller T-Systems International GmbH Unit Autor/Bearbeiter © 2003 T-Systems International GmbH 75811261 Dateiname/Version 15.05.2016 Freigabedatum letzte Änderung 6 von 10 Seite Die Druckerparameter können ebenfalls über die GUI geändert werden. 3.5 Aufruf und Bedienung des Webservice-Clients Der Aufruf erfolgt aus einer CMD-Box heraus über die Datei "runBelomWSClient.cmd" Hier ein Beispiel: set CLASSPATH=BelomWSClient.jar java %JAVA_OPTIONS% com.bip.bmwbelom.client.GenerateWAClient Dann erscheint folgende Maske: Walter Appenzeller T-Systems International GmbH Unit Autor/Bearbeiter © 2003 T-Systems International GmbH 75811261 Dateiname/Version 15.05.2016 Freigabedatum letzte Änderung 7 von 10 Seite Der Webservice läuft von Anfang an im Hintergrund und gibt alle Ausgaben (abgesehen von schweren Fehlermeldungen, die in der CMD-Box angezeigt werden) in dem grauen Textfenster aus. Bei jedem Umlauf wird die aktuelle Systemzeit ausgegeben. Mit dem Umschaltknopf "Stop Webservice" kann der Webservice kurzfrist angehalten bzw. neu gestartet werden. "Exit" beendet das ganze Programm. Über das Registerblatt "Einstellungen" können die Grundeinstellungen angepasst werden: Walter Appenzeller T-Systems International GmbH Unit Autor/Bearbeiter © 2003 T-Systems International GmbH 75811261 Dateiname/Version 15.05.2016 Freigabedatum letzte Änderung 8 von 10 Seite Mit "Speichern" werden die Daten in die Properties-Dateien übernommen. Bei jedem Durchlauf werden die Properties neu gelesen, d.h. es ist nicht notwendig, bei einer Änderung den Webservice anzuhalten und neu zu starten. Eine Ausnahme besteht jedoch für die Eigenschaften HTTPS-Proxy-Host , HTTPS-Proxy-Port und Zykluszeit. Bei einer Änderung dieser Parameter muß das Programm komplett beendet und neu aufgerufen werden. 3.6 Schnittstellenbeschreibung des Acrobat Readers: Die folgende Beschreibung wurde aus dem Internet übernommen: AcroRd32.exe filename - Executes the Reader and displays a file. Other options for the command line are: AcroRd32.exe /p filename - Executes the Reader and prints a file. AcroRd32.exe /t path printername drivername portname - InitiatesAcrobat Reader, prints a file while suppressing the Acrobat print dialog box, then terminates Reader. The four parameters of the /t option evaluate to path, printername,drivername, and portname (all strings). printername - The name of your printer. drivername - Your printer driver's name. Whatever appears in the Driver Used box when you view your printer's properties. portname - The printer's port. portname cannot contain any "/" characters; if it does, output is routed to the default port for that printer. If using Acrobat, substitute Acrobat.exe in place of AcroRd32.exe in the command lines. option meaning: /n Launch a separate instance of the Acrobat application, even if one is currently open. /s Open Acrobat, suppressing the splash screen. /o Open Acrobat, suppressing the open file dialog. /h Open Acrobat in hidden mode. Walter Appenzeller T-Systems International GmbH Unit Autor/Bearbeiter © 2003 T-Systems International GmbH 75811261 Dateiname/Version 15.05.2016 Freigabedatum letzte Änderung 9 von 10 Seite 3.7 SSL-Verschlüsselung Der Web-Service wird über eine SSl-verschlüsselte Webseite (https://wwwsec.ediweb.de) bedient. Das Zertifikat dieser Webseite ist von der Deutschen Telekom ausgestellt. Beim Aufruf des Webservice wird in der Datei cacerts (keystore) unter dem Verzeichnis <jre-path>/lib/security geprüft, ob die Root-authority URL des WS bekannt ist. Wenn nicht wird die Fehlermeldung Couldn't find trusted certificate ausgegeben. Eine Lösung kann wie folgt skizziert werden: Download des Zertifkates von wwwsec.editweb.de über IE in eine Datei. Import dieser Zertifikats-Datei in die bestehende cacerts und Verteilung der letzteren. Import dieser Zertifikatsdatei in eine lokalen keystore. Angabe dieses keystores beim Aufruf des Webservice-Clients Auschalten der Prüfung per Programm Der Import dieses Zertifikates geschieht mit dem Tool "keytool" unter <jre-path>/bin Die Prüfung des Trustes kann jedoch per Programm ausgeschaltet werden. Eine versteckte Funktion im AxisToolkit bewirkt dies: AxisProperties.setProperty("axis.socketSecureFactory","org.apache.axis.compo nents.net.SunFakeTrustSocketFactory"); Dies wurde implementiert. Walter Appenzeller T-Systems International GmbH Unit Autor/Bearbeiter © 2003 T-Systems International GmbH 75811261 Dateiname/Version 15.05.2016 Freigabedatum letzte Änderung 10 von 10 Seite