Spring RSocket not retrieving Mono response

131 Views Asked by At

I am trying to make server request to clients using Rsocket(request-response pattern). On server I'm using Spring and my client is Dart(dart-rsocket). Debugging shows that server does receive data but I am unable to retrieve Mono(payload) from response.

On Server :

rsocketRequester.route(null).data("this is server reqeust!")
    .retrieveMono(String.class)
    .subscribe((value) -> {
        // Expectation : print payload data to console
        // Actual : No output on console
        System.out.println(value);
    });

have tried with route("") but no luck.

On Client:

List<int> list = 'this is client response!'.codeUnits;
Uint8List bytes = Uint8List.fromList(list);

RSocketConnector connector = RSocketConnector.create().acceptor(requestResponseAcceptor((payload) {
    print(convertor(payload!.data!)); // to print server request payload
    return Future.value(Payload.from(null,bytes)); // Payload.from(metadata,data)
}));

var rsocket = await connector.connect("ws://localhost:7000/rsocket");

Server Debug :

enter image description here

Client side :

enter image description here

client receives request successfully. And server receives COMPLETE type frame with payload but nothing is printed on console.

0

There are 0 best solutions below