You need to sign in to do that
Don't have an account?
Mayank 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());
}
}
}
}
+++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());
}
}
}
}