我为RSocket消息编写了一个小演示
问题是我无法访问rsocket
endpoint,我从服务器收到以下异常:
客户端:配置:
@Bean
RSocket rSocket() {
return RSocketFactory.connect()
.mimeType(MimeTypeUtils.APPLICATION_JSON_VALUE, MimeTypeUtils.APPLICATION_JSON_VALUE)
.frameDecoder(PayloadDecoder.ZERO_COPY)
.transport(TcpClientTransport.create(new InetSocketAddress(7500)))
.start()
.block();
}
@Bean
RSocketRequester requester(RSocketStrategies strategies) {
return RSocketRequester.wrap(rSocket(), MimeTypeUtils.APPLICATION_JSON, MimeTypeUtils.APPLICATION_JSON, strategies);
}
private final RSocketRequester requester;
@GetMapping("/greet/{name}")
public Publisher<GreetingsResponse> greet(@PathVariable String name) {
return requester
.route("hello")
.data(new GreetingsRequest(name))
.retrieveMono(GreetingsResponse.class);
}
spring:
rsocket:
server:
port: 7500
transport: tcp
main:
lazy-initialization: true
@MessageMapping("hello")
Mono<GreetingsResponse> greet(GreetingsRequest request) {
return Mono.just(new GreetingsResponse("Hello " + request.getName() + " @ " + Instant.now()));
}
我非常肯定这与新的wrap
函数rsocketrequester.wrap
有关,因为它接受了一个新的参数metadatamimetype
,所以我将它设置为application/json,但似乎不起作用
堆栈跟踪:
你用的是哪个spring版本?我也遇到了同样的问题,我通过更改spring-boot-starter-parent 2.2.0.m3解决了这个问题。
这里是我的源代码https://github.com/han1448/spring-rsocket-example
添加。
我解决了这个问题。您需要将mimeType更改为message/x.rsocket.routing.v0
。您可以从MetadataExtractor.Routing
获取此mimeType。
@Bean
RSocket rSocket() {
return RSocketFactory.connect()
.mimeType(MetadataExtractor.ROUTING.toString(), MimeTypeUtils.APPLICATION_JSON_VALUE)
.frameDecoder(PayloadDecoder.ZERO_COPY)
.transport(TcpClientTransport.create(new InetSocketAddress(7500)))
.start()
.block();
}
@Bean
RSocketRequester requester(RSocketStrategies strategies) {
return RSocketRequester.wrap(rSocket(), MimeTypeUtils.APPLICATION_JSON, MetadataExtractor.ROUTING, strategies);
}
有可能从客户端向服务器抛出异常吗?我们有一个从服务器到客户端的开放流: 当我尝试这样的事情时: 我在客户端的StreamObserver.on错误中获得了异常,但在服务器端没有异常。
我在通过TCP连接到Spring Boot RSocket应用程序时遇到问题。使用RSocketRequest ester时的客户端工作正常,但当我尝试使用RSocketFactory客户端连接时,它总是出错。下面的代码。 这会产生以下错误: 据我所知,这个特殊的错误是由于netty消息包装(来自stackoverflow上的其他线程)造成的,但如何解决呢?服务器是Spring Boot 5 RS
问题内容: 我正在使用apache http客户端来测试我的WS。我已经在球衣上写了一个WS。该WS的URL是 用URL调用这个WS我写了一个方法如下 现在,当我运行程序并将URL传递给此函数时,我在行中得到了异常 异常如下 现在,如果我使用WS网址并使用任何浏览器访问它,我都会得到预期的结果,但我想知道我的Apache HTTP客户端代码出了什么问题。 问题答案: 我从这里浏览了链接,并得到以下
尝试使用Express将参数从服务器端传递到Node.js中的客户端。 但到目前为止什么都没起作用。你们要怎么做?非常感谢你的帮助:)
我正在创建我的产品,并与这个问题。有一天,我设置了Socket.io,一切都很好。第二天,我将服务器和客户端从http迁移到HTTPS。迁移后客户端和服务器端仍然连接,但不能从客户端发射到服务器,从服务器发射到客户端。 我的ssl证书位于和中,它们加载正确。运行在上的服务器 我的示例react组件。我的react应用程序运行在上。HTTPS连接良好,工作良好。 我该怎么办?也许我在中错误地使用了s
问题内容: 我有一个SOAP消息处理程序,它能够获取Web服务响应的原始XML。我需要将此XML放入Web服务客户端,以便可以在响应发送之前对响应执行一些XSL转换。我在寻找一种从SOAP处理程序获取数据的好方法方面遇到了麻烦,该SOAP处理程序捕获传入的消息,并使原始XML可用于生成的(从WSDL)Web服务客户端。有什么想法甚至可行吗? 我想出了这样的东西: 在非常简单的测试中,这似乎可行。但