首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >API管理REST API不工作

API管理REST API不工作
EN

Stack Overflow用户
提问于 2016-04-14 17:06:04
回答 2查看 382关注 0票数 0

我正在尝试执行API Management REST API以获取API. https://<service>.management.azure-api.net/apis?api-version=2014-02-14的列表。当通过浏览器执行时,我可以正确地获得输出,但当我尝试通过java代码执行时,它会给出以下错误。

代码语言:javascript
复制
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

我还启用了API管理服务。我正在执行下面的代码。

代码语言:javascript
复制
HttpsURLConnection con = null;
con = createConnection(url, proxyDetails);
con.setRequestMethod("GET");
con.addRequestProperty("Authorization", <Token>);
con.getResponseCode()

在获得响应码的同时,我得到了上面提到的错误。

有人能告诉我为什么我得到认证错误,因为我没有找到任何文件,提到我们需要使用任何证书来使用API管理服务?

除了在manage的安全部分启用API Management Service复选框之外,我还需要执行其他设置吗?

EN

回答 2

Stack Overflow用户

发布于 2016-04-14 17:11:36

看看这些SO帖子:Resolving javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed Error?

问题是您的java客户端无法正确识别API管理REST服务的SSL服务器证书。可能是某个证书颁发机构的密钥库错误?

在浏览器中打开URL,检查ssl服务器证书,然后检查证书链以查看颁发服务器证书的证书颁发机构(CA)。检查此CA是否在您的java密钥库中。

票数 0
EN

Stack Overflow用户

发布于 2016-04-15 13:40:10

我想重现这个问题,但失败了。

下面是我的代码。根据the doc for API Management REST API Get a list of all APIs,没有必要为/apis请求设置Authorization头。

代码语言:javascript
复制
URL url = new URL("https://<my-apimgmt-service-name>.management.azure-api.net/apis?api-version=2014-02-14");
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.connect();
int respCode = conn.getResponseCode();
System.out.println(respCode);

我得到的状态代码是200。我认为这个问题可能是由您的函数createConnection(url, proxyDetails)引起的。如果你可以分享代码,我想它可以帮助我们分析这个问题。

如有任何问题,请随时与我联系。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36618423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档