org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs PinTan instanziieren

 
bdombrowsky
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 26
Dabei seit: 09 / 2014
Betreff:

org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs PinTan instanziieren

 · 
Gepostet: 02.09.2014 - 15:47 Uhr  ·  #1
Hi,

ich versuche gerade meine Umsätze abzurufen und bekomme scheinbar mein Passport nicht zum Laufen, ich kriege folgende Fehlermeldung:

Code

org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs PinTan instanziieren
  at org.kapott.hbci.passport.AbstractHBCIPassport.getInstance(AbstractHBCIPassport.java:690)
  at org.kapott.hbci.passport.AbstractHBCIPassport$getInstance$0.call(Unknown Source)
  at src.banking.Script26.run(Script26.groovy:28)
Caused by: java.lang.reflect.InvocationTargetException
  at org.kapott.hbci.passport.AbstractHBCIPassport.getInstance(AbstractHBCIPassport.java:687)
  ... 2 more
Caused by: org.kapott.hbci.exceptions.HBCI_Exception: Fehler in Callback-Routine aufgetreten
  at org.kapott.hbci.callback.HBCICallbackIOStreams.callback(HBCICallbackIOStreams.java:297)
  at org.kapott.hbci.passport.AbstractHBCIPassport.askForMissingData(AbstractHBCIPassport.java:97)
  at org.kapott.hbci.passport.HBCIPassportPinTan.(HBCIPassportPinTan.java:133)
  ... 3 more
Caused by: java.lang.NullPointerException
  at org.kapott.hbci.callback.HBCICallbackIOStreams.callback(HBCICallbackIOStreams.java:156)
  ... 5 more


Kann mir hier jemand weiterhelfen?

Vielen Dank!
bdombrowsky
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 26
Dabei seit: 09 / 2014
Betreff:

Re: org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs PinTan instanziieren

 · 
Gepostet: 02.09.2014 - 19:21 Uhr  ·  #2
Um das ganze etwas weiter erklären, ich möchte in irgendeiner Art und Weise für meine derzeit genutzte Applikation Kontoumsätze bereitstellen. Die einfachste Methode wäre in diesem Fall Groovy zu nutzen. Ich bin selbst kein Programmierer, versuche mich aber jetzt trotzdem mal daran und wäre über Hilfe sehr dankbar, da dies eine wirkliche Erleichterung für mich wäre.

Derzeit habe ich folgendes Script:

Code

package src.banking

import org.kapott.hbci.manager.HBCIHandler;
import org.kapott.hbci.passport.AbstractHBCIPassport;
import org.kapott.hbci.passport.HBCIPassport;
import org.kapott.hbci.status.HBCIExecStatus;
import org.kapott.hbci.callback.HBCICallback
import org.kapott.hbci.callback.HBCICallbackConsole
import org.kapott.hbci.passport.HBCIPassportPinTan
import org.kapott.hbci.GV_Result.HBCIJobResult
import org.kapott.hbci.manager.HBCIUtils
import org.kapott.hbci.GV.HBCIJob
import org.kapott.hbci.tools.HBCIBatch

// handler erstellen
HBCICallback callback = new HBCICallbackConsole()

HBCIUtils.init(null, null ,callback)
HBCIUtils.setParam("log.loglevel.default", "5")
HBCIUtils.setParam("log.filter", "2")
HBCIUtils.setParam("client.passport.default","PinTan");
HBCIUtils.setParam("client.passport.hbciversion.default","plus")
HBCIUtils.setParam("client.passport.PinTan.filename", "/opt/jira/data/tmp/hbci4java.properties")
HBCIUtils.setParam("client.passport.PinTan.checkcert", "1")
HBCIUtils.setParam("client.passport.PinTan.certfile",null);
HBCIUtils.setParam("client.passport.PinTan.proxy",null);
HBCIUtils.setParam("client.passport.PinTan.proxyuser",null);
HBCIUtils.setParam("client.passport.PinTan.proxypass",null);
HBCIUtils.setParam("client.retries.passphrase","0");
HBCIUtils.setParam("client.passport.PinTan.init", '1')

HBCIPassport passport = AbstractHBCIPassport.getInstance()

HBCIHandler handler = new HBCIHandler("plus",passport)


