gRPC не прошедшее проверку подлинности исключение, вызванное методом не foudn

#java #spring-boot #protocol-buffers #grpc #grpc-java

Вопрос:

У меня есть клиент C , вызывающий мой сервер Java gRPC, и при попытке вызова метода возникает следующее исключение, четко указанное в моем файле прототипа.

org.lognet.springboot.grpc.GRpcServicesRegistry#descriptorToServiceMethod не сопоставляет методы RPC формы rpc_method_name (змеиный регистр) с сгенерированными методами java формы rpcMethodName (верблюжий регистр).

Это приводит к появлению следующей ошибки во время выполнения:

 org.lognet.springboot.grpc.security.SecurityInterceptor$1: Authentication failure.  at org.lognet.springboot.grpc.security.SecurityInterceptor.interceptCall(SecurityInterceptor.java:147) ~[grpc-spring-boot-starter-4.5.10.jar:na]  at io.grpc.ServerInterceptors$InterceptCallHandler.startCall(ServerInterceptors.java:244) ~[grpc-api-1.42.0.jar:1.42.0]  at org.lognet.springboot.grpc.recovery.GRpcExceptionHandlerInterceptor.interceptCall(GRpcExceptionHandlerInterceptor.java:59) ~[grpc-spring-boot-starter-4.5.10.jar:na]  at io.grpc.ServerInterceptors$InterceptCallHandler.startCall(ServerInterceptors.java:244) ~[grpc-api-1.42.0.jar:1.42.0]  at io.grpc.internal.ServerImpl$ServerTransportListenerImpl.startWrappedCall(ServerImpl.java:703) ~[grpc-core-1.42.0.jar:1.42.0]  at io.grpc.internal.ServerImpl$ServerTransportListenerImpl.access$2200(ServerImpl.java:406) ~[grpc-core-1.42.0.jar:1.42.0]  at io.grpc.internal.ServerImpl$ServerTransportListenerImpl$1HandleServerCall.runInternal(ServerImpl.java:615) ~[grpc-core-1.42.0.jar:1.42.0]  at io.grpc.internal.ServerImpl$ServerTransportListenerImpl$1HandleServerCall.runInContext(ServerImpl.java:603) ~[grpc-core-1.42.0.jar:1.42.0]  at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) ~[grpc-core-1.42.0.jar:1.42.0]  at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133) ~[grpc-core-1.42.0.jar:1.42.0]  at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135) ~[na:na]  at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]  at java.base/java.lang.Thread.run(Thread.java:831) ~[na:na] Caused by: java.lang.IllegalStateException: Method ***rpc_method_name*** not found in service ***org.me.MyGrpcService***  at org.lognet.springboot.grpc.GRpcServicesRegistry.descriptorToServiceMethod(GRpcServicesRegistry.java:186) ~[grpc-spring-boot-starter-4.5.10.jar:na]  at org.springframework.util.function.SingletonSupplier.get(SingletonSupplier.java:97) ~[spring-core-5.3.7.jar:5.3.7]  at org.lognet.springboot.grpc.GRpcServicesRegistry.getGrpServiceMethod(GRpcServicesRegistry.java:120) ~[grpc-spring-boot-starter-4.5.10.jar:na]  at org.lognet.springboot.grpc.security.SecurityInterceptor.setupGRpcSecurityContext(SecurityInterceptor.java:261) ~[grpc-spring-boot-starter-4.5.10.jar:na]  at org.lognet.springboot.grpc.security.SecurityInterceptor.interceptCall(SecurityInterceptor.java:143) ~[grpc-spring-boot-starter-4.5.10.jar:na]  ... 12 common frames omitted  

Это ошибка с api, или мне не хватает какой-то конфигурации/зависимости?

Комментарии:

1. У меня есть попытка создать службу и метод snake case, это правильный случай змеи. Пожалуйста, убедитесь, что ваш код сгенерирован из одного и того же прото-файла и что версия зависимостей одинакова.

2. @HelloWood Я использовал плагин lognet grpc gradle для обработки версий generation / grpc