Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

InvalidUserDataException bei der Aktivierung Dauerauftrag

 
Knesch
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 3
Dabei seit: 05 / 2009
Betreff:

Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

 · 
Gepostet: 23.05.2009 - 13:23 Uhr  ·  #1
Ich möchte einen Dauerauftrag erstellen.
Zahlungsturnus: Monatlich, am 1. des Monats
Erster Zahlungstermin: 01.06.2009
Letzte Zahlung: <leer>

Wenn ich nun auf "Speichern auf Ausführen" klicke, wird die folgende Kommunikation mit Fehlern beendet. Würde mich freuen, wenn mir hier jemand helfen könnte.

OS: Ubuntu 9.4
Hibiscus 1.9 (Jameica 1.7).
Java: Sun 1.6.0.13

Code
[23.05.2009 13:18:33] Giro - Haspa [Hamburger Sparkasse]: Lade HBCI-Sicherheitsmedium
[23.05.2009 13:18:33] Giro - Haspa [Hamburger Sparkasse]: Initialisiere HBCI-Sicherheitsmedium
[23.05.2009 13:18:33] Giro - Haspa [Hamburger Sparkasse]: Erzeuge HBCI-Handle
[23.05.2009 13:18:33] Giro - Haspa [Hamburger Sparkasse]: Öffne HBCI-Verbindung
[23.05.2009 13:18:38] hole kreditinstituts-spezifische Daten
[23.05.2009 13:18:38] fetching BPD
[23.05.2009 13:18:38] erzeuge HBCI-Nachricht DialogInitAnon
[23.05.2009 13:18:38] versende HBCI-Nachricht
[23.05.2009 13:18:38] warte auf Antwortdaten
[23.05.2009 13:18:38] waiting for response
[23.05.2009 13:18:39] [warn] there is an invalid hbci version number ('2') in this BPD - replacing it with '210'
[23.05.2009 13:18:40] überprüfe Signatur der Antwortnachricht
[23.05.2009 13:18:40] installed new BPD with version 27
[23.05.2009 13:18:40] kreditinstituts-spezifische Daten erhalten - neue Version ist 27
[23.05.2009 13:18:40] data NOT sent because of missing user confirmation
[23.05.2009 13:18:40] beende Dialog
[23.05.2009 13:18:40] erzeuge HBCI-Nachricht DialogEndAnon
[23.05.2009 13:18:40] versende HBCI-Nachricht
[23.05.2009 13:18:40] warte auf Antwortdaten
[23.05.2009 13:18:40] waiting for response
[23.05.2009 13:18:40] überprüfe Signatur der Antwortnachricht
[23.05.2009 13:18:40] Dialog beendet
[23.05.2009 13:18:40] hole nutzerspezifische Daten
[23.05.2009 13:18:40] fetching UPD
[23.05.2009 13:18:40] erzeuge HBCI-Nachricht DialogInit
[23.05.2009 13:18:40] signiere HBCI-Nachricht
[23.05.2009 13:18:40] verschlüssele HBCI-Nachricht
[23.05.2009 13:18:40] [warn] could not insert the following user-defined data into message: Crypted.CryptHead.SecProfile.version=1
[23.05.2009 13:18:40] [warn] could not insert the following user-defined data into message: Crypted.CryptHead.SecProfile.method=RDH
[23.05.2009 13:18:41] versende HBCI-Nachricht
[23.05.2009 13:18:41] warte auf Antwortdaten
[23.05.2009 13:18:41] waiting for response
[23.05.2009 13:18:41] entschlüssele Antwortnachricht
[23.05.2009 13:18:41] [warn] RSigIdLeadingZero: found leading zero (07474944785502), removing it
[23.05.2009 13:18:41] [warn] RSigIdLeadingZero: setting new sigid: 7474944785502
[23.05.2009 13:18:41] überprüfe Signatur der Antwortnachricht
[23.05.2009 13:18:41] installed new UPD with version 41
[23.05.2009 13:18:41] nutzerspezifische Daten aktualisiert - neue Version is 41
[23.05.2009 13:18:41] beende Dialog
[23.05.2009 13:18:41] erzeuge HBCI-Nachricht DialogEnd
[23.05.2009 13:18:41] signiere HBCI-Nachricht
[23.05.2009 13:18:41] verschlüssele HBCI-Nachricht
[23.05.2009 13:18:41] [warn] could not insert the following user-defined data into message: Crypted.CryptHead.SecProfile.version=1
[23.05.2009 13:18:41] [warn] could not insert the following user-defined data into message: Crypted.CryptHead.SecProfile.method=RDH
[23.05.2009 13:18:41] versende HBCI-Nachricht
[23.05.2009 13:18:41] warte auf Antwortdaten
[23.05.2009 13:18:41] waiting for response
[23.05.2009 13:18:41] entschlüssele Antwortnachricht
[23.05.2009 13:18:41] [warn] RSigIdLeadingZero: found leading zero (0XXXXXXXXXXX), removing it
[23.05.2009 13:18:41] [warn] RSigIdLeadingZero: setting new sigid: XXXXXXXXX
[23.05.2009 13:18:41] überprüfe Signatur der Antwortnachricht
[23.05.2009 13:18:42] Dialog beendet
[23.05.2009 13:18:42] Giro - Haspa [Hamburger Sparkasse]: Aktiviere HBCI-Job: "Abruf Daueraufträge Giro - Haspa, Kto. XXXXXXXXX [Hamburger Sparkasse]"
[23.05.2009 13:18:42] adding job DauerList3 to dialog
[23.05.2009 13:18:42] Giro - Haspa [Hamburger Sparkasse]: Aktiviere HBCI-Job: "Dauerauftrag XXXXXXXX"
[23.05.2009 13:18:42] Fehler beim Ausführen der HBCI-Aufträge org.kapott.hbci.exceptions.InvalidUserDataException: 1 ist nicht als Ausführungstag erlaubt
[23.05.2009 13:18:42] 1 ist nicht als Ausführungstag erlaubt
[23.05.2009 13:18:42] Beende HBCI-Übertragung
[23.05.2009 13:18:42] HBCI-Übertragung mit Fehlern beendet


