iamtorsten / libfintx

Moved to https://github.com/libfintx/libfintx - please use the new repository!
https://github.com/libfintx/libfintx
GNU Lesser General Public License v3.0
116 stars 41 forks source link

HNHBK:1:3+000000000137+300+0+1+0:1'HIRMG:2:2+9050::Teilweise fehlerhaft.'HIRMS:3:2:998+9130:8,2:Inhalt syntaktisch ungültig.'HNHBS:4:1+1' #105

Closed NoteToSelfFindGoodNickname closed 2 years ago

NoteToSelfFindGoodNickname commented 2 years ago

HNHBK:1:3+000000000137+300+0+1+0:1'HIRMG:2:2+9050::Teilweise fehlerhaft.'HIRMS:3:2:998+9130:8,2:Inhalt syntaktisch ungültig.'HNHBS:4:1+1'

Das bekomme ich beim Aufruf von Kontostand abfragen bei der Postbank.

NoteToSelfFindGoodNickname commented 2 years ago

Eine andere library hatte das Problem auch: https://github.com/nemiah/phpFinTS/issues/111

Ich bin aber nicht gut genug, um das selbst zu programmieren.

NoteToSelfFindGoodNickname commented 2 years ago

Ich vermute mal, der Fehler liegt hier?

libfintx.FinTS.Message.FinTSMessage.Create

Da gibt es das Folgende, aber ich sehe halt nicht, was da falsch ist:

        sb = new StringBuilder();
        sb.Append("HNHBS");
        sb.Append(DEG.Separator);
        sb.Append(Convert.ToString(SegmentNum + 2));
        sb.Append(DEG.Separator);
        sb.Append("1");
        sb.Append(sEG.Delimiter);
        sb.Append(MsgNum);
        sb.Append(sEG.Terminator);
        var msgEnd = sb.ToString();
        // var msgEnd = "HNHBS:" + Convert.ToString(SegmentNum + 2) + ":1+" + MsgNum + "'";

        Log.Write(msgEnd);

        UserID = string.Empty;
        PIN = null;

        return msgHead + encHead + payload + msgEnd;
Philipp91 commented 2 years ago

Siehe hier, wie man die Fehlermeldung entschlüsselt (hoffentlich habe ich bei dieser manuellen Arbeit mich nicht verzählt oder verzettelt oder so).

Wie sieht denn hier in diesem Fall das Anfrage-Segment HNVSK aus? Steht da auch 280:443:... oder steht da 280:<BLZ>:..? In unseren Unit-Tests (z.B. hier) sieht es nämlich so aus, als wäre letzteres das richtige Format.

Philipp91 commented 2 years ago

Die Stelle sieht eigentlich richtig aus. Ist die BLZ vielleicht einfach die falsche?

NoteToSelfFindGoodNickname commented 2 years ago

"HNVSK:998:3+PIN:1+998+1+1::0+1:20220918:225635+2:2:13:@8@00000000:5:1+280:100947::V:0:0+0'"

NoteToSelfFindGoodNickname commented 2 years ago

@Philipp91 Hallo Philipp! Vielen Dank!!! Ich hatte die BLZ richtig eingegeben, aber libfintx speichern die Bankdaten, die man eingetragen hat, beim Beenden des Programms irgendwohin. Beim nächsten Programmstart liest das Programm es wieder aus. Dabei (oder beim Schreiben?) passiert ein Fehler. So wurde aus meiner Eingabe 10010010 diese BLZ: 000100947

Die ursprüngliche Fehlermeldung ist verschwunden! Danke!

Philipp91 commented 2 years ago

D.h. jedes Mal, wenn du jetzt speicherst und das Programm neustartest, dann ist wieder 000100947 drin und es geht wieder nicht?

NoteToSelfFindGoodNickname commented 2 years ago

Es war EINMAL so. Aktuell kann ich es nicht reproduzieren.