27b4a475 by Ean Schuessler

Fix servlet to pass visitId to Initialize service

For initialize method, use the visitId just created by servlet instead of
null sessionId from request. This ensures Initialize service receives
valid session ID and eliminates transaction visibility issues.
1 parent 134d97ac
...@@ -742,9 +742,10 @@ logger.info("Handling Enhanced SSE connection from ${request.remoteAddr}") ...@@ -742,9 +742,10 @@ logger.info("Handling Enhanced SSE connection from ${request.remoteAddr}")
742 742
743 switch (method) { 743 switch (method) {
744 case "initialize": 744 case "initialize":
745 // Capture actual authenticated user ID before service elevation 745 // For initialize, use the visitId we just created instead of null sessionId from request
746 params.sessionId = visit.visitId
746 params.actualUserId = ec.user.userId 747 params.actualUserId = ec.user.userId
747 logger.info("Initialize - actualUserId: ${params.actualUserId}") 748 logger.info("Initialize - actualUserId: ${params.actualUserId}, sessionId: ${params.sessionId}")
748 return callMcpService("mcp#Initialize", params, ec) 749 return callMcpService("mcp#Initialize", params, ec)
749 case "ping": 750 case "ping":
750 // Simple ping for testing - bypass service for now 751 // Simple ping for testing - bypass service for now
......