Benutzung des Webservices der Infosun Bank

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.

Demo Client Applikation

So machen Sie Ihre bestehende Webapplikation webservice-fähig

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).

Benutzung des InfosunBank-Webservices

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.