#41 Ungültige Antwort #2

Закриті
5 роки тому відкрито fynngodau · 32 коментарів
fynngodau відкоментовано 5 роки тому

Previous: #38

Previous: #38
fynngodau згадано цю проблему в коміті 5 роки тому
fynngodau згадано цю проблему в коміті 5 роки тому
fynngodau відкоментовано 5 роки тому
Власник

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 відкоментовано 5 роки тому

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 відкоментовано 5 роки тому

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 відкоментовано 5 роки тому
Власник

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 відкоментовано 5 роки тому

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 відкоментовано 5 роки тому
Власник

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 відкоментовано 5 роки тому

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 відкоментовано 5 роки тому
Власник

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 відкоментовано 5 роки тому
Власник

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 відкоментовано 5 роки тому

Uff

Uff
fynngodau відкоментовано 5 роки тому
Власник

Es fehlt der Host-Header.

Es fehlt der `Host`-Header.
Moritz Zwerger відкоментовано 5 роки тому

Schickst du den nicht mit?

Schickst du den nicht mit?
fynngodau відкоментовано 5 роки тому
Власник

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 відкоментовано 5 роки тому

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 відкоментовано 5 роки тому
Власник

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 відкоментовано 5 роки тому

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 відкоментовано 5 роки тому
Власник

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 відкоментовано 5 роки тому

Ich merke es gerade#:)

Der Webknotenpunkt läuft noch....

Ich merke es gerade#:) Der Webknotenpunkt läuft noch....
fynngodau згадано цю проблему в коміті 5 роки тому
Moritz Zwerger відкоментовано 5 роки тому

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 відкоментовано 5 роки тому
Власник

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 відкоментовано 5 роки тому
Власник

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 відкоментовано 5 роки тому

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 відкоментовано 5 роки тому

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 відкоментовано 5 роки тому
Власник

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 відкоментовано 5 роки тому

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 згадано цю проблему в коміті 5 роки тому
fynngodau відкоментовано 5 роки тому
Власник

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 відкоментовано 5 роки тому

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 відкоментовано 5 роки тому
Власник

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 відкоментовано 5 роки тому

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 відкоментовано 5 роки тому
Власник

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 згадано цю проблему в коміті 5 роки тому
fynngodau відкоментовано 4 роки тому
Власник

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 згадано цю проблему в коміті 4 роки тому
Moritz Zwerger відкоментовано 4 роки тому

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 згадано цю проблему в коміті 4 роки тому
Підпишіться щоб приєднатися до обговорення.
Етап відсутній
Немає відповідального
2 учасників
Завантажується...
Скасувати
Зберегти
Тут ще немає жодного вмісту.