#41 Ungültige Antwort #2

Zamknięty
otworzone 5 lat temu przez fynngodau · 32 komentarzy
fynngodau skomentował 5 lat temu

Previous: #38

Previous: #38
fynngodau wspomina ten problem w commicie 5 lat temu
fynngodau wspomina ten problem w commicie 5 lat temu
fynngodau skomentował 5 lat temu
Właściciel

Ich werde mich leider erst später heute Abend darum kümmern können. Ich hoffe, das News-System #39 hilft uns hier weiter!

Ich werde mich leider erst später heute Abend darum kümmern können. Ich hoffe, das News-System #39 hilft uns hier weiter!
Moritz Zwerger skomentował 5 lat temu

Hier mal der adb logcat:

10-17 19:57:36.753  8821 17793 D DOWNLOAD: downloading timetable list
10-17 19:57:36.993  8821 17793 W System.err: godau.fynn.dsbdirect.manager.DownloadManager$CredentialsIncorrectException
10-17 19:57:36.997  8821 17793 W System.err:    at godau.fynn.dsbdirect.manager.DownloadManager.downloadTimetableList(DownloadManager.java:139)
10-17 19:57:36.997  8821 17793 W System.err:    at godau.fynn.dsbdirect.activity.MainActivity.getTimetables(MainActivity.java:229)
10-17 19:57:36.998  8821 17793 W System.err:    at godau.fynn.dsbdirect.activity.MainActivity.access$000(MainActivity.java:66)
10-17 19:57:36.998  8821 17793 W System.err:    at godau.fynn.dsbdirect.activity.MainActivity$3.run(MainActivity.java:185)
10-17 19:57:36.998  8821 17793 W System.err:    at java.lang.Thread.run(Thread.java:764)

=> Wieder wie bei #38

Hier mal der adb logcat: ``` 10-17 19:57:36.753 8821 17793 D DOWNLOAD: downloading timetable list 10-17 19:57:36.993 8821 17793 W System.err: godau.fynn.dsbdirect.manager.DownloadManager$CredentialsIncorrectException 10-17 19:57:36.997 8821 17793 W System.err: at godau.fynn.dsbdirect.manager.DownloadManager.downloadTimetableList(DownloadManager.java:139) 10-17 19:57:36.997 8821 17793 W System.err: at godau.fynn.dsbdirect.activity.MainActivity.getTimetables(MainActivity.java:229) 10-17 19:57:36.998 8821 17793 W System.err: at godau.fynn.dsbdirect.activity.MainActivity.access$000(MainActivity.java:66) 10-17 19:57:36.998 8821 17793 W System.err: at godau.fynn.dsbdirect.activity.MainActivity$3.run(MainActivity.java:185) 10-17 19:57:36.998 8821 17793 W System.err: at java.lang.Thread.run(Thread.java:764) ``` => Wieder wie bei #38
Moritz Zwerger skomentował 5 lat temu

Hier ein Teil der Lösung:

{
   "AppId":"4f0261d6-9963-4398-ad90-3373e1e31373",
   "PushId":"",
   "UserId":"user",
   "UserPw":"pw",
   "AppVersion":"2.5.9",
   "Device":"",
   "OsVersion":"",
   "Language":"",
   "Date":"",
   "LastUpdate":"2019-10-04T14:18:5122700",
   "BundleId":""
}

