Fehlermeldung bei Wiederherstellung einer Blockung

Diskussionen rund um den SVWS-Client

Moderatoren: A. Schüller, Raffenberg, Pfotenhauer

Antworten
petsch
Beiträge: 11
Registriert: Mittwoch 13. Mai 2026, 08:40
Schulform: Gymnasium

Fehlermeldung bei Wiederherstellung einer Blockung

Beitrag von petsch »

Hallo,

wir haben versucht unter Oberstufe -> Kursplanung eine Blockung wiederherzustellen, was mit folgender Fehlermeldung endete:

"Error: Fetch failed for GET: /db/svwsdb/gost/blockungen/2027/3/restore",
  "    at ApiServer.getTextBased (https://***/assets/src2.js:7642:28)",
  "    at async ApiServer.restauriereGostBlockung (https://***/assets/src2.js:83534:16)",
  "    at async https://***/assets/RouteManager.js:8651:18",
  "    at async Proxy.<anonymous> (https://***/assets/RouteManager.js:630:12)",
  "    at async activate_recovery (https://***/assets/SGostKursplanungAuswahl.js:1039:4)"

Version ist 1.3.3 Schemarevision 70

Das hört sich nach inkonsistenten Daten an. Was ist die beste Vorgehensweise, um das Problem zu lösen?

VG
Peter
A. Schüller
Beiträge: 1121
Registriert: Mittwoch 10. Februar 2021, 21:30
Schulform: Gymnasium

Re: Fehlermeldung bei Wiederherstellung einer Blockung

Beitrag von A. Schüller »

Hat sich denn etwas an blockungsrelevanten Daten geändert?
z.B. "Fach der Oberstufe" bei einem Fach deaktiviert oder ähnliches?
Mit freundlichen Grüßen
Anne Schüller
petsch
Beiträge: 11
Registriert: Mittwoch 13. Mai 2026, 08:40
Schulform: Gymnasium

Re: Fehlermeldung bei Wiederherstellung einer Blockung

Beitrag von petsch »

so genau konnte mir das keiner sagen, aber wenn man einen Kurs-Import macht kommt die Fehlermeldung, dass ein Fach im System nicht existieren würde. In Kurs kann man die Fehlerhafte Zeile aber nicht löschen.
Hauke Hayen
Fachberater*in
Beiträge: 1021
Registriert: Montag 1. Oktober 2018, 17:16
Schulform: Gymnasium

Re: Fehlermeldung bei Wiederherstellung einer Blockung

Beitrag von Hauke Hayen »

Ich verstehe nicht ganz:
Versuchen eine Kurs42-Blockung zu importieren über den Datenaustausch
oder
versuchen Sie aus den persistierten Leistungs- und Kursdaten (Kurse müssen dafür eine Schienenzuordnung haben) im SVWS eine Blockung wiederherzustellen (danach sieht die Fehlermeldung aus)?

Ach ja: Die komplette Fehlermeldung (ggf. als txt-Datei) wäre hilfreich. I.d. Regel gibt es eine Stelle die mit dem Wort "Fehler" beginnt, ab da die nächsten Zeilen könnten auch reichen.
Viele Grüße, H. Hayen
petsch
Beiträge: 11
Registriert: Mittwoch 13. Mai 2026, 08:40
Schulform: Gymnasium

Re: Fehlermeldung bei Wiederherstellung einer Blockung

Beitrag von petsch »

Wir haben nach den Halbjahreswechsel auf SVWS umgestellt. Also wurde das aktuelle Halbjahr noch "klassisch" geplant. Um das nächste Halbjahr zu planen, wollten wir die aktuelle Blockung übernehmen. Zwei Optionen haben wir versucht.
Also haben wir quasi beides gemacht:
1. der Versuch einer Wiederherstellung mit der folgenden Fehlermeldung im Client:
```json
{
"env": {
"client": "WebClient",
"mode": "stable",
"version": "1.3.3",
"commit": "7d1973b80ead5d5932edd3e0bcbe049fa7ec3fbb",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36 Edg/149.0.0.0"
},
"error": {
"id": 5,
"name": "API-Fehler: Dieser Fehler wird durch eine fehlerhafte Kommunikation mit dem Server verursacht. In der Regel bedeutet das, dass die verschickten Daten nicht den Vorgaben entsprechen.",
"message": "Fetch failed for GET: /db/svwsdb/gost/blockungen/2027/3/restore - Status: 500",
"stack": [
"Error: Fetch failed for GET: /db/svwsdb/gost/blockungen/2027/3/restore",
" at ApiServer.getTextBased (https://***/assets/src2.js:7642:28)",
" at async ApiServer.restauriereGostBlockung (https://***/assets/src2.js:83534:16)",
" at async https://***/assets/RouteManager.js:8651:18",
" at async Proxy.<anonymous> (https://***/assets/RouteManager.js:630:12)",
" at async activate_recovery (https://***/assets/SGostKursplanungAuswahl.js:1039:4)"
],
"log": null
}
}

2. Als Workaround einen Kurs-Import versucht, der aber Aufgrund eines fehlenden Faches mit der ID 114 im System auch fehlschlägt. Es gibt auch keine Möglichkeit diese Zeile in Kurs zu löschen.

In den log-Dateien ist nur etwas im request.log zu finden, aber da steht auch nur der 500 von oben.
petsch
Beiträge: 11
Registriert: Mittwoch 13. Mai 2026, 08:40
Schulform: Gymnasium

Re: Fehlermeldung bei Wiederherstellung einer Blockung

Beitrag von petsch »

Ok Problem gefunden!
Es gibt einen Bug, der den 500er auslöst, wenn eine 0 (Null) in der Kurzbezeichnung ist.

de.svws_nrw.core.exceptions.DeveloperNotificationException: Kurs.nummer 0 zu klein!
at de.svws_nrw.core.utils.gost.GostBlockungsdatenManager.kursAddListe(GostBlockungsdatenManager.java:1047)
at de.svws_nrw.data.gost.DataGostBlockungsdaten.getBlockungsdatenManagerFromDB(DataGostBlockungsdaten.java:208)
at de.svws_nrw.data.gost.DataGostBlockungsdaten.restore(DataGostBlockungsdaten.java:1318)

Das Problem: split("\\D+") extrahiert die letzte Ziffernfolge im gesamten String, nicht nur eine explizit angehängte Nummerierung. Bei einem Kurs mit KurzBez = "Q1_S0XX" (Fachkürzel „S0" für Spanisch ab EF, gefolgt von Lehrerkürzel) wird die 0 aus „S0" fälschlich als Kursnummer interpretiert. Da GostBlockungsdatenManager.kursAddListe nur Kursnummern ≥ 1 akzeptiert, crasht der Restore mit DeveloperNotificationException.
Antworten

Zurück zu „SVWS-Client“