BeloMWebServiceClient_V2

Werbung
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
Herunterladen