我正在尝试使用Vertx Webclient连接到AWS API网关:
HttpRequest<Buffer> request = webClient.postAbs(targetHost);
request.putHeader("Authorization", auth);
request.putHeader("Content-Type", contentType);
request.putHeader("Host", hostName);
request.sendJson(new JsonObject(jsonData), response -> {
if (response.succeeded()) {
final JsonObject result = response.result().bodyAsJsonObject();
logger.info(result.toString());
routingContext.response()
.setStatusCode(200)
.putHeader("Content-Type", "application/json")
.end(result.toString());
} else {
logger.error(response.cause().getMessage());
routingContext.fail(new Exception(response.cause().getMessage()));
}
});
并且总是收到相同的错误响应,即我们计算的请求签名与您提供的签名不匹配。检查您的AWS秘密访问密钥和签名方法。
但是如果我使用javax.ws.rs.client.WebTarget,
Client client = ClientBuilder.newClient();
WebTarget target = client.target(targetHost);
response=target.request()
.header("Authorization", auth)
.header("Content-Type", contentType)
.header("Host", hostName)
.post(jsonData,Response.class);
我能够得到适当的回应。
知道Vertx web客户端的不同之处吗?
所以我们解决了问题,发现我们使用的json数据在Vertx实现中没有正确传递。
因此,我们可以创建一个新的JSONObject,创建数据并使用此对象来验证aws签名,并在实际的API调用中传递相同的对象。
谢谢
问题内容: 我正在尝试建立与trackobot.com的连接以接收一些JSON数据。服务器仅允许通过HTTPS / SSL进行连接。这是代码: openSteam抛出javax.net.ssl.SSLHandshakeException:收到致命警报:handshake_failure 我通读了与类似问题有关的几篇文章,但没有任何建议可以帮助您。适当的证书在我的信任库中。例如,当我尝试连接到goo
使用java-version:1.8.0_171,我试图连接到API网关,但使用java8却得到一个SSL handshake_failure。已经运行的命令: 启用时,我得到了以下信息: 更新
我有一个这样的设置: 浏览器->API网关->lambda:87 ms 如何快速调用Lambda函数?
我尝试测试vertx社区web客户端提供的反应式web客户端。 我遵循官方指南Quarkus-反应式入门。 并在依赖项中添加了以下内容。 但是当我如文中所述注入时,得到了CDI未满足的依赖异常。不可用。 完整的代码在这里。
尝试使用akka、rx、vert建立一个反应系统。x和mongodb中的流(下游)看起来很像: <代码>发布者- 我遇到了这样一种情况,上游在mongo上调用了太多的更新收集操作,结果是: <代码>com。mongodb。MongoWaitQueueFullException:等待连接的线程太多。已超过500个最大线程数(maxWaitQueueSize) 更新集合: > 在同一集合上执行 正在向
我正在使用GoogleSignIn pod中的此代码从IOS应用程序请求访问用户数据 然后,我在应用代理中接收访问令牌和刷新令牌,并将其发送到运行PHP并使用此google客户端库(https://github.com/googleapis/google-api-php-client)的服务器...第一个小时一切正常,访问令牌有效,允许我访问所有范围。然后一个小时后,访问令牌过期,我尝试使用此代码