0

在白皮书中,它说我们可以使用 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 开发人员指南的白皮书访问控制服务。

4

2 回答 2

0
    String uri = String.format("https://accesscontrol.windows.net/isssuetoken.aspx?u=%s&p=%s", "solutionname", "password");

上面的类似是错误的......白皮书出错了,

链接中多了一个 's',应该是 String uri = String.format(" https://accesscontrol.windows.net/issuetoken.aspx?u=%s&p=%s ", "solutionname", "密码”);

于 2009-07-17T03:40:21.520 回答
0

仅供参考,这根本不是 REST。它只是 RPC。

于 2009-07-22T19:40:57.627 回答