Scala Akka gPRC: server don't answer

108 Views Asked by At

I have 2 microservices with common proto-file:

 service GeoService {
    rpc GetGeoPoint (GeoRequest) returns (GeoPoint) {};
    rpc CreateGeoPoint (GeoPoint) returns (GeoPoint) {};
 }

message GeoRequest {
     int32 id = 5;
     string dateTime = 6;
 }

message GeoPoint {
    int32 id = 1;
    int32 latitude = 2;
    int32 longitude = 3;
    string dateTime = 4;
 }

1 microservice: Running on port 8081. Realise gRPC-client on Akka.grpc. I don't override automatically generated GeoService methods, as their only aim is to pass the request (GeoRequest or GeoPoint) to another microservice.

Connection with server is carried out by:

 val clientSettings = GrpcClientSettings.connectToServiceAt("127.0.0.1", 8080).withTls(false)
 val client: GeoServiceClient = GeoServiceClient(clientSettings)

And method call:

 val savedGeoPoint = client.createGeoPoint(geoPoint)

2 microservice: Running on port 8080. Realise gRPC-client on scalapb-runtime-grpc (not Akka grpc). Server methods overrided for saving some data in store and retrieving saved data from store:

 override def createGeoPoint(geoPoint: GeoPoint): Future[GeoPoint] =
  GeoRepository.save(geoPoint)

In fact client in 1 mictoservice successfully invoke createGeoPoint-method in server (2 microservice). Incoming data saved to store. But result don't return to the client. Method "val savedGeoPoint = client.createGeoPoint(geoPoint)" in Client-microservice don't return any result.

Am I missing something usefull?

0

There are 0 best solutions below