Verschiedene Ebenen des Scheiterns

 
MartinN
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 13
Dabei seit: 10 / 2012
Betreff:

Verschiedene Ebenen des Scheiterns

 · 
Gepostet: 27.02.2013 - 15:39 Uhr  ·  #1
Ich habe gerade mit HBCI4Java zu tun und bin inzwischen ziemlich irritiert.
Wenn man einen HBCIJob an die Bank schickt, kann man ja auf mehreren Ebenen ein Problem haben:

Code

job.addToQueue();
exec_result = connection.execute();
job_result = job.getJobResult();
job_status = job_result.getJobStatus()


Jetzt habe ich 2 Fragen:
1.) Was ist der unterschied zwischen exec_result.isOK(), job_result.isOK() und job_status.isOK() - also: Was bedeutet es, wenn eins davon "false" ist?

2.) Wie kann ich das verursachen. Also was sind Beispiele, um die drei zu erzeugen.

Für exec_result weiss ich, dass es mit dem Job zusammenhängt, also mir z.B. mitteilt, wenn die Währung, der Betrag oder irgendeiner der Parameter im Job fehlerhaft ist/fehlt/etc.
Aber für die anderen zwei bin ich irgendwie überfragt und zumindest mit dem HBCI-Testserver von Kapott lässt sich das auch nicht wirklich triggern :(

Danke danke danke für jede (Teil-)Lösung des Rätsels!
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10838
Dabei seit: 03 / 2005
Betreff:

Re: Verschiedene Ebenen des Scheiterns

 · 
Gepostet: 28.02.2013 - 23:26 Uhr  ·  #2
Die "isOK()" Funktionen werten i.d.R. auch nur die HBCI-Status-Codes aus und schauen, ob da welche aus dem 9000er Bereich dabei sind, die Fehler deklarieren.

"getJobResult()" liefert das fachliche Ergebnis des HBCI-Jobs. Bei einer Umsatz-Abfrage sind dort halt die Umsaetze drin.

"getJobStatus" liefert hingegen den Erfolgsstatus und ggf. aufgetretene Exceptions.

Wie du geziehlt Fehler provozieren kannst, kann ich dir aber auch nicht pauschal beantworten. Das haengt teilweise vom Auftrag ab (verwende halt ungueltige Auftragsdaten).

BTW: Der Quellcode von HBCI4Java ist eigentlich sehr gut dokumentiert. Falls du das also noch nicht gemacht hast, empfehle ich dir, ihn anzuschauen. Da findest du haufenweise Javadoc-Kommentare mit Hinweisen. Z.Bsp.:

https://github.com/willuhn/hbc…esult.java
https://github.com/willuhn/hbc…tatus.java
MartinN
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 13
Dabei seit: 10 / 2012
Betreff:

Re: Verschiedene Ebenen des Scheiterns

 · 
Gepostet: 01.03.2013 - 11:01 Uhr  ·  #3
Hey super, das war aufschlussreich :-)
Ich war gerade an anderer Stelle im HBCI4Java source am Graben bzgl. 2-Step-TAN und fand dieses Juwel in der HBCIJobImpl Klasse:
Code

// wenn es noch keine gibt, ein neues frontend-ding anlegen
Gewählte Zitate für Mehrfachzitierung:   0