【问题标题】:Calling API from Saleforce is giving error code 500从 Salesforce 调用 API 给出错误代码 500
【发布时间】:2020-07-20 12:34:05
【问题描述】:

我有一个 REST API 可以从 Salesforce 调出。

API的授权是通过access token。

我能够通过 Salesforce 中的 POST 请求获取访问令牌。还通过该令牌从 Postman 进行了测试,并且能够获得成功的响应。

我正在使用以下代码使用访问令牌调用 API:

    String endpoint_x = '*****';//Putting my endpoint here
    Http httpObject;
    HttpResponse response;
    String accessToken;
    accessToken = MyUtilityClass.getAccessToken();
    jsonBody = json.serializePretty('', true);//Yes, My JSON is empty
         
    HttpRequest request = new HttpRequest();
        
    request.setEndpoint(endpoint_x);
        
    request.setHeader('Authorization', 'Bearer '+accessToken);
        
    request.setMethod('POST');
    request.setBody(jsonBody);
        
        
    httpObject = new Http();
    response = httpObject.send(request);
    System.debug('Response=' + response);

获取响应值如下:

System.HttpResponse[Status=Internal Server Error, StatusCode=500]
        

我尝试将“{}”放入 Jsonbody。在标题中添加了“Content-Type”,但没有任何效果。

我应该在哪里寻找这个?

【问题讨论】:

  • 调试你的accessToken?

标签: rest salesforce


【解决方案1】:

邮递员中,我没有在体内放任何东西,并且得到了成功的响应。

为了获得相同的行为,我在 Apex 中使用了空字符串,如下所示:

jsonBody = json.serializePretty('', true);

但是解析器没有正常工作。

为了解决这个问题,我创建了一个没有任何字段的类:

class ClassForEmptyBody{
}

并在序列化器中使用该类的对象:

ClassForEmptyBody classForEmptyBodyObject = new ClassForEmptyBody();
jsonBody = json.serializePretty(classForEmptyBodyObject , true);

【讨论】:

  • Http http = new Http(); HttpRequest 请求 = 新的 HttpRequest(); request.setEndpoint(this.endpoint); System.debug(this.endpoint); request.setHeader('Content-Type', 'application/json'); request.setMethod('POST'); request.setHeader('授权', this.getAuthorization() ); request.setBody(this.body); System.debug(this.body);我有相同的代码,但什么都没有……一直是 500……有什么想法吗?返回 http.send(request);
【解决方案2】:

如果里面什么都没有,你为什么要传递 json body。只需跳过 setbody 代码并尝试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-31
    • 1970-01-01
    • 2015-07-02
    • 2013-07-21
    • 2015-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多