Dabei ist das die minimalistischste Anfrage. Seit heute muss ein 'LastUpdate' mitgeschickt werden. Dabei ist es egal, welches Datum (habe auch 2000 und 1970 gestestet und es läuft. AppID sieht nach einer UUID aus. Diese darf allerdings nicht random generiert werden.

Ich kann gerade nicht weitertesten, da ich '503 The service is unavailable.' bekomme

Hier ein Teil der Lösung: ``` { "AppId":"4f0261d6-9963-4398-ad90-3373e1e31373", "PushId":"", "UserId":"user", "UserPw":"pw", "AppVersion":"2.5.9", "Device":"", "OsVersion":"", "Language":"", "Date":"", "LastUpdate":"2019-10-04T14:18:5122700", "BundleId":"" } ``` Dabei ist das die minimalistischste Anfrage. Seit heute muss ein 'LastUpdate' mitgeschickt werden. Dabei ist es egal, welches Datum (habe auch 2000 und 1970 gestestet und es läuft. AppID sieht nach einer UUID aus. Diese darf allerdings nicht random generiert werden. Ich kann gerade nicht weitertesten, da ich '503 The service is unavailable.' bekomme
fynngodau skomentował 5 lat temu
Właściciel

503 bekam ich auch. Ich hätte fast geschrieben, das wäre die Ursache für den Fehler. Jetzt antwortet der Server gerade gar nicht mehr.

503 bekam ich auch. Ich hätte fast geschrieben, das wäre die Ursache für den Fehler. Jetzt antwortet der Server gerade gar nicht mehr.
Moritz Zwerger skomentował 5 lat temu

Jip. War gerade beim Testen. 503 habe ich davor nicht bekommen. DSBDirect erkennt das aber auch und sagt, dass ich offline bin. Evtl. noch den Error code parsen und schauen, ob es wirklich am Internet liegt? Du könntest ja überprüfen, wenn nicht 200 und kein time out, dann sagen: Serverfehler,...

Jip. War gerade beim Testen. 503 habe ich davor nicht bekommen. DSBDirect erkennt das aber auch und sagt, dass ich offline bin. Evtl. noch den Error code parsen und schauen, ob es wirklich am Internet liegt? Du könntest ja überprüfen, wenn nicht 200 und kein time out, dann sagen: Serverfehler,...
fynngodau skomentował 5 lat temu
Właściciel

Im Fall, dass der Server nicht antwortet, entsteht eine IOException, da kann ich nicht unterscheiden, ob das am Server oder an der Client liegt. 503 dürfte eigentlich eine LoginFailureException (Ungültige Antwort) (ehemals CredentialsIncorrectException) sein.

Der Server steht jetzt wieder.

Im Fall, dass der Server nicht antwortet, entsteht eine IOException, da kann ich nicht unterscheiden, ob das am Server oder an der Client liegt. 503 dürfte eigentlich eine `LoginFailureException` (Ungültige Antwort) (ehemals `CredentialsIncorrectException`) sein. Der Server steht jetzt wieder.
Moritz Zwerger skomentował 5 lat temu

Ich merke gerade, dass die offizielle DSB App von den Play Diensten so stark abhängt, dass diese nicht einmal starten...

Okay. Dann teste ich mal weiter...

Ich merke gerade, dass die offizielle DSB App von den Play Diensten so stark abhängt, dass diese nicht einmal starten... Okay. Dann teste ich mal weiter...
fynngodau skomentował 5 lat temu
Właściciel

Die normale ja, die mit IHK-Skin oder andere Varianten interessanterweise nicht.

Die normale ja, die mit IHK-Skin oder andere Varianten interessanterweise nicht.
fynngodau skomentował 5 lat temu
Właściciel

Meine Ergebnisse sind im Moment leider sehr unaufschlussreich. Mal geht was, mal nicht. Gerade geht es nicht mal, eine Anfrage, die DSBmobile vom body her genau so generiert hat, abzusenden.

Meine Ergebnisse sind im Moment leider sehr unaufschlussreich. Mal geht was, mal nicht. Gerade geht es nicht mal, eine Anfrage, die DSBmobile vom body her genau so generiert hat, abzusenden.
Moritz Zwerger skomentował 5 lat temu

Uff

Uff
fynngodau skomentował 5 lat temu
Właściciel

Es fehlt der Host-Header.

Es fehlt der `Host`-Header.
Moritz Zwerger skomentował 5 lat temu

Schickst du den nicht mit?

Schickst du den nicht mit?
fynngodau skomentował 5 lat temu
Właściciel

Nein, nur den erforderlichen Content-Type-Header. Das habe ich mir heute morgen erst überlegt, dass die auch über den news service aktualisiert werden sollten.

Nein, nur den erforderlichen `Content-Type`-Header. Das habe ich mir heute morgen erst überlegt, dass die auch über den news service aktualisiert werden sollten.
Moritz Zwerger skomentował 5 lat temu

Habe gerade in einer Testversion die changed gehardcoded. Läuft nicht mehr. Lief kurz.

Habe gerade in einer Testversion die changed gehardcoded. Läuft nicht mehr. Lief kurz.
fynngodau skomentował 5 lat temu
Właściciel

Es liegt wohl eher doch nicht am Host-Header, das war wohl Zufall.

Ich schicke die gleiche Anfrage mehrmals hintereinander und manchmal geht's und manchmal nicht.

Übrigens das gleiche in der DSBmobile-App. Da steht im Fall des Fehlschlags "Login Fehlgeschlagen. Kennung oder Passwort falsch.". Diesen Fehler habe ich auch schon gemacht…

Wie wir wissen, braucht die Firma immer eine Weile, bis Änderungen auf alle Server deployed sind.

Es liegt wohl eher doch nicht am `Host`-Header, das war wohl Zufall. Ich schicke die gleiche Anfrage mehrmals hintereinander und manchmal geht's und manchmal nicht. Übrigens das gleiche in der DSBmobile-App. Da steht im Fall des Fehlschlags "Login Fehlgeschlagen. Kennung oder Passwort falsch.". Diesen Fehler habe ich auch schon gemacht… Wie wir wissen, braucht die Firma immer eine Weile, bis Änderungen auf alle Server deployed sind.
Moritz Zwerger skomentował 5 lat temu

Diese "Warnung" habe ich gesehen. habe gerade auch ein git pull gemacht. Meine "alte" Version lief, aber die hatte die Meldung noch nicht....

Diese "Warnung" habe ich gesehen. habe gerade auch ein git pull gemacht. Meine "alte" Version lief, aber die hatte die Meldung noch nicht....
fynngodau skomentował 5 lat temu
Właściciel

Sie haben tatsächlich ihre eigene App (teil)kaputt gemacht. Ich glaube, ich schreibe das mal so in die News.

Sie haben tatsächlich ihre eigene App (teil)kaputt gemacht. Ich glaube, ich schreibe das mal so in die News.
Moritz Zwerger skomentował 5 lat temu

Ich merke es gerade#:)

Der Webknotenpunkt läuft noch....

Ich merke es gerade#:) Der Webknotenpunkt läuft noch....
fynngodau wspomina ten problem w commicie 5 lat temu
Moritz Zwerger skomentował 5 lat temu

Ich würde vorschlagen, dass wir das FrontEnd wechseln. Von https://app.dsbcontrol.de/JsonHandler.ashx/GetData zu https://www.dsbmobile.de/JsonHandlerWeb.ashx/GetData

Dort muss man keine Metadaten setzten (noch nicht). Eine Anfrage sieht so aus:

{"UserId":"id","UserPw":"pw","Abos":[],"AppVersion":"","Language":"de","OsVersion":"","AppId":"","Device":"","PushId":"","BundleId":"","Date":"","LastUpdate":""}

Wichtig ist aber, dass dort ein folgender Header gesetzt wird:

Referer: test
Ich würde vorschlagen, dass wir das FrontEnd wechseln. Von ```https://app.dsbcontrol.de/JsonHandler.ashx/GetData``` zu ```https://www.dsbmobile.de/JsonHandlerWeb.ashx/GetData``` Dort muss man keine Metadaten setzten (noch nicht). Eine Anfrage sieht so aus: ``` {"UserId":"id","UserPw":"pw","Abos":[],"AppVersion":"","Language":"de","OsVersion":"","AppId":"","Device":"","PushId":"","BundleId":"","Date":"","LastUpdate":""} ``` Wichtig ist aber, dass dort ein folgender Header gesetzt wird: ``` Referer: test ```
fynngodau skomentował 5 lat temu
Właściciel

Das braucht aber ein Update der App, es wäre mir lieber, wir könnten 2.5.2 mit dem News-System reparieren. Google Play kaut schon seit gestern um etwa 15 Uhr an dem Update rum, ohne es auszuliefern, und bei F-Droid geht das systembedingt auch nicht so schnell.

Das braucht aber ein Update der App, es wäre mir lieber, wir könnten 2.5.2 mit dem News-System reparieren. Google Play kaut schon seit gestern um etwa 15 Uhr an dem Update rum, ohne es auszuliefern, und bei F-Droid geht das systembedingt auch nicht so schnell.
fynngodau skomentował 5 lat temu
Właściciel

Ich vermute, du kannst in deiner Web-Anfrage ebenfalls PushId ganz weglassen.

Ich vermute, du kannst in deiner Web-Anfrage ebenfalls `PushId` ganz weglassen.
Moritz Zwerger skomentował 5 lat temu

Das weiß ich nicht. Damit es wieder funktioniert musst du folgende Änderungen machen (bin grad zu faul den code zu commiten, pushen, mergen, ...)

Das weiß ich nicht. Damit es wieder funktioniert musst du folgende Änderungen machen ~~(bin grad zu faul den code zu commiten, pushen, mergen, ...)~~
Moritz Zwerger skomentował 5 lat temu

Nach obwohl: #42

habe auch gleich die 2.5.3 geändet im Code. Das taggen überlasse ich dir, da ich nicht meine Signatur verwenden will. Das würde einige fustrierte Gesichter machen: "Installation fehlgeschlagen"

//closed

Nach obwohl: #42 habe auch gleich die 2.5.3 geändet im Code. Das taggen überlasse ich dir, da ich nicht meine Signatur verwenden will. Das würde einige fustrierte Gesichter machen: "Installation fehlgeschlagen" //closed
fynngodau skomentował 5 lat temu
Właściciel

Taggen mit angehängter Datei kann man eh nur im GUI.

Ich würde jetzt auch mal queryBodyBaseJson per news experimentellerweise setzen auf:

{"AppId":"4f0261d6-9963-4398-ad90-3373e1e31373","AppVersion":"2.5.2","Device":"","OsVersion":"","Language":"","Date":"","LastUpdate":"zurfrühstueckszeit","BundleId":""}

Ging nämlich bei mir vorhin mal so und auch jetzt gerade.

Taggen mit angehängter Datei kann man eh nur im GUI. Ich würde jetzt auch mal `queryBodyBaseJson` per news experimentellerweise setzen auf: {"AppId":"4f0261d6-9963-4398-ad90-3373e1e31373","AppVersion":"2.5.2","Device":"","OsVersion":"","Language":"","Date":"","LastUpdate":"zurfrühstueckszeit","BundleId":""} Ging nämlich bei mir vorhin mal so und auch jetzt gerade.
Moritz Zwerger skomentował 5 lat temu

Habe ich auch gesetzt, allerdings hatte ich da das Problem, dass es mal ging und mal nicht (eher nicht). Allerdings weiß ich nicht, wie "auffällig" das ist mit der AppId. Kann es sein, dass es nur per Login ist oder ähnliches? Da hätte ich eher Angst

Habe ich auch gesetzt, allerdings hatte ich da das Problem, dass es mal ging und mal nicht (eher nicht). Allerdings weiß ich nicht, wie "auffällig" das ist mit der AppId. Kann es sein, dass es nur per Login ist oder ähnliches? Da hätte ich eher Angst
fynngodau skomentował 5 lat temu
Właściciel

Wo hast du denn deine AppId her? Ist die von mir oder ist das einfach so die gleiche?

Im Übrigen hatte ich keine Zeit, die news zu testen. Ich glaube, sie gehen nicht -.-

Wo hast du denn deine AppId her? Ist die von mir oder ist das einfach so die gleiche? Im Übrigen hatte ich keine Zeit, die news zu testen. Ich glaube, sie gehen nicht -.-
Moritz Zwerger skomentował 5 lat temu

Die ist tatsächlich von dir:) Ich hätte auch eine eigene genommen, allerdings kann ich DSBmobile nicht mal ansatzweise zum Laufen bringen ohne Gapps.

Ist aus #36

Die ist tatsächlich von dir:) Ich hätte auch eine eigene genommen, allerdings kann ich DSBmobile nicht mal ansatzweise zum Laufen bringen ohne Gapps. Ist aus #36
fynngodau skomentował 5 lat temu
Właściciel

