Eintragsdetails ansehen

IDProjektKategorieSichtbarkeitZuletzt aktualisiert
0000036Schwäbisch HallFehleröffentlich2017-01-08 21:49
Reporterguest Bearbeitung durchfrank  
PrioritätnormalSchweregradschwerer FehlerReproduzierbarimmer
Status geschlossenLösungerledigt 
RechnertypPCBetriebssystemLinuxBS-VersionLeap42.1
Produktversion2.1.3 
Zielversion2.1.4Behoben in Version2.1.4 
Zusammenfassung0000036: Umsätze werden nicht abgerufen/angezeigt, obwohl "erfolgreiche" Synchronisierung gemeldet wird
Beschreibung[27.12.2016 19:58:23] Synchronisierung via Scripting läuft
[27.12.2016 19:58:23]
[27.12.2016 19:58:23] Synchronisiere Konto: Schwaebisch Hall Standard, Kto. xxxxxxx [Bausparkasse Schwäbisch Hall]
[27.12.2016 19:58:23] Schwäbisch Hall Skript - Version 2.1.3
[27.12.2016 19:58:23] Debug-Mode aus
[27.12.2016 19:58:23] Java: 1.8.0_111 / OS: Linux amd64 / HTMLUnit: 2.23
[27.12.2016 19:58:23] Konfiguriere Webclient
[27.12.2016 19:58:23] Verbindung vorbereitet.
[27.12.2016 19:58:23] Verwende Sitzungs-PIN
[27.12.2016 19:58:43] Es wurden nicht alle Skripte auf der Startseite geladen. Es kann sein, dass die Umsatzabfrage fehlschlägt.
[27.12.2016 19:58:43] Setzte Kundennummernummer auf: xxxxxxxxx
[27.12.2016 19:58:43] Zugangsdaten absenden...
[27.12.2016 19:59:04] Anmeldung erfolgreich
[27.12.2016 19:59:04] Ermittle VTN Nummer
[27.12.2016 19:59:14] Es wurden nicht alle Skripte geladen. Es kann sein, dass die Umsatzabfrage fehlschlägt.
[27.12.2016 19:59:14] Ermittle neue Einträge...
[27.12.2016 19:59:14] Ermittele Umsätze ab xxxxxxxxxx
[27.12.2016 19:59:14] Bearbeit Jahr xxxx
[27.12.2016 19:59:14] Bearbeit Jahr xxxx
[27.12.2016 19:59:14] Info : Tarif: xxxxxx
Bausparsumme: xxxxx
Sparzinssatz: xxxxx
Bewertungszahl: xxxxx
Begünstigte Aufwendungen: xxxxx
WOP Betrag gesamt: xxxxx
Unverb. Zuteilungsaussicht: xxxxxxxxxxx
[27.12.2016 19:59:14] Speichere Umsätze
[27.12.2016 19:59:14] Unerwarteter Fehler in sbh_getAccounts aufgetreten.
[27.12.2016 19:59:14] Webseite verlassen...
[27.12.2016 19:59:18] Fehler beim Abruf:
java.lang.ClassCastException: Cannot cast java.lang.String to [Ljava.lang.String;
[27.12.2016 19:59:18] Synchronisierung via Scripting erfolgreich beendet
TagsKeine Tags zugeordnet.

Eintrags-Beziehungen

hat Duplikat 0000046 geschlossenfrank Fehler beim Laden von Umsätzen der Schwäbisch Hall 

Notizen / Dateien

frank

2016-12-28 10:18

Administrator   ~0000017

Hallo,
vielen Dank für die Eingabe.
Leider kann ich das Problem mit meinen Kontodaten nicht reproduzieren. Deshalb denke ich, das es sich um ein Problem mit dem Text eines speziellen Umsatzes handelt.
Könntest du bitte in den Jameica-Einstellungen das Log-Level auf Debug setzten und mir das Log dann per Mail schicken? Dann sollte man sehen, welcher Text die Probleme bereitet.
Viele Grüße,
Frank

guest

2017-01-07 11:30

Betrachter   ~0000026

Habe das selbe Problem.
Log Level auf Debug bringt leider keinen wirklichen Mehrwert.

Mit Ausnahme von sehr vielen:
DEBUG: Das stimmt was mit den Salden nicht...!

Muss mir wohl mal eine Entwicklungsumgebung zum Debuggen aufsetzen

frank

2017-01-07 12:43

Administrator   ~0000028

Hallo,
das mit dem Debuggen ist in diesem Fall leider nicht ganz so einfach. Da die Skripte aus Java heraus in der Java internen Javascript-Engine laufen. Debuggen heißt da meisten viele, viele Log_debug einfügen.
Komisch finde ich es allerdings schon, da gerade das BSH Skript, nicht die Webseite scannt, sondern im Hintergrund die Daten als JSON-Call herunter läd. Die sollten doch eigentlich immer lesbar sein. Allerdings macht die BSH, da schon mal komische Sachen. In einem Fall, gab es Umsätze, die nicht zu einem Monat gehörten, sondern in der JSON Datein, einfach in das Jahr geschrieben wurden...An die JSON Datei kommst du übrigens auch über einen Webbrowser. Einfach anmelden, dann ein einem weiterem Tab die URL eingaben:
https://www.schwaebisch-hall.de/bin/bshweb/accountcontracts
Damit erhältst die die VTN(s) deiner Verträge. Die Nummer muss dann am Ende der URL hier angegeben werden:
https://www.schwaebisch-hall.de/bin/bshweb/accountdetails?vtn=

Da er die Kontoinformationen ja ausliest, gehe mal davon aus, das der Fehler entweder beim erstellen der VTN oder etwas später beim auslesen der Detailinfos aus dem JSON erfolgt. Zumindest das müsste man aber aus der log lesen können, wenn sie auf DEBUG stehen.

Wenn du weitere Infos brauchst, dann bitte per Email melden. Da kann man dann auch mal ein Log austauschen.

Grüße,
Frank

guest

2017-01-07 20:30

Betrachter   ~0000029

Hallo,
kenne mich nicht wirklich gut mit "JSON"-Files aus, habe aber das File heruntergeladen und wollte es in einem Editor (LINUX: Kate) ansehen. Dabei habe ich folgende Meldung vom Editor erhalten:
"Die Datei XXXXXXXX.json ist geöffnet worden, enthält aber zu lange Zeilen (länger als das eingestellte Zeichenlimit von 4096 Zeichen).
Die längsten Zeilen waren 4330 Zeichen lang.
Die langen Zeilen sind umgebrochen worden und die Datei ist schreibgeschützt, da ein Speichervorgang die Datei verändern würde."

Kann das das Problem sein? Gibt da im Jameica-"Skript" auch eine "Längen"-Beschränkung?
Was kann ich tun?
Danke.
(Habe noch einen zweiten Vertrag. Bei den funktioniert alles tadellos - da gibt es beim "JSON"-File-Editieren auch keine Meldung des Editors.)

speedracerm

2017-01-08 10:35

Reporter   ~0000031

Hallo zusammen,

ich vermute mal, dass es das gleiche Problem ist wie bei mir: die Länges des Kundenmagazin-Strings.

Viele Grüße
speedracerm

Quirin

2017-01-08 20:13

Reporter   ~0000034

java.lang.ClassCastException: Cannot cast java.lang.String to [Ljava.lang.String; bedeutet dass ein String auf ein String-Array oder String-Liste gecastet wird (bzw. versucht).

Somit ist ein Fehler beim Auslesen der JSON zu vermuten - nicht aber unbedingt bei der Länge des Kundenmagazins-Strings.

frank

2017-01-08 20:53

Administrator   ~0000036

Hallo Qurin,
wie richtig erkannt, ist der Fehler nicht die Länge, sondern ein falscher Datentyp. Die Javafunktion möchte gerne ein String-Array, ich habe aber nur einen String übergeben...Noch ein typisches Beispiel, warum ich auf ein Javabasierstes Backend umstelle...
Die Lösung ist wahrscheinlich die Zeile 876
            umsatz.setWeitereVerwendungszwecke(buchung.zweck3);
mit
            umsatz.setWeitereVerwendungszwecke( [buchung.zweck3] );

ersetzen. Bin jetzt nicht der ausgewiesene Javascript-Experte, aber damit müsste doch dann ein Array übergeben werden, oder?

Viele Grüße,

Quirin

2017-01-08 21:13

Reporter   ~0000038

Ein ausgewiesener-Javascript-Noob würde dies jetzt mal so bestätigen.

frank

2017-01-08 21:45

Administrator   ~0000039

Datentyp für weitere Verwendungszwecke auf String-Array geändert.

Eintrags-Historie

Änderungsdatum Benutzername Feld Änderung
2016-12-27 20:17 guest Neuer Eintrag
2016-12-27 20:17 guest Status neu => zugewiesen
2016-12-27 20:17 guest Bearbeitung durch => frank
2016-12-28 10:18 frank Notiz hinzugefügt: 0000017
2017-01-07 11:30 guest Notiz hinzugefügt: 0000026
2017-01-07 12:43 frank Notiz hinzugefügt: 0000028
2017-01-07 20:30 guest Notiz hinzugefügt: 0000029
2017-01-08 10:35 speedracerm Notiz hinzugefügt: 0000031
2017-01-08 15:45 frank Beziehung hinzugefügt hat Duplikat 0000046
2017-01-08 15:46 frank Zielversion => 2.1.4
2017-01-08 20:13 Quirin Notiz hinzugefügt: 0000034
2017-01-08 20:53 frank Notiz hinzugefügt: 0000036
2017-01-08 21:13 Quirin Notiz hinzugefügt: 0000038
2017-01-08 21:45 frank Notiz hinzugefügt: 0000039
2017-01-08 21:45 frank Status zugewiesen => geschlossen
2017-01-08 21:45 frank Lösung offen => erledigt
2017-01-08 21:45 frank Behoben in Version => 2.1.4
2017-01-08 21:49 frank Zusammenfassung Umsätze werden nicht abgerufen/angezeigt, obwohl "erfolgreiche" Synchonisierung gemeldet wird => Umsätze werden nicht abgerufen/angezeigt, obwohl "erfolgreiche" Synchronisierung gemeldet wird