Beim Aufruf in meiner Applikation erhalte ich jetzt folgende Fehlermeldung:

Code

<WRN> [2014.09.02 19:19:14.293] [main/http-bio-8080-exec-23] manager.HBCIUtils: *** will not initialize this threadgroup because it is already initialized
<INF> [2014.09.02 19:19:14.294] [main/http-bio-8080-exec-23] manager.HBCIUtils: This is HBCI4Java-2.5.7
<DBG> [2014.09.02 19:19:14.295] [main/http-bio-8080-exec-23] manager.HBCIUtils: lade Verzeichnis der Bankleitzahlen
<DBG> [2014.09.02 19:19:14.308] [main/http-bio-8080-exec-23] passport.AbstractHBCIPassport: erzeuge neues PinTan-Passport
<DBG> [2014.09.02 19:19:14.309] [main/http-bio-8080-exec-23] passport.HBCIPassportPinTan: lade Passport-Daten aus Datei /opt/jira/data/tmp/hbci4java.properties
<DBG> [2014.09.02 19:19:14.309] [main/http-bio-8080-exec-23] passport.HBCIPassportPinTan: Lade Daten aus Datei /opt/jira/data/tmp/hbci4java.properties
Callback für Passport mit Init-Daten: PinTan
Bitte geben Sie das Passwort für den Zugriff auf die Passport-Datei ein: 2014-09-02 19:19:14,314 http-bio-8080-exec-23 ERROR bdo 1159x207x1 15v1kwa 192.168.10.104,148.251.107.99 /rest/scriptrunner/latest/user/exec/ [common.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service: kann kein Passport des Typs PinTan instanziieren
org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs PinTan instanziieren
        at org.kapott.hbci.passport.AbstractHBCIPassport.getInstance(AbstractHBCIPassport.java:690)
        at org.kapott.hbci.passport.AbstractHBCIPassport.getInstance(AbstractHBCIPassport.java:707)
        at org.kapott.hbci.passport.AbstractHBCIPassport.getInstance(AbstractHBCIPassport.java:719)
        at org.kapott.hbci.passport.AbstractHBCIPassport$getInstance.call(Unknown Source)
        at src.banking.Script26.run(Script26.groovy:37)
Caused by: java.lang.reflect.InvocationTargetException
        at org.kapott.hbci.passport.AbstractHBCIPassport.getInstance(AbstractHBCIPassport.java:687)
        ... 4 more
Caused by: org.kapott.hbci.exceptions.HBCI_Exception: *** loading of passport file failed
        at org.kapott.hbci.passport.HBCIPassportPinTan.<init>(HBCIPassportPinTan.java:179)
        ... 5 more
Caused by: org.kapott.hbci.exceptions.HBCI_Exception: Fehler beim Erzeugen des Schlüssels aus dem Passwort
        at org.kapott.hbci.passport.AbstractHBCIPassport.calculatePassportKey(AbstractHBCIPassport.java:751)
        at org.kapott.hbci.passport.HBCIPassportPinTan.<init>(HBCIPassportPinTan.java:143)
        ... 5 more
Caused by: org.kapott.hbci.exceptions.HBCI_Exception: Fehler in Callback-Routine aufgetreten
        at org.kapott.hbci.callback.HBCICallbackIOStreams.callback(HBCICallbackIOStreams.java:297)
        at org.kapott.hbci.passport.AbstractHBCIPassport.calculatePassportKey(AbstractHBCIPassport.java:731)
        ... 6 more
Caused by: java.lang.NullPointerException
        at org.kapott.hbci.callback.HBCICallbackIOStreams.callback(HBCICallbackIOStreams.java:115)
        ... 7 more


Und ich bin mir derzeit sehr unsicher, welche zusätzlichen Datein / Configs ich bereitstellen muss.

Ich habe folgende Datei zusätzlich angelegt "hbci4java.properties":

Code

# Konfigurations-Datei für HBCI4Java Kernel-Parameter.
# Alle verfügbaren Parameter sind in der API-Dok. zur
# Klasse org.kapott.hbci.manager.HBCIUtils beschrieben.
# Es handelt sich dabei um die Parameter, die via HBCIUtils.setParam(...)
# gesetzt werden können (siehe entsprechende API-Dok.)
#
# Zusätzlich zu den in der Dok. beschriebenen Parametern gibt
# es den Parameter "default.hbciversion", der festlegt, welche
# HBCI-Version verwendet werden soll, falls ein neues Passport-File
# erzeugt wird bzw. falls die zu verwendende HBCI-Version nicht
# im Passport-File gespeichert ist (normalerweise wird die HBCI-Version
# verwendet, die im Passport-File gespeichert ist).
#
# Der Dateiname dieser Datei wird beim Ausführen von HBCIBatch
# so an HBCI4Java übergeben:
#
#   HBCIUtils.init(new FileSystemClassLoader(), FILENAME, new MyCallback(args));
#
# "FILENAME" steht dabei für den Dateinamen dieser Datei. Siehe die
# entsprechenden API-Doks für mehr Details dazu.

client.passport.default=PinTan
default.hbciversion=plus
log.loglevel.default=2

# client.passport.DDV.path=./passports/
# client.passport.DDV.libname.ddv=/home/kleiner/projects/hbci4java-stable/chipcard/lib/libhbci4java-card-linux.so
# client.passport.DDV.libname.ctapi=/usr/lib/libctapi-cyberjack.so
# client.passport.DDV.port=1
# client.passport.DDV.ctnumber=0
# client.passport.DDV.usebio=0
# client.passport.DDV.softpin=1
# client.passport.DDV.entryidx=1

# client.passport.RDHNew.filename=./passports/institute_X_user_Y.dat
# client.passport.RDHNew.init=1

# client.passport.SIZRDHFile.filename=./passports/secret.key
# client.passport.SIZRDHFile.libname=/usr/lib/libhbci4java-sizrdh.so
# client.passport.SIZRDHFile.init=1

# client.passport.RDH.filename=./passports/institute_X_user_Y.dat
# client.passport.RDH.init=1

client.passport.PinTan.filename=/opt/jira/data/tmp/pintan_hbci4java
# client.passport.PinTan.certfile=hbcicerts.bin
client.passport.PinTan.checkcert=1
# client.passport.PinTan.proxy=proxy.intern.domain.com:3128
client.passport.PinTan.init=1

# client.passport.Anonymous.filename=./passports/institute_xx_anonymous.dat
# client.passport.Anonymous.init=1


Wie schon gesagt, wäre ich über Hilfe extrem dankbar!

Viele Grüße
Benni
Taralos
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 4
Dabei seit: 09 / 2014
Betreff:

Re: org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs PinTan instanziieren

 · 
Gepostet: 03.09.2014 - 10:19 Uhr  ·  #3
Hallo, beim drübergucken fällt mir diese Zeile in deinem Code auf:

HBCIUtils.setParam("client.passport.PinTan.filename", "/opt/jira/data/tmp/hbci4java.properties")

Ich bin jetzt leider kein Profi bzgl. dem HBCI-Code, aber ich würde vermuten, dass client.passport.PinTan.filename auf die passport-Datei und nicht auf die Properties-Datei verweisen sollte.
Die Properties-Datei enthält meines Wissens die Angaben zum Proxy und den Pfad zu einer bestehenden Passport-Datei.

Um dies zu erzeugen gibt es z.B. die InitAndTest-Klasse. Mit der kannst du eine Passport-Datei erstellen, die du dann in deinem Programm verlinken kannst.

Falls ich hier was falsch sehe bitte um Meldung :)

