nemiah / phpFinTS

PHP library to communicate with FinTS/HBCI servers
MIT License
131 stars 40 forks source link

FinTS errors: 9050 (global): Teilweise fehlerhaft. 9120 (wrt seg 1): Nachrichtennummer nicht erwartet. #383

Closed fafiebig closed 2 months ago

fafiebig commented 2 years ago

Ahoi,

habe jetzt bei page reload das Problem das die fints Instance noch vorhanden ist (wird per persist() data reinitialisiert) aber dann nur noch mit folgendem Fehler bei execute() reagiert:

FinTS errors: 9050 (global): Teilweise fehlerhaft. 9120 (wrt seg 1): Nachrichtennummer nicht erwartet.

Ich vermute einen fehlerhaften persistierten Stand, kann das aber nicht eingrenzen. Bei erstem Auslösen wird ordentlich responded, beim reload Fehler.

Gibts es eine Möglichkeit das zu prüfen bzw zu resetten?

Btw bei drittem auslösen folgt ähnlicher Fehler:

FinTS errors: 9050 (global): Teilweise fehlerhaft. 9800 (wrt seg 1): Dialog ungueltig/unbekannt.

Mein Fluss ist wie folgt: login() if needed > persist() if login > submitTan() if needed > execute()

theoretisch müsste die Instance immer den Stand nach login() haben.

Philipp91 commented 2 years ago

login() if needed > persist() if login > submitTan() if needed > execute()

Ich nehme an, am Ende ist noch ein persist()?

login() if needed

Wie ist das gemeint? Werden da u.U. uralte Instanzen weiter verwendet? Nach ein paar Minuten Inaktivität verwirft der Bank-Server die Session vermutlich und man muss forgetDialog() aufrufen. Oder man kann das ganze vermeiden, indem man nach jedem execute() erst close() und dann persist() aufruft.

nur noch mit folgendem Fehler bei execute() reagiert

Ist das dann der Fall, wenn direkt vorher login() ausgeführt wurde? Oder mit einer älteren Session?

witschko commented 1 year ago

Hallo zusammen,

gibt es hier neue Erkenntnisse? Bei mir tritt das gleiche Problem auf bei einer decoupled TAN Abfrage. Hier ist der Ablauf folgendedermaßen:

Muss vor dem zweiten Aufruf zuerst neu persist() aufgerufen werden?

Philipp91 commented 1 year ago

Ja. Mit anderen Worten, derselbe persistierte Zustand sollte nie zwei Mal geladen werden (außer wenn beim ersten Mal absolut gar nichts damit gemacht wurde, also insbesondere keine Nachrichten zum Server gesendet wurden).

witschko commented 1 year ago

Ok, danke...es hat funktioniert.

timrasche commented 1 year ago

Ok, danke...es hat funktioniert.

Wird die Action mit persistiert oder nur die Instanz?

witschko commented 1 year ago

Ich persistiere sowohl Action als auch Instanz.