In den Systemmeldungen ist folgender Stacktrace:
Code
error while executing hbci jobs
org.kapott.hbci.exceptions.InvalidUserDataException: 1 ist nicht als Ausführungstag erlaubt
  at org.kapott.hbci.GV.GVDauerNew.setParam(GVDauerNew.java:162)
  at de.willuhn.jameica.hbci.server.hbci.AbstractHBCIJob.setJob(AbstractHBCIJob.java:112)
  at de.willuhn.jameica.hbci.server.hbci.HBCIFactory$Worker.run(HBCIFactory.java:493)
  at de.willuhn.jameica.gui.GUI$4.run(GUI.java:796)


Danke im Vorraus für Hilfe.
Mit freundlichen Grüßen
Knesch
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10840
Dabei seit: 03 / 2005
Betreff:

Re: Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

 · 
Gepostet: 25.05.2009 - 00:15 Uhr  ·  #2
Die Fehlermeldung "InvalidUserDataException: 1 ist nicht als Ausführungstag erlaubt" deutet darauf hin, dass die Bank Dauerauftraege zum 1. des Monats nicht unterstuetzt. Allerdings wundert mich das. Zum einen ist es unplausibel, zum anderen prueft Hibiscus die moeglichen Tage bereits selbst vorher. Es haette also eine verstaendliche Fehlermeldung angezeigt werden muessen. Bliebe noch, dass die Vorlaufzeit von 5 Tagen zu kurz ist und damit der 1.6. nicht mehr als Startdatum moeglich ist. Kann ich mir aber auch nicht vorstellen. Probier dennoch mal den 1.7. als Start bzw. den 2. jeden Monats.
Mike64
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 495
Dabei seit: 05 / 2003
Betreff:

Re: Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

 · 
Gepostet: 25.05.2009 - 08:16 Uhr  ·  #3
Könnte es sein, dass die Bank den 01.06. als ersten Ausführungstag ablehnt, weil's ein Feiertag ist ? :idea:
Potzblitz
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: das Tor zur Welt
Beiträge: 78
Dabei seit: 11 / 2006
Betreff:

Re: Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

 · 
Gepostet: 25.05.2009 - 10:15 Uhr  ·  #4
Zitat geschrieben von Knesch
In den Systemmeldungen ist folgender Stacktrace:
Code
error while executing hbci jobs 
org.kapott.hbci.exceptions.InvalidUserDataException: 1 ist nicht als Ausführungstag erlaubt 
   at org.kapott.hbci.GV.GVDauerNew.setParam(GVDauerNew.java:162) 
   at de.willuhn.jameica.hbci.server.hbci.AbstractHBCIJob.setJob(AbstractHBCIJob.java:112) 
   at de.willuhn.jameica.hbci.server.hbci.HBCIFactory$Worker.run(HBCIFactory.java:493) 
   at de.willuhn.jameica.gui.GUI$4.run(GUI.java:796) 

Moin,

also der 01. mtl. ist bei der Haspa lt. BPD definitiv zulässig:
Code
HIDAES:19:4:4+800+1+4:2:360:0102030612:010203040506070809101112131415161718192021222324252627282930:::52


Ich hab's eben über den Web-Client der Haspa und über HBCI-PIN/TAN mit StarMoney mal probiert und konnte problemlos einen DA per 01.06.2009 einrichten.

Die Fehlermeldung in den Systemmeldungen sieht für mich eher nach einem Hibiscus-internen Error aus.
Vielleicht weil in den BPD (korrekter Weise) als möglicher Ausführungstag "01" steht und "1" eingegeben wurde?

Gruß Potz

edit 25.05.2009 10:25:
------------------------------------------------------------------------
Übertragen wird bei SM als Ausführungstag auch "nur" die "1" und nicht "01", daran sollte es also eigentlich auch nicht scheitern:
Code
HKDAE:3:4+1234567890::280:20050550+1098765432::280:20050550+<Empf.-Name>++0,01:EUR+52++TEST+++20090601:M:1:1
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10840
Dabei seit: 03 / 2005
Betreff:

Re: Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

 · 
Gepostet: 25.05.2009 - 11:28 Uhr  ·  #5
Den Test von Hibiscus selbst hat der Auftrag bestanden. Sonst haette die Fehlermeldung "Zahlungen am {0}. des Monats werden von Ihrer Bank nicht unterstützt. Erlaubte Werte: {1}" gehiessen.

Die Meldung kommt von HBCI4Java - welches den gleichen Check nochmal macht. Ob dabei "01" oder "1" uebergeben wurde, spielt eigentlich keine Rolle.

Umso weniger verstehe ich, wie der Fehler ueberhaupt zustande kommen konnte.
Knesch
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 3
Dabei seit: 05 / 2009
Betreff:

Re: Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

 · 
Gepostet: 25.05.2009 - 18:44 Uhr  ·  #6
Hmm, sowohl der 01.07.2009, als auch der 02.06.2009 scheitern mit dem selben Fehler.
Verwunderlich ist auch, dass im Falle vom 02.06.2009 weiterhin die 1 nicht als Ausführungstag erlaubt ist.
Auch das Setzen von einem Enddatum hilft leider nicht. Hmm, eventuell muss ich mir doch mal den Source ziehen und selber debuggen.
Knesch
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 3
Dabei seit: 05 / 2009
Betreff:

Re: Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

 · 
