Bitte wähle nachfolgend aus, welche Beiträge auf dieser Themenseite auf dem Ausdruck ausgegeben werden sollen. Um dies zu tun markiere bitte die Checkbox auf der linken Seite der Posts, die im Ausdruck berücksichtigt werden sollen und klicke anschließend ganz unten auf der Seite auf den Button "Drucken".

Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

InvalidUserDataException bei der Aktivierung Dauerauftrag

Knesch

Betreff:

Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

 ·  Gepostet: 23.05.2009 - 13:23 Uhr  ·  #57672
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

Betreff:

Re: Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

 ·  Gepostet: 25.05.2009 - 00:15 Uhr  ·  #57685
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

Betreff:

Re: Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

 ·  Gepostet: 25.05.2009 - 08:16 Uhr  ·  #57692
Könnte es sein, dass die Bank den 01.06. als ersten Ausführungstag ablehnt, weil's ein Feiertag ist ? :idea:

Potzblitz

Betreff:

Re: Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

 ·  Gepostet: 25.05.2009 - 10:15 Uhr  ·  #57695
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

Betreff:

Re: Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

 ·  Gepostet: 25.05.2009 - 11:28 Uhr  ·  #57698
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

Betreff:

Re: Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

 ·  Gepostet: 25.05.2009 - 18:44 Uhr  ·  #57711
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

Betreff:

Re: Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

 ·  Gepostet: 02.07.2009 - 18:47 Uhr  ·  #58525
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

Betreff:

Re: Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

 ·  Gepostet: 03.07.2009 - 11:01 Uhr  ·  #58540
Stefan - der Autor von HBCI4Java liest auch hier mit. Von daher warten wir einfach mal, was er dazu sagt ;)

kleiner77

Betreff:

Re: Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

 ·  Gepostet: 27.07.2009 - 15:21 Uhr  ·  #59210
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

Betreff:

Re: Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

 ·  Gepostet: 27.07.2009 - 17:31 Uhr  ·  #59227
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

Betreff:

Re: Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

 ·  Gepostet: 27.07.2009 - 18:23 Uhr  ·  #59231
ist eingecheckt

kleiner77

Betreff:

Re: Hibiscus - Fehler bei Erstellung Dauerauftrag - Haspa

 ·  Gepostet: 28.07.2009 - 19:39 Uhr  ·  #59275
@Knesch: tritt der Fehler mit dem aktuellen Nightly Build von Hibiscus immer noch auf?
-stefan-