Freundliche Grüße

André

Edit: In deinen Logs taucht folgendes auf:

<DBG> [2014.09.02 19:19:14.309] [main/http-bio-8080-exec-23] passport.HBCIPassportPinTan: Lade Daten aus Datei /opt/jira/data/tmp/hbci4java.properties
Callback für Passport mit Init-Daten: PinTan
Bitte geben Sie das Passwort für den Zugriff auf die Passport-Datei ein: 2014-09-02 19:19:14,314 http-bio-8080-exec-

Ich lese das so, dass er versucht die properties-Datei als Passport zu öffnen. Der erste Schritt dafür ist die Abfrage des Passworts um die Passport-Datei zu entschlüsseln.
Ich vermute jetzt, dass dein Programm die Eingabe nicht annimmt, oder nicht korrekt verarbeitet und dadurch die Exception geworfen wird. (Nebenbei gesagt würde ein Entschlüsseln nichts bewirken, da die Properties-Datei ja nicht den Passport darstellt).

In meinen Augen musst du einfach extern erstmal eine korrekte Passport-Datei erzeugen, die alle deine Daten enthält. Dananch kannst du mit deinem eigenen Programm diese Datei verwenden, musst aber natürlich auf die Abfragen der HBCI4Java-API reagieren, also du musst das Passwort zum entschlüsseln der Passport-Datei reinreichen, sowie die PIN zur Kommunikation mit den Banking-Server. Falls du das nicht möchtest musst du einen eigenen Callback-Handler bereitstellen, der diese Daten direkt weiterreicht. Allerdings muss hier natürlich der Security-Aspekt bedacht werden.
bdombrowsky
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 26
Dabei seit: 09 / 2014
Betreff:

Re: org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs PinTan instanziieren

 · 
Gepostet: 03.09.2014 - 12:05 Uhr  ·  #4
Hi,

vielen Dank für Deine Hilfe!

Wie erstelle ich denn am sinnvollsten die Passport Datei? Bzw. was enthält diese dann eigentlich, die Bankverbindung selbst? Gibt es ein Tool um diese zu generieren?

Vielen Dank und Gruß
Benni
Taralos
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 4
Dabei seit: 09 / 2014
Betreff:

Re: org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs PinTan instanziieren

 · 
Gepostet: 03.09.2014 - 12:24 Uhr  ·  #5
Hallo,

ich selber habe die Passportdatei mit der InitAndTest-Klasse erstellt die im Source-Folder von hbci4java enthalten ist.

Am schnellsten dürfte der direkte Aufruf der Klasse sein. Also:
- hbci4java entpacken (im jar-Ordner liegt die datei die du benötigst)
- eine Konsole öffnen
- ausführen: java -cp "PFAD ZUR HBCI-JAR" org.kapott.hbci.tools.InitAndTest
also z.b.: java -cp c:\temp\hbci4java.jar org.kapott.hbci.tools.InitAndTest
- Das Programm führt dich dann schrittweise durch und du machst deine Angaben. Was du dort einzutragen hast ist natürlich abhängig von deiner Bank und den Verfahren usw.
Als Ergebnis hast du dann eine Datei (den Dateinamen vergibst du selbst) in dem dann bei erfolgreichem Durchlauf die Instituts- und Nutzerdaten gespeichert sind. Die Datei ist dann per Passwort verschlüsselt, das musst du dann bei Verwendung des Passports angeben um damit arbeiten zu können.

Du kannst natürlich auch die Sources von hbci4java laden und ein eigenes Java-Projekt erstellen. Hier referenzierst du dann die jar von hbci4java. Damit kannst du dann alles an deine Bedürfnisse anpassen oder umprogrammieren.

Freundliche Grüße und viel Erfolg

André

PS: Mit dem Hibiscus-Programm das ja hbci4java nutzt wird es sicher auch möglich sein die Passport-Datei zu erstellen und weiter zu nutzen. Da hast du dann eine grafische Oberfläche und es wird dir sicher etwas leichter gemacht.

Edit: Enthalten sein müsste die Nutzerkennung (also die Legitimations-ID), die Bankleitzahl, sowie Daten zum Institut und Nutzer (BPD u. UPD). Aber wie gesagt, ich bin hier eher Neuling. Aber durch meine Integration in meine Android-App musste ich doch etwas tiefer in den Code als mir eigentlich lieb gewesen wäre :) )
bdombrowsky
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 26
Dabei seit: 09 / 2014
Betreff:

Re: org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs PinTan instanziieren

 · 
Gepostet: 03.09.2014 - 13:47 Uhr  ·  #6
Super, das hat alles (glaube ich) geklappt!

Ich scheitere gerade scheinbar an einer einfachen Sache, wie übergebe ich beim Erstellen des passport Objektes dass Passwort für die zuvor erstellte Datei? Ich habe hinweise gefunden, dass ich "AbstractHBCIPassport.getInstance()" mit einem Passwort aufrufen soll, z.B. "HBCIPassport passport = HBCIPassport.getInstance("PinTan", ["123456", "123456"])"" nur dies funktioniert leider nicht, er sagt mir, dass ich ein Passwort mitgeben soll.