Dachte ich mir…

Habe gerade nach zahlreichen Versuchen mit installierten news einmal beobachten können, dass es funktioniert. Da ist "Manchmal geht's, manchmal nicht" ja schon übertrieben.

Dachte ich mir… Habe gerade nach zahlreichen Versuchen mit installierten news einmal beobachten können, dass es funktioniert. Da ist "Manchmal geht's, manchmal nicht" ja schon übertrieben.
Moritz Zwerger skomentował 5 lat temu

Eigentlich schon blöd....die eigene App lahmlegen. Die haben wahrscheinlich Serverprobleme. Wo kann man denn die News sehen? Nur beim Anmelden, oder?

Eigentlich schon blöd....die eigene App lahmlegen. Die haben wahrscheinlich Serverprobleme. Wo kann man denn die News sehen? Nur beim Anmelden, oder?
fynngodau skomentował 5 lat temu
Właściciel

Immer, wenn ein Loginfehler auftritt (im Onboarding oder im Normalgebrauch), kommt jetzt ein Knopf "nach einer Fehlerbehebung suchen", sie die Nachrichten anzeigt und queryBodyBaseJson übernimmt. In Debugbuilds gibt es im Menü einen Knopf "Neuigkeiten herunterladen."

Mir ist noch aufgefallen, dass DSBmobile weniger Anmeldefehler bekommt als DSBDirect. Ich schreibe das mal in die Nachrichten, dann ist aber endgültig gut für heute.

