Seitenhistorie
Inhalt | ||
---|---|---|
|
Nuclet zur Anbindung an die cKonto-Schnittstelle
Name: | cKonto |
Package: | org.nuclet.ckonto |
...
Version: | 1. |
...
4.0 | |
Datum: | 13. |
...
09.2017 | |
Nuclos-Kompatibilität: | ab Nuclos 4.19.3 |
Überblick
Kurzbeschreibung
Das cKonto-Nuclet bietet die Möglichkeit Bankverbindungen über die cKonto-Schnittstelle auf Validität zu prüfen.
Info |
---|
Hinweis: Für die Nutzung der cKonto-Schnittstelle benötigen Sie einen kosfenpflichtigen Account bei der NetSlave GmbH. Weitere Informationen finden Sie unter www.ckonto.de. |
...
Nuclet-Bestandteile
Das cKonto-Nuclet umfasst ein Java-Package mit drei Java-Klassen.
...
Java-Package-Struktur
Java-Package | Java-Klasse | Kurzbeschreibung |
org.nuclet.ckonto | CkontoCheck | Container-Klasse zur Verarbeitung des cKonto-XMLs |
...
CkontoConstants | Konstanten zur Interpretation der Schnittstellenrückgabewerte |
...
CkontoUtils | Utility-Klasse mit Validierungsmethoden |
Tabelle 1: Java-Package-Struktur
Integration
Integration
Notwendige Schritte zur Integration
Die Integration des cKonto-Nuclets erfolgt in
...
4 Schritten:
Download
Nuclet-Import
Konfiguration der
...
Nuclet-Parameter
Sourcecode-Anpassungen in eigenen Java
...
-
...
Regeln
Alle Integrationschritte werden im folgenden
...
detailliert erläutert.
Schritt 1: Download
Download der .nuclet-Datei „cKonto-v1.4.0-4.
...
19.3.nuclet“ auf der Nuclos-Webpage unter „Nuclos Services“ > „Download“ > „Nuclet Download“.
...
Schritt 2: Nuclet-Import
Import des cKonto-Nuclets unter „Konfiguration“ > „Nuclet Management“ > „Importieren“ in Ihre bestehende Nuclos-Instanz, Auswahl der Datei „cKonto-v1.4.0-4.
...
19.3.nuclet“
Schritt 3: Konfiguration der
...
Nuclet-Parameter
Das cKonto-Nuclet ist über Nuclet-Parameter parametrisierbar. Die Einrichtung der verwendeten
...
Nuclet-Pameter erfolgt im Nuclet-Management unter „Konfiguration“.
Parameter | Kurzbeschreibung |
---|
...
cKonto Check | Kennzeichnung, ob eine Kontoprüfung über die cKonto-Schnittstelle erfolgen soll |
...
CKONTO_KEY
...
Registrierungsschlüssel
Tabelle 2: System-Parameter
Info |
---|
Anmerkung: Dieser Schritt wird erst in einer zukünfigen Version notwendig, d.h. sobald die neue Nuclos-API das Auslesen von System-Parametern unterstützt. Solange dies nicht der Fall ist, erfolgt die Konfiguration in Schritt 8, durch Anpassung von entsprechenden Konstanten im Java-Code. |
Schritt 4: Sourcecode-Anpassungen in den Java-Regeln des cKonto-Nuclets
...
Java-Package
...
Java-Klasse
...
Kurzbeschreibung
...
org.nuclet.ckonto
...
CkontoUtils
...
Konfiguration der zwei Konstanten CKONTO_CHECK und CKONTO_KEY
Tabelle 4: Anwendungsspezifische Anpassungen in Java-Regeln
CkontoUtils
Es ist notwendig, die beiden Konstanten CKONTO_CHECK und CKONTO_KEY für den eigenen Anwendungszweck zu konfigurieren:
CKONTO_CHECK: legt fest, ob eine Kontoprüfung über die cKonto-Schnittstelle erfolgen soll
CKONTO_KEY: definiert den Authentifizierungsschlüssel für die cKonto-Schnittstelle; der Default-Wert für Testzwecke ist „demo“
Codeblock | ||||
---|---|---|---|---|
| ||||
public class CkontoUtils
{
private static final String CKONTO_KEY = "demo"; // Authentifizierungsschlüssel
private static final String CKONTO_CHECK = "Y"; // Soll eine Kontovalidierung durchgeführt werden?
(...)
}
|
...
cKonto Key | Registrierungsschlüssel |
cKonto URL | URL der cKonto-Schnittstelle |
Tabelle 2: Nuclet-Parameter
Hinweis |
---|
Achtung: Die Validierungsmethoden validiereIBAN() und validiereKontoverbindung() der |
...
Klasse CkontoUtils validieren die übergebenen Parameter immer, unabhängig vom Wert |
...
des Nuclet-Parameters cKonto Check. Zur Abfrage, ob eine Validierung tatsächlich erfolgen soll, dient die Methode istKontovalidierungAktiviert() in der selben Klasse. |
Info |
---|
Anmerkung: Dieser Schritt wird in einer zukünfigen Version entfallen, d.h. sobald die neue Nuclos-API das Auslesen von System-Parametern unterstützt. Sobald dies der Fall ist, wird diese Anpasung über Schritt 3 geregelt (s.o.). |
...
Schritt 4: Sourcecode-Anpassungen in eigenen Regeln
Soll die Validierung von Bankverbindungen über die cKonto-Schnittstelle eingebunden werden, so erfolgt dies über den Aufruf einer der zwei folgenden Methoden der Klasse CkontoUtils:
validiereIBAN(): führt eine Validierung einer IBAN durch
validiereKontoverbindung(): führt eine Valdieriung von Kontonummer und Bankleitzahl durch
Das nun folgende Beispiel dient der Veranschaulichung dieser Einbindung.
Codeblock | ||||
---|---|---|---|---|
|
...
(...)
org.nuclet.ckonto.CkontoCheck check = null;
org.nuclet.ckonto.CkontoConstants.Status status = null;
try {
// Übergabe einer Kontonummer und einer Bankleitzahl an die cKonto-Validierung...
check = org.nuclet.ckonto.CkontoUtils.validiereKontoverbindung(strKontonummer, strBankleitzahl);
} catch (javax.xml.bind.JAXBException jaxbe) {
// eigene Fehlerbehandlung einsetzen
// (...)
} catch (java.net.MalformedURLException me) {
// eigene Fehlerbehandlung einsetzen
// (...)
}
status = org.nuclet.ckonto.CkontoConstants.Status.valueOf("STATUS_" + Check.getStatus().toString());
if (!org.nuclet.ckonto.CkontoConstants.Status.STATUS_1.equals(status)) {
// eigener Code, zur Verarbeitung der Status-Informationen
// (...)
}
(...)
|
...
Die Enumeration-Klasse CkontoConstants umfasst alle möglichen Rückgabewerte der cKonto-Schnittstelle, so dass eine einfache Einordnung über den Enumeration-Vergleich möglich ist.
...
Codeblock | ||||
---|---|---|---|---|
| ||||
public class CkontoConstants
{
public enum Status
{
STATUS_0(0, "Die Kontonummer ist ungültig, sie kann von diesem Institut nicht vergeben werden."),
STATUS_1(1, "Die Kontonummer ist gültig, sie kann von diesem Institut vergeben werden."),
STATUS_2(2, "Fehler bei der Eingabe der Bankleitzahl. Sie ist entweder nicht 8-stellig oder enthält Buchstaben."),
STATUS_3(3, "Fehler bei der Eingabe der Kontonummer. Sie ist entweder zu lang oder enthält Buchstaben."),
STATUS_4(4, "Eingabefehler bei der Kontonummer und Bankleitzahl (siehe 2 und 3) oder der IBAN."),
STATUS_5(5, "Genereller Eingabefehler des Übergabeparameters - enthält evtl. Leerzeichen."),
STATUS_6(6, "Fehler im Format des Übergabeparameters."),
STATUS_7(7, "Die Bankleitzahl wurde in der Datenbank nicht gefunden (existiert nicht)."),
STATUS_8(8, "Die von der Bank verwendete Prüfmethode ist im Demonstrations-Modus nicht verfügbar."),
STATUS_9(9, "Die Kontonummer kann nicht geprüft werden, da die Bank entweder keine Prüfziffern verwendet oder es sich um eine spezielle Kontonummer handelt.");
(...)
} |
Soll zusätzlich die Möglichkeit genutzt werden, die Validierung (temporär) zu deaktivieren, dann empfielt es sich, den Validierungsaufruf mit einem Aufruf der Methode istKontovalidierungAktiviert() zu kombinieren.
Codeblock | ||
---|---|---|
| ||
(...)
if (org.nuclet.ckonto.CkontoUtils.istKontovalidierungAktiviert()) {
// Führe Valdierung durch, wie im Beispiel zum Validierungaufruf beschrieben
// (...)
}
(...)
|
...
Die Validierung lässt sich auf diese Weise einfach über
...
den Nuclet-Parameter cKonto Check an- und ausschalten.
...
Version
Version | Datum | Typ | Änderungen |
---|---|---|---|
1.0.0 | 13.03.2013 | initiale Version | - |
1.1.0 | 13.12.2013 | Umstellung auf Nuclos 4.0 |
|
1.2.0 | 24.03.2017 | Umstellung auf Nuclos 4.13 | Umstellung auf Nuclos 4.13 |
1.3.0 | 21.08.2017 | Umstellung auf Nuclos 4.18 | Umstellung auf Nuclos 4.18 |
1.4.0 | 13.09.2017 | Umstellung auf Nuclos 4.19 | Umstellung auf Nuclos 4.19 |