rokaye commented on issue #15641:
URL: https://github.com/apache/dubbo/issues/15641#issuecomment-3696322279
```markdown
# Environment and Dependencies
- **JDK**: 21
- **Dubbo**: 3.3.6
- **Spring Boot**: 3.5.8
### Maven Dependencies
```xml
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-zookeeper-curator5-spring-boot-starter</artifactId>
</dependency>
```
# Proto File with Different `package` and `java_package`
```proto
syntax = "proto3";
option java_multiple_files = false;
option java_package = "com.ec.mkt.common.grpc.server.tridemo";
package demo;
service DemoService {
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
message HelloRequest {
string name = 1;
}
message HelloReply {
string message = 1;
}
```
## Compiled Code
```java
public interface DemoService extends org.apache.dubbo.rpc.model.DubboStub {
String JAVA_SERVICE_NAME =
"com.ec.mkt.common.grpc.server.tridemo.DemoService";
String SERVICE_NAME = "demo.DemoService";
com.ec.mkt.common.grpc.server.tridemo.Greeter.HelloReply
sayHello(com.ec.mkt.common.grpc.server.tridemo.Greeter.HelloRequest request);
CompletableFuture<com.ec.mkt.common.grpc.server.tridemo.Greeter.HelloReply>
sayHelloAsync(com.ec.mkt.common.grpc.server.tridemo.Greeter.HelloRequest
request);
}
```
## Debugging
```shell
grpcurl -plaintext \
-proto greeter.proto \
-d '{"name": "Dubbo Triple"}' \
10.0.108.20:19132 \
demo.DemoService/SayHello
```
**ERROR**:
- Code: Unimplemented
- Message: Invoker for gRPC not found
```shell
grpcurl -plaintext \
-proto greeter.proto \
-d '{"name": "Dubbo Triple"}' \
10.0.108.20:19132 \
com.ec.mkt.common.grpc.server.tridemo.DemoService:1.0.0/SayHello
```
**Error**:
- Error invoking method
"com.ec.mkt.common.grpc.server.tridemo.DemoService:1.0.0/SayHello": target
server does not expose service
"com.ec.mkt.common.grpc.server.tridemo.DemoService:1.0.0"
---
# Proto File with Same `package` and `java_package`
```proto
syntax = "proto3";
option java_multiple_files = false;
option java_package = "com.ec.mkt.common.grpc.server.tridemo";
package com.ec.mkt.common.grpc.server.tridemo;
service DemoService {
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
message HelloRequest {
string name = 1;
}
message HelloReply {
string message = 1;
}
```
## Compiled Code
```java
public interface DemoService extends org.apache.dubbo.rpc.model.DubboStub {
String JAVA_SERVICE_NAME =
"com.ec.mkt.common.grpc.server.tridemo.DemoService";
String SERVICE_NAME =
"com.ec.mkt.common.grpc.server.tridemo.DemoService";
com.ec.mkt.common.grpc.server.tridemo.Greeter.HelloReply
sayHello(com.ec.mkt.common.grpc.server.tridemo.Greeter.HelloRequest request);
CompletableFuture<com.ec.mkt.common.grpc.server.tridemo.Greeter.HelloReply>
sayHelloAsync(com.ec.mkt.common.grpc.server.tridemo.Greeter.HelloRequest
request);
}
```
## Debugging
```shell
grpcurl -plaintext \
-proto greeter.proto \
-d '{"name": "Dubbo Triple"}' \
10.0.108.20:19132 \
demo.DemoService/SayHello
```
**Error**:
- Error invoking method "demo.DemoService/SayHello": target server does not
expose service "demo.DemoService"
```shell
grpcurl -plaintext \
-proto greeter.proto \
-d '{"name": "Dubbo Triple"}' \
10.0.108.20:19132 \
com.ec.mkt.common.grpc.server.tridemo.DemoService/SayHello
```
**Response**:
```json
{
"message": "Hello, Dubbo Triple!"
}
```
## Conclusion
It seems necessary for the `package` in the proto file to match the
`java_package` for successful service exposure and invocation.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]