Der Service ist nur aus den CIP-Pool erreichbar. Um ihn auch von zuhause nutzen zu können, müssen Sie analog wie für die Datenbankverbindung einen zusätzlichen SSH-Tunnel einrichten.
Apache Axis2 1.4.1 WAR Distribution downloaden und in einem Verzeichnis auspacken. Dieses Verzeichnis in Eclipse Window > Preferences > Web Services > Axis2 Preferences > Axis2 runtime location eintragen. Im Package Exporer Ihr Web-Projekt markieren und mit einem Rechtsklick das Kontextmenü öffnen. Dann den Wizard starten mit New > Other > Web Service > Web Service Client. Unter Service Defintionen folgende URL eintragen:
http://bueno.fim.uni-passau.de:80/InfosunBankService/services/InfosunBankTransferService?wsdl
Dieses WSDL Dokument in XML teilt Ihrem Client mit was der Service alles
anbietet und wie er zu benutzen ist. Den Schieberegler auf Start
client stellen und unter Web servies runtime Apache Axis2
auswählen und Next drücken. Unter Custom package name
das gewünschte Java Packet angeben, wo die generierten Quellcode Dateien
abgelegt werden sollen, z.B.
de.uni_passau.fim.sep.model.bank
. Nach Next und
ggf. Start Server auf Finish klicken. Jetzt kann man
wie in TransferAction.java
aus dem Beispiel den Webservice
benutzen.
Hinweis: Wenn ein Tunnel eingerichtet worden ist, so muss das Target
angepasst werden. Im BankClient.war Beispiel in der Klasse
TransferAction.java
in der Variable TARGET
muss "bueno.fim.uni-passau.de:80"
durch
"localhost:<port>"
ersetzt werden
(<port>
muss entsprechend ersetzt werden).
Die Methoden transferCC(String accNr, double amount, String
ccNr, String name, int cvc, String pin)
und
transferAccount(String accNr, double amount, String pin, int
bankCode, int targetAccNr, String targetAccOwner)
der Klasse
TransferAction.java
in der Demo Client Applikation sind
Beispielmethoden für einen Zugriff auf den Webservice. Die
Rückgabewerte des Webservices sind boolean
.
true
, falls der Geldtransfer erfolgreich war,
false
sonst.
Dabei ist zu beachten, dass jedes Team ihren eigenen Account hat, z.B.
sep09gXX
(der Benutzername der SEP-Datenbank des
jeweiligen Teams). Analog dazu ist das Passwort vorgegeben, das
ebenfalls dem Passwort der DB gleicht. In unserem Beispiel ist die
Kontonummer betreuer
und die PIN sep09
. Es
ist Pflicht die entsprechende Kontonummer mit PIN des eigenen Teams zu
verwenden.
Ein Geldtransfer per Kreditkarte ist erfolgreich, außer die
Kreditkarte ist zeitlich nicht gültig, der Betrag
(amount
) ist nicht positiv, die Eingaben der Kontonummer
und PIN (accountNumber
, pin
) sind fehlerhaft
oder der card validation code (cvc
) ist durch 3
teilbar.
Geldtransfers vom Account auf ein beliebiges Konto sind dann nicht erfolgreich, falls die Kombination Kontonummer und PIN fehlerhaft oder der Betrag negativ ist.