我正在使用 Keycloak Admin Client 库来尝试创建一个用户,然后向该创建的用户添加一个客户端角色。我创建的用户没有问题,但是当我尝试为该用户分配角色时,我收到错误消息:
javax.servlet.ServletException: java.lang.IllegalStateException: RESTEASY003765: Response is closed.
org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:487)
org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:425)
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:383)
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:336)
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:223)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.apache.catalina.filters.CorsFilter.handleNonCORS(CorsFilter.java:441)
org.apache.catalina.filters.CorsFilter.doFilter(CorsFilter.java:169)
Run Code Online (Sandbox Code Playgroud)
这是我的代码中断的地方:
// Get realm
RealmResource realmResource = keycloak.realm(realm);
UsersResource userRessource = realmResource.users();
System.out.println(userId);
// Get client
ClientRepresentation app1Client = realmResource.clients()
.findByClientId("digicor").get(0);
System.out.println("app1Client.getId: "+app1Client.getId());
System.out.println("realmResource.clients()) = "+ realmResource.clients().toString());
System.out.println("realmResource.roles().list() ="+realmResource.roles().list());
System.out.println("realmResource.roles().list().get(0) ="+realmResource.roles().list().get(0));
System.out.println(" realmResource.clients().findAll() ="+ realmResource.clients().findAll());
System.out.println(" realmResource.clients().findAll().get(0).toString ="+ realmResource.clients().findAll().toString());
System.out.println("realmResource.clients().get(digicor) = "+ realmResource.clients().get("digicor"));
System.out.println("realmResource.clients().get(digicor).roles() = "+ realmResource.clients().get("digicor").roles());
System.out.println("realmResource.clients().get(\"digicor\").roles().get(\"development\") = "+ realmResource.clients().get("digicor").roles().get("development").toString());
RoleRepresentation clientRole = realmResource.clients().get("digicor").roles().get("development").toRepresentation();
//Breaks on the above line and …Run Code Online (Sandbox Code Playgroud)