#41 Ungültige Antwort #2

Gesloten
5 jaren geleden werd geopend door fynngodau · 32 opmerkingen

Previous: #38

Previous: #38
fynngodau verwees naar dit probleem vanuit een commit 5 jaren geleden'
fynngodau verwees naar dit probleem vanuit een commit 5 jaren geleden'
fynngodau reageerde 5 jaren geleden
Eigenaar

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!

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

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 reageerde 5 jaren geleden
Eigenaar

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.

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 reageerde 5 jaren geleden
Eigenaar

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.

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 reageerde 5 jaren geleden
Eigenaar

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 reageerde 5 jaren geleden
Eigenaar

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.

Uff

Uff
fynngodau reageerde 5 jaren geleden
Eigenaar

Es fehlt der Host-Header.

Es fehlt der `Host`-Header.

Schickst du den nicht mit?

Schickst du den nicht mit?
fynngodau reageerde 5 jaren geleden
Eigenaar

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.

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 reageerde 5 jaren geleden
Eigenaar

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.

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 reageerde 5 jaren geleden
Eigenaar

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.

Ich merke es gerade#:)

Der Webknotenpunkt läuft noch....

Ich merke es gerade#:) Der Webknotenpunkt läuft noch....
fynngodau verwees naar dit probleem vanuit een commit 5 jaren geleden'

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 reageerde 5 jaren geleden
Eigenaar

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 reageerde 5 jaren geleden
Eigenaar

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

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

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, ...)~~

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 reageerde 5 jaren geleden
Eigenaar

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.

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 verwees naar dit probleem vanuit een commit 5 jaren geleden'
fynngodau reageerde 5 jaren geleden
Eigenaar

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 -.-

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 reageerde 5 jaren geleden
Eigenaar

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.

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 reageerde 5 jaren geleden
Eigenaar

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 verwees naar dit probleem vanuit een commit 5 jaren geleden'
fynngodau reageerde 5 jaren geleden
Eigenaar

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 verwees naar dit probleem vanuit een commit 5 jaren geleden'

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 verwees naar dit probleem vanuit een commit 5 jaren geleden'
Sign in to join this conversation.
Geen mijlpaal
Geen verantwoordelijke
2 deelnemers
Laden...
Annuleren
Opslaan
Er is nog geen inhoud.