Gepostet: 02.07.2009 - 18:47 Uhr  ·  #7
Ich habe den Fehler identifiziert. Dieser liegt im hbci4java. Die Properties, wo die erlaubten Tage ausgelesen werden, sind hingegen der
HIDAES:19:4:4+800+1+4:2:360:0102030612:010203040506070809101112131415161718192021222324252627282930:::52
nicht aufsteigend sortiert, sondern absteigend von 30-01.
Die Implementierung der HBCI4Java sieht hier nun folgendermassen aus (von mir zum Debug leicht umgebaut, Logik aber nicht verändert):

Code
String st = res.getProperty("dayspermonth");

          if (st != null) {
            String value2 = new DecimalFormat("00").format(Integer
                .parseInt(value));

            if (!st.equals("00")) {
              int index = st.indexOf(value2) & 1;
              if (index != 0) {
                String msg = HBCIUtilsInternal.getLocMsg(
                    "EXCMSG_INV_EXECDAY", value);
                if (!HBCIUtilsInternal
                    .ignoreError(
                        getMainPassport(),
                        "client.errors.ignoreWrongJobDataErrors",
                        msg))
                  throw new InvalidUserDataException(msg);
              }
            }
          }

Es wird als der Index genommen, an welchem die übermittelte Zeit das erste Mal auftritt und dann über die binäre Verknüpfung geschaut, ob der Index "gerade" ist. Da nun aber die Reihenfolge von 30-01 läuft ist der erste Treffer "30292827262524232221201918..." bei der 20 und 19 zu finden, was aber ein gerade Index ist, welcher durch binäre Verknüpfung "ungerade" wird, und somit die Bedingung zur Exception wahr werden lässt.
Es müsste als hier der String, wie bereits in Hibiscus gesplittet werden und geguckt werden, ob der erlaubte Wert enthalten ist.

@willow: Magst Du den Fehler eventuell an hbci4java melden? Ich denke, dass Du dort guten Kontakt hast, und würde mir eine Menge Arbeit ersparen.

Mfg
Knesch
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10840
Dabei seit: 03 / 2005
Betreff:

Re: Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

 · 
Gepostet: 03.07.2009 - 11:01 Uhr  ·  #8
Stefan - der Autor von HBCI4Java liest auch hier mit. Von daher warten wir einfach mal, was er dazu sagt ;)
kleiner77
Benutzer
Avatar
Geschlecht:
Beiträge: 779
Dabei seit: 08 / 2004
Betreff:

Re: Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

 · 
Gepostet: 27.07.2009 - 15:21 Uhr  ·  #9
Ihr habt wohl recht... Das ist ein Bug, der gefixt wird.

Trotzdem wäre es besser, sowas per Mail oder Bugtracker direkt an mich zu senden - so regelmäßig lese ich hier leider auch nicht mit, und dieses Posting habe ich eher durch Zufall gefunden ;-)

Grüße
-stefan-
kleiner77
Benutzer
Avatar
Geschlecht:
Beiträge: 779
Dabei seit: 08 / 2004
Betreff:

Re: Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

 · 
Gepostet: 27.07.2009 - 17:31 Uhr  ·  #10
Entsprechende Änderung ist im SVN. Ist also vllt. ab morgen schon im Nightly-Build, falls Olaf heute nochmal den aktuellen Stand zieht...

Grüße
-stefan-
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10840
Dabei seit: 03 / 2005
Betreff:

Re: Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

 · 
Gepostet: 27.07.2009 - 18:23 Uhr  ·  #11
ist eingecheckt
kleiner77
Benutzer
Avatar
Geschlecht:
Beiträge: 779
Dabei seit: 08 / 2004
Betreff:

Re: Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

 · 
Gepostet: 28.07.2009 - 19:39 Uhr  ·  #12
@Knesch: tritt der Fehler mit dem aktuellen Nightly Build von Hibiscus immer noch auf?
-stefan-
Gewählte Zitate für Mehrfachzitierung:   0