diff --git a/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/session/impl/proctoring/ExamProctoringRoomServiceImpl.java b/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/session/impl/proctoring/ExamProctoringRoomServiceImpl.java index 70e15dd6..2f6615b0 100644 --- a/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/session/impl/proctoring/ExamProctoringRoomServiceImpl.java +++ b/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/session/impl/proctoring/ExamProctoringRoomServiceImpl.java @@ -630,16 +630,17 @@ public class ExamProctoringRoomServiceImpl implements ExamProctoringRoomService final ClientConnectionData clientConnection = this.examSessionService .getConnectionData(connectionToken) .getOrThrow(); - final String roomName = this.remoteProctoringRoomDAO - .getRoomName(clientConnection.clientConnection.getRemoteProctoringRoomId()) + + final RemoteProctoringRoom remoteProctoringRoom = this.remoteProctoringRoomDAO + .getRoom(clientConnection.clientConnection.getRemoteProctoringRoomId()) .getOrThrow(); final ProctoringRoomConnection proctoringConnection = examProctoringService .getClientRoomConnection( proctoringSettings, clientConnection.clientConnection.connectionToken, - roomName, - clientConnection.clientConnection.userSessionId) + remoteProctoringRoom.name, + remoteProctoringRoom.subject) .getOrThrow(); sendJoinInstruction( diff --git a/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/session/impl/proctoring/ZoomProctoringService.java b/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/session/impl/proctoring/ZoomProctoringService.java index 1c75ca86..b13a4234 100644 --- a/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/session/impl/proctoring/ZoomProctoringService.java +++ b/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/session/impl/proctoring/ZoomProctoringService.java @@ -449,17 +449,22 @@ public class ZoomProctoringService implements ExamProctoringService { return; } - final ProctoringRoomConnection proctoringRoomConnection = this.getProctorRoomConnection( - proctoringSettings, - room.name, - room.subject) - .getOrThrow(); - clientConnections.stream() - .forEach(cc -> sendJoinInstruction( - proctoringSettings.examId, - cc.connectionToken, - proctoringRoomConnection)); + .forEach(cc -> { + try { + sendJoinInstruction( + proctoringSettings.examId, + cc.connectionToken, + getClientRoomConnection( + proctoringSettings, + cc.connectionToken, + room.name, + room.subject) + .getOrThrow()); + } catch (final Exception e) { + log.error("Failed to send rejoin instruction to SEB client: {}", cc.connectionToken, e); + } + }); }); }