在白皮书中,它说我们可以使用 REST 请求令牌,然后使用令牌附加到我们要触发的请求,然后可以在服务总线中调用服务,但是我无法获取令牌
下面是我用来进行 REST 调用的代码,我可以得到结果,但这是一个 html 错误页面..我没有得到任何令牌......我确信我的解决方案名称和密码是正确的。因为我在云中的服务是 RESTful 服务,当我将服务端点放到浏览器上时,它要求我输入我的解决方案名称和密码,我输入与下面代码中使用的相同,它工作得很好.. .
谁能告诉我为什么下面的代码我不能得到白人所说的?
public static String call() {
try {
HttpClient client = new HttpClient();
String uri = String.format("https://accesscontrol.windows.net/isssuetoken.aspx?u=%s&p=%s", "solutionname", "password");
log.debug("Out going uri is : " + uri);
GetMethod get = new GetMethod(uri);
int status = client.executeMethod(get);
byte[] responseBody = get.getResponseBody();
log.debug("status return is : " + status);
if (status == HttpStatus.SC_OK) {
return new String(responseBody);
}
} catch (Exception ex) {
log.error("Error while calling AccessControl protal.", ex);
}
return null;
}
================ 以下是白皮书中的文字=============
https://accesscontrol.windows.net/isssuetoken.aspx?u= {解决方案名称}&p={密码}
该响应包含一个指向 .NET 访问控制服务中保存的令牌的引用 cookie(纯文本格式)。客户端可以使用 cookie 访问中继服务,方法是将 cookie 值添加到名为“X-MS-Identity-Token”的自定义 HTTP 标头中的传出 HTTP 请求中。使用此技术时,Microsoft 强烈建议使用 HTTPS 来保护网络上的 cookie 值。有关 .NET 访问控制服务的更多信息,并具体了解如何将它与您自己的服务结合使用(不仅仅是通过 .NET 服务总线),请参阅随附的名为 .NET 开发人员指南的白皮书访问控制服务。