【发布时间】:2022-08-07 21:57:07
【问题描述】:
我在 c#、VS 2022 控制台客户端调用 http 和 https 端点有以下“hello world”gRPC 服务;但是在使用 Postman for Windows(9.21.3 版)调用相同的端点时出现错误。
原型:
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply);
}
// The request message containing the user\'s name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings.
message HelloReply {
string message = 1;
}
发布 http://localhost:5046/Greeter/SayHello
正文 > 原始 > {\“名称\”:\“测试 grpc http\”}
邮递员响应->“解析错误:服务器返回格式错误的响应”
邮递员控制台->“错误:解析错误:预期的HTTP/\”c#grpc服务器控制台->无
发布 https://localhost:7046/Greeter/SayHello
body > raw > {\"Name\" : \"testing grpc HTTPS\"} postman response -> \"Error: socket hang up\"
c# grpc 服务器控制台 -> \"HTTP/2 over TLS 未在仅 HTTP/2 端点上协商。\"
有人在 c#/VS2022/Postman 堆栈上取得成功吗?
更新
我现在通过@LaurentGabiot 在此处发布的链接创建我的请求: https://blog.postman.com/postman-now-supports-grpc/
现在我的两个 http/https 端点都出现相同的错误:
\"错误:无效协议:https\"
在他们的示例中,他们的端点是: \"grpcb.in:9000\" 无论如何。不知道如何在 Vs2022/c# 中做到这一点。
注意:我会留下我原来的错误(上图),以防其他人以与我相同的方式创建他们的请求。
-
我可能错了,但你不需要 Postman 的 beta 版本来支持 gRPC 吗?您是否按照https://blog.postman.com/postman-now-supports-grpc/ 的步骤进行操作?你上传你的proto文件了吗?
-
嗨@LaurentGabiot,我不相信 Postman 本身存在“测试版”,但是当您选择“新”时,您选择了“gRPC [测试版]”选项。
-
@LaurentGabiot,您的链接很有用,因为我没有正确创建我的请求,现在我得到了一个不同的错误:\“错误:无效的协议:https\”。我在邮递员的网站上对这篇文章发表了评论。谢谢。
标签: c# postman grpc visual-studio-2022