function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Mayank Raj 22Mayank Raj 22 

Can some one help me with this code.

I am new to Integration. I am trying to update a record in one environment(Org - A) and reflect the same value in another environment (Org - B). Upon checking the debug log I get the following error.
+++Http Response[{"message":"Session expired or invalid","errorCode":"INVALID_SESSION_ID"}]

Could you please point in the right direction.
Code on Org - A

public class restApiToUpdateRecords {
    
    String consumerKey = 'XXXXXXX';
    String consumerSecret = 'XXXX';
    String userName = 'XXX';
    String passwd = 'XXX';
    
    public class wrapperClass{
        public String identifier;
        public String valueToPut;
    }
    
    public class responseWrapper{
        public String id;
        public String access_token;
        public String instance_url;
        
    }
    
    public String getRequestToken(){
        String reqBody = 'grant_type=password&client_id=' + consumerKey + '&client_secret=' + consumerSecret + '&username=' + userName + '&password=' + passwd;
        Http http = new Http();
        HttpRequest request = new HttpRequest();
            request.setBody(reqBody);
            request.setMethod('POST');
            request.setEndpoint('https://login.salesforce.com/services/oauth2/token');
        HttpResponse response = http.send(request);
        responseWrapper jsonResponse = (responseWrapper)JSON.deserialize(response.getBody(), responseWrapper.Class);
        return jsonResponse.access_token;
    }
    
    @future(callout = True)
    public static void updateRecord(List<Id> recList){
        for(Rest_Integration__c rec: [SELECT Id,Identifier__c,Value_to_Lightning_Env__c FROM Rest_Integration__c WHERE ID IN: recList]){
        wrapperClass wc = new wrapperClass();
            wc.identifier = rec.Identifier__c;
            wc.valueToPut = rec.Value_to_Lightning_Env__c;
        restApiToUpdateRecords obj = new restApiToUpdateRecords();
        String accessToken = obj.getRequestToken();
        if(accessToken != NULL){
            System.debug('++++Getting the Access Token');
            Http http = new Http();
            HttpRequest request = new HttpRequest();
                request.setEndpoint('https://mayankraj1212-dev-ed.my.salesforce.com/services/apexrest/updateRecords/');
                request.setBody(JSON.serialize(wc));
                request.setHeader('Authorization', 'Bearer ' + accessToken);
                request.setHeader('Content-Type', 'application/json');
                request.setMethod('PUT');
            HttpResponse response = http.send(request);
            System.debug('+++Http Response'+response.getBody());
        }
        
        }
    }

}