Title: reactor.core.Exceptions$ErrorCallbackNotImplemented: io.modelcontextprotocol.spec.McpError: Received unrecognized SSE event type: null · Issue #93 · modelcontextprotocol/java-sdk · GitHub
Open Graph Title: reactor.core.Exceptions$ErrorCallbackNotImplemented: io.modelcontextprotocol.spec.McpError: Received unrecognized SSE event type: null · Issue #93 · modelcontextprotocol/java-sdk
X Title: reactor.core.Exceptions$ErrorCallbackNotImplemented: io.modelcontextprotocol.spec.McpError: Received unrecognized SSE event type: null · Issue #93 · modelcontextprotocol/java-sdk
Description: 2025-04-01 08:40:34,831 - sse_starlette.sse - DEBUG - ping: b': ping - 2025-04-01 00:40:34.831535+00:00\r\n\r\n' 2025-04-01 08:40:38,680 - sse_starlette.sse - DEBUG - ping: b': ping - 2025-04-01 00:40:38.679807+00:00\r\n\r\n' @Override p...
Open Graph Description: 2025-04-01 08:40:34,831 - sse_starlette.sse - DEBUG - ping: b': ping - 2025-04-01 00:40:34.831535+00:00\r\n\r\n' 2025-04-01 08:40:38,680 - sse_starlette.sse - DEBUG - ping: b': ping - 2025-04-01 00...
X Description: 2025-04-01 08:40:34,831 - sse_starlette.sse - DEBUG - ping: b': ping - 2025-04-01 00:40:34.831535+00:00\r\n\r\n' 2025-04-01 08:40:38,680 - sse_starlette.sse - DEBUG - ping: b': ping - 2...
Opengraph URL: https://github.com/modelcontextprotocol/java-sdk/issues/93
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"reactor.core.Exceptions$ErrorCallbackNotImplemented: io.modelcontextprotocol.spec.McpError: Received unrecognized SSE event type: null","articleBody":"2025-04-01 08:40:34,831 - sse_starlette.sse - DEBUG - ping: b': ping - 2025-04-01 00:40:34.831535+00:00\\r\\n\\r\\n'\n2025-04-01 08:40:38,680 - sse_starlette.sse - DEBUG - ping: b': ping - 2025-04-01 00:40:38.679807+00:00\\r\\n\\r\\n'\n\n```java\n@Override\n\tpublic Mono\u003cVoid\u003e connect(Function\u003cMono\u003cJSONRPCMessage\u003e, Mono\u003cJSONRPCMessage\u003e\u003e handler) {\n\t\tFlux\u003cServerSentEvent\u003cString\u003e\u003e events = eventStream();\n\t\tthis.inboundSubscription = events.concatMap(event -\u003e Mono.just(event).\u003cJSONRPCMessage\u003ehandle((e, s) -\u003e {\n\t\t\tif (ENDPOINT_EVENT_TYPE.equals(event.event())) {\n\t\t\t\tString messageEndpointUri = event.data();\n\t\t\t\tif (messageEndpointSink.tryEmitValue(messageEndpointUri).isSuccess()) {\n\t\t\t\t\ts.complete();\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t// TODO: clarify with the spec if multiple events can be\n\t\t\t\t\t// received\n\t\t\t\t\ts.error(new McpError(\"Failed to handle SSE endpoint event\"));\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (MESSAGE_EVENT_TYPE.equals(event.event())) {\n\t\t\t\ttry {\n\t\t\t\t\tJSONRPCMessage message = McpSchema.deserializeJsonRpcMessage(this.objectMapper, event.data());\n\t\t\t\t\ts.next(message);\n\t\t\t\t}\n\t\t\t\tcatch (IOException ioException) {\n\t\t\t\t\ts.error(ioException);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\ts.error(new McpError(\"Received unrecognized SSE event type: \" + event.event()));\n\t\t\t}\n\t\t}).transform(handler)).subscribe();\n```\n\n```\nreactor.core.Exceptions$ErrorCallbackNotImplemented: io.modelcontextprotocol.spec.McpError: Received unrecognized SSE event type: null\nCaused by: io.modelcontextprotocol.spec.McpError: Received unrecognized SSE event type: null\n at io.modelcontextprotocol.client.transport.WebFluxSseClientTransport.lambda$connect$0(WebFluxSseClientTransport.java:194) ~[mcp-spring-webflux-0.8.1.jar:0.8.1]\n at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.onNext(FluxHandleFuseable.java:179) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2571) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.request(FluxHandleFuseable.java:260) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2367) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2241) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:178) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.onSubscribe(FluxHandleFuseable.java:164) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.Mono.subscribe(Mono.java:4576) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onNext(FluxConcatMapNoPrefetch.java:207) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.SerializedSubscriber.onNext(SerializedSubscriber.java:99) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.onNext(FluxRetryWhen.java:178) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onNext(MonoFlatMapMany.java:251) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.innerNext(FluxConcatMapNoPrefetch.java:259) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxConcatMap$ConcatMapInner.onNext(FluxConcatMap.java:865) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxConcatMap$WeakScalarSubscription.request(FluxConcatMap.java:480) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2367) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onNext(FluxConcatMapNoPrefetch.java:202) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxBufferPredicate$BufferPredicateSubscriber.onNextNewBuffer(FluxBufferPredicate.java:317) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxBufferPredicate$BufferPredicateSubscriber.tryOnNext(FluxBufferPredicate.java:227) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxBufferPredicate$BufferPredicateSubscriber.onNext(FluxBufferPredicate.java:200) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxPeekFuseable$PeekFuseableConditionalSubscriber.onNext(FluxPeekFuseable.java:503) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onNext(FluxMapFuseable.java:299) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onNext(FluxDoFinally.java:113) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxConcatArray$ConcatArraySubscriber.onNext(FluxConcatArray.java:180) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drainAsync(FluxFlattenIterable.java:453) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drain(FluxFlattenIterable.java:724) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.onNext(FluxFlattenIterable.java:256) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxPublish$PublishSubscriber.drain(FluxPublish.java:571) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxPublish$PublishSubscriber.onNext(FluxPublish.java:310) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onNext(FluxMapFuseable.java:299) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drainAsync(FluxFlattenIterable.java:453) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drain(FluxFlattenIterable.java:724) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.onNext(FluxFlattenIterable.java:256) ~[reactor-core-3.7.3.jar:3.7.3]\n at reactor.adapter.JdkFlowAdapter$SubscriberToRS.onNext(JdkFlowAdapter.java:150) ~[reactor-core-3.7.3.jar:3.7.3]\n at java.net.http/jdk.internal.net.http.ResponseSubscribers$PublishingBodySubscriber.onNext(ResponseSubscribers.java:1003) ~[java.net.http:na]\n at java.net.http/jdk.internal.net.http.ResponseSubscribers$PublishingBodySubscriber.onNext(ResponseSubscribers.java:843) ~[java.net.http:na]\n at java.net.http/jdk.internal.net.http.Http1Response$Http1BodySubscriber.onNext(Http1Response.java:382) ~[java.net.http:na]\n at java.net.http/jdk.internal.net.http.Http1Response$Http1BodySubscriber.onNext(Http1Response.java:297) ~[java.net.http:na]\n at java.net.http/jdk.internal.net.http.ResponseContent$ChunkedBodyParser.accept(ResponseContent.java:229) ~[java.net.http:na]\n at java.net.http/jdk.internal.net.http.ResponseContent$ChunkedBodyParser.accept(ResponseContent.java:129) ~[java.net.http:na]\n at java.net.http/jdk.internal.net.http.Http1Response$BodyReader.handle(Http1Response.java:790) ~[java.net.http:na]\n at java.net.http/jdk.internal.net.http.Http1Response$BodyReader.handle(Http1Response.java:720) ~[java.net.http:na]\n at java.net.http/jdk.internal.net.http.Http1Response$Receiver.accept(Http1Response.java:612) ~[java.net.http:na]\n at java.net.http/jdk.internal.net.http.Http1Response$BodyReader.tryAsyncReceive(Http1Response.java:750) ~[java.net.http:na]\n at java.net.http/jdk.internal.net.http.Http1AsyncReceiver.flush(Http1AsyncReceiver.java:233) ~[java.net.http:na]\n at java.net.http/jdk.internal.net.http.common.SequentialScheduler$LockingRestartableTask.run(SequentialScheduler.java:205) ~[java.net.http:na]\n at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(SequentialScheduler.java:149) ~[java.net.http:na]\n at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:230) ~[java.net.http:na]\n at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]\n at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]\n at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]\n```\n","author":{"url":"https://github.com/golimix","@type":"Person","name":"golimix"},"datePublished":"2025-04-01T01:07:19.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":6},"url":"https://github.com/93/java-sdk/issues/93"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:902d99dd-c370-166f-6572-80dc80d01a4b |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | C442:2658D0:2BAC589:3A4221A:6A5DA80F |
| html-safe-nonce | 5b3653a6d01b54f7d9c44dda1d501b1175428544e37800a5203d1f15d45002e7 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDNDQyOjI2NThEMDoyQkFDNTg5OjNBNDIyMUE6NkE1REE4MEYiLCJ2aXNpdG9yX2lkIjoiMTM1MjMwNDc1MDI0Mzk4MTMyNyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 3a542e57652abceaaedbeaf9d3e31f51a3eaf057694b97ee32123c6e73bdd211 |
| hovercard-subject-tag | issue:2961909343 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/modelcontextprotocol/java-sdk/93/issue_layout |
| twitter:image | https://opengraph.githubassets.com/bd005b2dfbbe299cbef090d94e3d6ee96c19ebe771a5f83429fac45e641c4905/modelcontextprotocol/java-sdk/issues/93 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/bd005b2dfbbe299cbef090d94e3d6ee96c19ebe771a5f83429fac45e641c4905/modelcontextprotocol/java-sdk/issues/93 |
| og:image:alt | 2025-04-01 08:40:34,831 - sse_starlette.sse - DEBUG - ping: b': ping - 2025-04-01 00:40:34.831535+00:00\r\n\r\n' 2025-04-01 08:40:38,680 - sse_starlette.sse - DEBUG - ping: b': ping - 2025-04-01 00... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | golimix |
| hostname | github.com |
| expected-hostname | github.com |
| None | 5290d7e14309ad1e76106a9c4237bd1041517e83ea182c8ab756752cb0c6940b |
| turbo-cache-control | no-preview |
| go-import | github.com/modelcontextprotocol/java-sdk git https://github.com/modelcontextprotocol/java-sdk.git |
| octolytics-dimension-user_id | 182288589 |
| octolytics-dimension-user_login | modelcontextprotocol |
| octolytics-dimension-repository_id | 919609219 |
| octolytics-dimension-repository_nwo | modelcontextprotocol/java-sdk |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 919609219 |
| octolytics-dimension-repository_network_root_nwo | modelcontextprotocol/java-sdk |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 9c975978430e9ad293956f2bbdaf153b1bd84a99 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width