REST-Anbindung jvx 2.0.1 => 2.5.1
Posted: Tue Sep 13, 2016 1:29 pm
Hallo,
ich migriere gerade eine Anwendung von jvx 2.0.1 auf 2.5.1 und habe Probleme mit der REST-Anbindung.
Mit Version 2.0.1 funktionierte dieser Request z.B. tadellos:
Nach dem Update bekam ich mit dem gleichen Request stets Httpstatus 401 zurück. Bis ich herausgefunden habe, wieso:
Euer RESTAdapter hat sich geändert.
2.0.1
2.5.1
Dieser LifeCycleConnector holt sich in Zeile 98 einen Accesscontroller:
Leider wird hier beim Zugriff darauf ein paar Zeilen weiter nicht auf null geprüft, weshalb mein Request auf Grund einer NullPointerException ständig 401 lieferte. (Wäre vielleicht günstig, hier den Code zu ändern
Das Problem habe ich selbst gelöst. Wir haben nämlich einen eigenen DBSecurityManager implementiert und bei der zu implementierenden Methode "getAccessController" bisher null geliefert.
Funktionierte so bei 2.0.1, aber nicht mehr bei 2.5.1 - deshalb liefere ich nun immer euren DefaultAccessController zurück. Sollte passen oder?
Nun funktioniert wenigstens die Authentifizierung, aber dennoch bekomme ich nun jedesmal Httpstatus 400 - Bad Request "The request could not be understood by the server due to malformed syntax".
Außerdem wird stets folgende Exception geworfen:
"PSQLException: FEHLER: Relation »v_accessrules« existiert nicht"
Ich nehme an, dass mir noch irgendwo eine Konfiguration oder etwas Ähnliches fehlt, etwas, das bei Version 2.0.1 nicht nötig war. Bitte um Hilfe.
Danke
Martin
PS: meine org.restlet Pakete habe ich bereits auf 2.3.2 aktualisiert.
ich migriere gerade eine Anwendung von jvx 2.0.1 auf 2.5.1 und habe Probleme mit der REST-Anbindung.
Mit Version 2.0.1 funktionierte dieser Request z.B. tadellos:
- Code: Select all
http://localhost:8080/xyz/services/rest/desktop/at.xyz.vms.server.MobileData/action/userIdTest
Nach dem Update bekam ich mit dem gleichen Request stets Httpstatus 401 zurück. Bis ich herausgefunden habe, wieso:
Euer RESTAdapter hat sich geändert.
2.0.1
- Code: Select all
RESTSession session = (RESTSession)pRequest.getClientInfo().getUser();
2.5.1
- Code: Select all
LifeCycleConnector lcon = (LifeCycleConnector)pRequest.getClientInfo().getUser();
Dieser LifeCycleConnector holt sich in Zeile 98 einen Accesscontroller:
- Code: Select all
IAccessController acc = Server.getInstance().getSessionManager().get(pMaster.getId()).getAccessController();
Leider wird hier beim Zugriff darauf ein paar Zeilen weiter nicht auf null geprüft, weshalb mein Request auf Grund einer NullPointerException ständig 401 lieferte. (Wäre vielleicht günstig, hier den Code zu ändern
Das Problem habe ich selbst gelöst. Wir haben nämlich einen eigenen DBSecurityManager implementiert und bei der zu implementierenden Methode "getAccessController" bisher null geliefert.
Funktionierte so bei 2.0.1, aber nicht mehr bei 2.5.1 - deshalb liefere ich nun immer euren DefaultAccessController zurück. Sollte passen oder?
Nun funktioniert wenigstens die Authentifizierung, aber dennoch bekomme ich nun jedesmal Httpstatus 400 - Bad Request "The request could not be understood by the server due to malformed syntax".
Außerdem wird stets folgende Exception geworfen:
"PSQLException: FEHLER: Relation »v_accessrules« existiert nicht"
Ich nehme an, dass mir noch irgendwo eine Konfiguration oder etwas Ähnliches fehlt, etwas, das bei Version 2.0.1 nicht nötig war. Bitte um Hilfe.
Danke
Martin
PS: meine org.restlet Pakete habe ich bereits auf 2.3.2 aktualisiert.