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.
Showing
1 changed file
with
3 additions
and
2 deletions
| ... | @@ -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 | ... | ... |
-
Please register or sign in to post a comment