Immer, wenn ein Loginfehler auftritt (im Onboarding oder im Normalgebrauch), kommt jetzt ein Knopf "nach einer Fehlerbehebung suchen", sie die Nachrichten anzeigt und queryBodyBaseJson übernimmt. In Debugbuilds gibt es im Menü einen Knopf "Neuigkeiten herunterladen." Mir ist noch aufgefallen, dass DSBmobile weniger Anmeldefehler bekommt als DSBDirect. Ich schreibe das mal in die Nachrichten, dann ist aber endgültig gut für heute.
fynngodau wspomina ten problem w commicie 5 lat temu
fynngodau skomentował 5 lat temu
Właściciel

Anscheinend haben sie die Änderungen vom Donnerstag wieder rückgängig gemacht.

Anscheinend haben sie die Änderungen vom Donnerstag wieder rückgängig gemacht.
fynngodau wspomina ten problem w commicie 5 lat temu
Moritz Zwerger skomentował 5 lat temu

Auch eine Möglichkeit das ganze issue zu schließen.

Ich habe diese Änderung gemacht. "Mein" DSBDirect sollte deswegen gegen weitere Änderungen immun bleiben, da bis jetzt alle "Runden" nur den App Endpoint betroffen haben und nicht den Web Endpoint.

Auch eine Möglichkeit das ganze issue zu schließen. Ich habe diese Änderung gemacht. "Mein" DSBDirect sollte deswegen gegen weitere Änderungen immun bleiben, da bis jetzt alle "Runden" nur den App Endpoint betroffen haben und nicht den Web Endpoint.
fynngodau wspomina ten problem w commicie 5 lat temu
Zaloguj się, aby dołączyć do tej rozmowy.
Brak kamienia milowego
Brak przypisania
2 uczestników
Ładowanie...
Anuluj
Zapisz
Nie ma jeszcze treści.