Dann habe ich noch die Varianten mit Antwortdateien usw. gefunden, ist dies zwingend notwendig? Bzw. wenn ja, wie gebe ich hier die Antwort Datei mit?

Danke!

Edit: Ich erhalte weiterhin "Bitte geben Sie das Passwort für den Zugriff auf die Passport-Datei" obwohl er "Callback für Passport mit Init-Daten: [123456, 123456]" aufgerufen hat, das sollte doch passen, oder...?
Taralos
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 4
Dabei seit: 09 / 2014
Betreff:

Re: org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs PinTan instanziieren

 · 
Gepostet: 04.09.2014 - 08:25 Uhr  ·  #7
Das man das Passwort zum Entschlüsseln der Passport-Datei so übergeben kann wäre mir jetzt neu. Ich kann nicht sagen, dass es falsch ist, aber ich selber habe es über einen eigenen HBCI-Callback gelöst. Das würde ich dir auch empfehlen, weil du den dann in deine Anwendung einbauen kannst um die Eingabe für das Passwort selber abzuhandeln oder eben entfallen zu lassen indem du direkt das Passwort übergibst (wenn du dich sicher fühlst).

Dazu legst du eine statische Klasse an z.B. so:

Code

private static class MyHBCICallback extends HBCICallbackConsole

    public void callback(HBCIPassport passport,int reason,String msg,int dataType,StringBuffer retData)
    {
         super.callback(...);
    }
}


Der Parameter reason der reinkommt ist z.B. das du dein Passwort zum Entschlüsseln angeben musst ( NEED_PASSPHRASE_LOAD). Diesen speziellen Fall könntest du jetzt selber lösen. Zum beispiel so:

Code

switch (reason) {
        case NEED_PASSPHRASE_LOAD:
            //Passwort direkt übergeben
            retData.replace(0,retData.length(),"das_passwort");
            //Oder selber um die Eingabe kümmern und das Ergebnis in retData schreiben, hier in Pseudocode als Beispiel
            String passwort = getInputFromUser();
            retData.replace(0,retData.length(),passwort);
            break;
       default: 
             //Für alle anderen Fälle kannst du erstmal die base-Klasse aufrufen
             super.callback(...)
                     


Auf diese Weise kannst du alle Eingaben selber verarbeiten, z.B. auch die Eingabe deiner PIN um dich anzumelden. Als Hinweis: Die Standardimplementierung des Callback-Handlers gibt einige Debugausgaben aus und verlangt öfters eine Eingabe um fortzufahren, dies stört natürlich wenn du ein eigenes Programm implementieren willst weil du ständig Eingaben durchführen musst. Schau mal in die Klasse AnalyseReportOfTransaction im tools-Ordner der hbci4java-sources. Dort hast du einen kompletten CallbackHandler drin den du editieren kannst. Vieles davon wird für dich uninteressant sein, aber einiges sollte man schon abändern.
Jetzt musst du nur noch auf deinen eigenen Callback verweisen und schon kanns losgehen:

Code

HBCIUtils.init(properties, new MyHBCICallback());


Viel Erfolg ;)
bdombrowsky
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 26
Dabei seit: 09 / 2014
Betreff:

Re: org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs PinTan instanziieren

 · 
Gepostet: 04.09.2014 - 18:48 Uhr  ·  #8
Vielen Dank, das hat mir sehr viel geholfen!

Hast Du eventuell noch eine Idee, zu folgender Fehlermeldung beim Laden des Handlers?

Code

