我正在尝试将付款服务'Mollie'(http://www.mollie.nl)集成到Java环境中,该服务可通过HTTPS请求工作。
至于这篇文章,我将使用以下请求进行解释:在PHP中(因为我有PHP背景)我可以使用cURL:
$ curl -X GET https://api.mollie.nl/v1/methods \
-H "Authorization: Bearer API-KEY"
哪个有回应:
从DHC(或邮递员)测试REQUEST会返回正确的响应。
因此,在Java中,我正在使用Jersey库来尝试访问请求:
Client client = Client.create();
WebResource webResource = client.resource("https://api.mollie.nl/v1/methods");
webResource.header("Authorization", "Bearer API-KEY");
ClientResponse response = webResource
.header("Content-Type", "application/json;charset=UTF-8")
.type("application/json")
.accept("application/json")
.get(ClientResponse.class);
int statusCode = response.getStatus();
if (statusCode == 401) {
throw new AuthenticationException("Invalid Username or Password");
}
String responseCall = response.getEntity(String.class);
执行Java代码时,请求将引发ClientHandlerException:
HTTP Status 500 - com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection timed out: connect
我正在从Apache本地服务器运行Java测试。但是由于身份验证标头似乎设置正确(至少对我而言),我无法弄清楚Java请求为何给出超时的原因。
我注意到的是,当访问请求的路径https://api.mollie.nl/v1/methods时,它会显示一个用于身份验证的弹出窗口。
得到一些有用的技巧或有关此问题的信息将是很好的。我想念什么吗?
谢谢!
我已经解决了上述问题。显然,工作PROXY服务器正在阻止传出的HTTPS请求。在非代理环境中进行测试可解决此问题。感谢您的所有建议!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句