首页 > 解决方案 > 使用命名凭证测试 Rest API 标注

问题描述

我正在尝试使用命名凭据测试来自 Salesforce 的 API 标注。我已经设置了命名凭据和 OAuth 提供程序,并且能够快速测试命名凭据中的身份验证

在此处输入图像描述

我正在尝试编写 Apex 类以查看是否可以从 Rest API 检索记录我不是如何测试匿名执行此

public with sharing class RetrieveD365Data {
    public RetrieveD365Data() {
              Http http = new Http();
              HttpRequest req = new HttpRequest();
              req.setEndpoint('callout:Dev_D365/data/Customers');
              req.setMethod('GET');
              req.setTimeout(30000);
              HttpResponse res = http.send(req);
              System.debug('Response Body===========' + res.getBody());
    }
}

我试图在 DEV 控制台上运行此代码 在此处输入图像描述

但我得到 Line: 6, Column: 1 System.CalloutException: Unable to tunnel through proxy。代理返回 "HTTP/1.1 503 Service Unavailable" 。请帮我解决这个问题,因为我是 Salesforce 的新手。

我只是感到困惑,因为在设置命名凭据时身份验证成功(说身份验证状态)。但是使收到错误的标注不可用

标签: restsalesforceapexapex-code

解决方案


直接从构造函数中进行标注不是一个好主意。如果您处于不允许标注的上下文中怎么办(在触发器中 - 例如,您需要 @future 方法,在批处理作业中您必须实现 AllowCallouts 接口)。最好以单独的方法使用它。

但是看看你的代码,你应该能够简单地进入new RetrieveD365Data();开发控制台吗?


推荐阅读