<WRN> [2014.09.04 18:46:36.741] [main/http-bio-8080-exec-4] manager.HBCIUtils: will not initialize this threadgroup because it is already initialized
<INF> [2014.09.04 18:46:36.745] [main/http-bio-8080-exec-4] manager.HBCIUtils: This is HBCI4Java-2.5.12
<DBG> [2014.09.04 18:46:36.746] [main/http-bio-8080-exec-4] manager.HBCIUtils: trying to load BLZ data
DEBUG
<DBG> [2014.09.04 18:46:36.756] [main/http-bio-8080-exec-4] passport.AbstractHBCIPassport: creating new instance of a PinTan passport
<DBG> [2014.09.04 18:46:36.757] [main/http-bio-8080-exec-4] passport.HBCIPassportPinTan: loading passport data from file /opt/jira/data/hbci/pintan_hbci4java
<DBG> [2014.09.04 18:46:36.757] [main/http-bio-8080-exec-4] passport.HBCIPassportPinTan: loading data from file /opt/jira/data/hbci/pintan_hbci4java
version: FinTS3
2014-09-04 18:46:36,765 http-bio-8080-exec-4 ERROR bdo 1126x48x1 16guh3s 192.168.10.104,192.168.10.10 /rest/scriptrunner/latest/user/exec/ [common.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service: Fehler beim Erzeugen eines HBCIHandler Objektes
org.kapott.hbci.exceptions.HBCI_Exception: Fehler beim Erzeugen eines HBCIHandler Objektes
        at org.kapott.hbci.manager.HBCIHandler.<init>(HBCIHandler.java:141)
        at src.banking.Transactions.main(Script17.groovy:141)
        at src.banking.Script17.run(Script17.groovy:21)
Caused by: org.kapott.hbci.exceptions.InvalidUserDataException: Kann Syntaxfile hbci-FinTS3.xml mit diesem ClassLoader nicht laden
        at org.kapott.hbci.manager.HBCIKernelImpl.<init>(HBCIKernelImpl.java:85)
        at org.kapott.hbci.manager.HBCIHandler.<init>(HBCIHandler.java:126)
        ... 2 more
bdombrowsky
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 26
Dabei seit: 09 / 2014
Betreff:

Re: org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs PinTan instanziieren

 · 
Gepostet: 04.09.2014 - 19:19 Uhr  ·  #9
Okay, Fehler gefunden... für FinTS3 muss ich "300" eintragen... Mal schauen ob ich es jetzt hinkriege.
bdombrowsky
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 26
Dabei seit: 09 / 2014
Betreff:

Re: org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs PinTan instanziieren

 · 
Gepostet: 05.09.2014 - 12:18 Uhr  ·  #10
Scheinbar scheint meine Volksbank nicht kompatibel mit dem HBCI4Java zu sein.... :(

Code
Caused by: org.kapott.hbci.exceptions.PredelimErrorException: DialogInitAnonRes.MsgTail.SegHead.code: unerwartetes Trennzeichen; erwartet war "'", gefunden wurde "+" (falscher Nachrichtentyp?)


... erhalte ich immer wieder (schon beim Erstellen des Passports), mit meiner Comdirect Bank funktioniert es allerdings.

Wie ist das eigentlich, nutzt man jetzt den HBCI4Java von http://hbci4java.kapott.org/ oder baut man sich sein eigenes neuen Paket aus den Sourcen von https://github.com/willuhn/hbci4java ? Ich nutzte bisher die 1. fertige Variante in neuster Version, aber vll. ist das der Fehler?
Raimund Sichmann
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 8262
Dabei seit: 08 / 2002
Betreff:

Re: org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs PinTan instanziieren

 · 
Gepostet: 07.09.2014 - 11:54 Uhr  ·  #11
Hallo Benjamin,
das glaub ich nicht. Höchstens ist dein hbci4java zu alt...
Welche Volksbank ist es denn? Es gibt nämlich zwei Rechenzentralen, poste doch mal das hbci-Protokoll.
Gruß
Raimund
bdombrowsky
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 26
Dabei seit: 09 / 2014
Betreff:

Re: org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs PinTan instanziieren

 · 
Gepostet: 07.09.2014 - 13:07 Uhr  ·  #12
Hi,

es ist die "Volksbank Lüneburger Heide" mit der BLZ 24060300.

Ich habe das Problem schon beim Generieren des Passports (Egal ob via "org.kapott.hbci.tools.InitAndTest" Klasse oder via dem "Config Tool"). Ich nutze hierbei die HBCI4Java Version 2.5.12.

Log Auszug:

Code
        at org.kapott.hbci.protocol.MultipleSyntaxElements.initData(MultipleSyntaxElements.java:441)
        at org.kapott.hbci.protocol.MultipleSyntaxElements.<init>(MultipleSyntaxElements.java:499)
        at org.kapott.hbci.protocol.MultipleDEs.<init>(MultipleDEs.java:139)
        at org.kapott.hbci.protocol.factory.MultipleDEsFactory.createMultipleDEs(MultipleDEsFactory.java:56)
        at org.kapott.hbci.protocol.DEG.parseNewChildContainer(DEG.java:109)
        at org.kapott.hbci.protocol.SyntaxElement.parseAndAppendNewChildContainer(SyntaxElement.java:456)
        at org.kapott.hbci.protocol.SyntaxElement.initData(SyntaxElement.java:387)
        at org.kapott.hbci.protocol.SyntaxElement.<init>(SyntaxElement.java:446)
        at org.kapott.hbci.protocol.factory.DEGFactory.createDEG(DEGFactory.java:55)
        at org.kapott.hbci.protocol.MultipleDEGs.parseAndAppendNewElement(MultipleDEGs.java:86)
        at org.kapott.hbci.protocol.MultipleSyntaxElements.initData(MultipleSyntaxElements.java:394)
        ... 27 more
Caused by: org.kapott.hbci.exceptions.PredelimErrorException: SynchRes.MsgTail.SegHead.code: unerwartetes Trennzeichen; erwartet war "'", gefunden wurde "+" (falscher Nachrichtentyp?)
        at org.kapott.hbci.protocol.DE.parseValue(DE.java:219)
        at org.kapott.hbci.protocol.DE.initData(DE.java:279)
        at org.kapott.hbci.protocol.DE.<init>(DE.java:290)
        at org.kapott.hbci.protocol.factory.DEFactory.createDE(DEFactory.java:55)
        at org.kapott.hbci.protocol.MultipleDEs.parseAndAppendNewElement(MultipleDEs.java:127)
        at org.kapott.hbci.protocol.MultipleSyntaxElements.initData(MultipleSyntaxElements.java:394)
        ... 37 more
<DBG> [2014.09.07 13:06:21.093] [main/main] passport.AbstractPinTanPassport: dialog init ended with errors - searching for return code 'wrong PIN'
<DBG> [2014.09.07 13:06:21.094] [main/main] passport.AbstractPinTanPassport: autosecfunc: search for 3920s in response to detect allowed twostep secmechs
<DBG> [2014.09.07 13:06:21.094] [main/main] passport.AbstractPinTanPassport: autosecfunc: (re)checking selected pintan secmech
<DBG> [2014.09.07 13:06:21.094] [main/main] passport.AbstractPinTanPassport: autosecfunc: there is only one pintan method (999) supported - choosing this automatically
Callback für Passport mit Init-Daten: PinTan
Sie können die Internetverbindung jetzt beenden
<ENTER> drücken, um fortzufahren

Exception in thread "main" org.kapott.hbci.exceptions.HBCI_Exception: Fehler beim Erzeugen eines HBCIHandler Objektes
        at org.kapott.hbci.manager.HBCIHandler.<init>(HBCIHandler.java:141)
        at org.kapott.hbci.tools.InitAndTest.main(InitAndTest.java:95)
Caused by: org.kapott.hbci.exceptions.HBCI_Exception: Fehler beim Registrieren der Nutzerdaten
        at org.kapott.hbci.manager.HBCIHandler.registerUser(HBCIHandler.java:209)
        at org.kapott.hbci.manager.HBCIHandler.<init>(HBCIHandler.java:132)
        ... 1 more
Caused by: org.kapott.hbci.exceptions.HBCI_Exception: Fehler beim Ermitteln einer neuen System-ID
        at org.kapott.hbci.manager.HBCIUser.fetchSysId(HBCIUser.java:473)
        at org.kapott.hbci.manager.HBCIUser.updateUserData(HBCIUser.java:646)
        at org.kapott.hbci.manager.HBCIUser.register(HBCIUser.java:667)
        at org.kapott.hbci.manager.HBCIHandler.registerUser(HBCIHandler.java:207)
        ... 2 more
Caused by: org.kapott.hbci.exceptions.ProcessException: Fehler beim Ermitteln einer neuen System-ID
        at org.kapott.hbci.manager.HBCIUser.fetchSysId(HBCIUser.java:460)
        ... 5 more


Da steht noch etwas von "Wrong Pin", nach dem Fehler "unerwartetes Trennzeichen; erwartet war "'", gefunden", die PIN ist aber zu 100% korrekt.

Gruß und Danke!
Benni
onlbanker
Benutzer
Avatar
Geschlecht:
Beiträge: 3338
Dabei seit: 05 / 2013
Betreff:

Re: org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs PinTan instanziieren

 · 
Gepostet: 08.09.2014 - 07:42 Uhr  ·  #13
Zitat geschrieben von bdombrowsky
Wie ist das eigentlich, nutzt man jetzt den HBCI4Java von http://hbci4java.kapott.org/ oder baut man sich sein eigenes neuen Paket aus den Sourcen von https://github.com/willuhn/hbci4java ? Ich nutzte bisher die 1. fertige Variante in neuster Version, aber vll. ist das der Fehler?

Was genau meinst du damit? Nutzt du nicht, was bei Hibiscus automatisch mit installiert wird? Fall nicht, würde ich das tun, denn Olaf Willuhn führt hbci4java in seinem Fork weiter, da Stefan Palme derzeit nicht daran arbeitet.
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10889
Dabei seit: 03 / 2005
Betreff:

Re: org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs PinTan instanziieren

 · 
Gepostet: 09.09.2014 - 11:46 Uhr  ·  #14
Zitat geschrieben von bdombrowsky

Wie ist das eigentlich, nutzt man jetzt den HBCI4Java von http://hbci4java.kapott.org/ oder baut man sich sein eigenes neuen Paket aus den Sourcen von https://github.com/willuhn/hbci4java ? Ich nutzte bisher die 1. fertige Variante in neuster Version, aber vll. ist das der Fehler?


Die Version auf hbci4java.kapott.org ist inzwischen hoffnungslos veraltet. Siehe auch mein Hinweis auf https://github.com/willuhn/hbci4java (scroll mal auf der Seite nach unten und lies dir das Readme durch).
bdombrowsky
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 26
Dabei seit: 09 / 2014
Betreff:

Re: org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs PinTan instanziieren

 · 
Gepostet: 09.09.2014 - 17:36 Uhr  ·  #15
Okay, vielen Dank. Dann habe ich eine komplett bekloppte Frage, wie / wo erhalte ich die *.jar Datei um sie in mein lib Verzeichnis einzubinden? Dezeit nutzte ich nämliches dieses Verfahren, um in meiner Applikation, die dortigen Klassen bekannt zu machen. Sprich ich kopiere die HBCI4Java-2.5.12.jar in mein lib Verzeichnis und kann dann in meinem kleinen Groovy Script auf die Klassen etc. zugreifen. Was muss ich jetzt tun, um aus dem GIT Repo auch solch ein Ergebnis zu erzielen?
bdombrowsky
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 26
Dabei seit: 09 / 2014
Betreff:

Re: org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs PinTan instanziieren

 · 
Gepostet: 16.09.2014 - 19:53 Uhr  ·  #16
Hat hier noch jemand einen Rat? Danke!
onlbanker
Benutzer
Avatar
Geschlecht:
Beiträge: 3338
Dabei seit: 05 / 2013
Betreff:

Re: org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs PinTan instanziieren

 · 
Gepostet: 17.09.2014 - 07:32 Uhr  ·  #17
Warum kannst du nicht den Standard Installationsweg nutzen?
bdombrowsky
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 26
Dabei seit: 09 / 2014
Betreff:

Re: org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs PinTan instanziieren

 · 
Gepostet: 17.09.2014 - 09:37 Uhr  ·  #18
Weil ich keine installierte Version benötige, sondern die JAVA Klassen, um aus meinem eigenen Groovy Code darauf zuzugreifen. Ich möchte einzig und allein Buchungen automatisiert in ein anderes System "überführen".
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10889
Dabei seit: 03 / 2005
Betreff:

Re: org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs PinTan instanziieren

 · 
Gepostet: 17.09.2014 - 09:49 Uhr  ·  #19
Dann nimm doch einfach die HBCI4Java-Version aus dem Nightly-Build von Hibiscus. Das ist der aktuellste Stand von HBCI4Java als compiliertes JAR in lib/hbci4java-2.5.12.jar
bdombrowsky
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 26
Dabei seit: 09 / 2014
Betreff:

Re: org.kapott.hbci.exceptions.HBCI_Exception: kann kein Passport des Typs PinTan instanziieren

 · 
Gepostet: 17.09.2014 - 17:33 Uhr  ·  #20
Gute Idee... Danke!
Gewählte Zitate für Mehrfachzitierung:   0