#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 участников
Загрузка...
Отмена
Сохранить
Пока нет содержимого.