You need to sign in to do that
Don't have an account?

attempt to dereference a null object in webservice callout
Hi,
Can anyone please help me in resolving the error? I am getting the error attempt the dereference a null object when i do a callout.
Issue is with listComActivity
Below is the code:
Can anyone please help me in resolving the error? I am getting the error attempt the dereference a null object when i do a callout.
Issue is with listComActivity
Below is the code:
public class SendSMSFromTwilio implements Database.AllowsCallouts , Queueable{ public String phNumber; public String smsBody; String accountSid; string token; String fromPhNumber; errorResponseWrapper erw; public List<communicat_o__Communicat_O_activity__c> listComActivity; List<communicat_o__API_Credentials__mdt> apiCredentials; public SendSMSFromTwilio(List<communicat_o__Communicat_O_activity__c> listOfComActivity){ List<communicat_o__Communicat_O_activity__c> listComActivity = new List<communicat_o__Communicat_O_activity__c>(); listComActivity.addAll(listOfComActivity); system.debug('sadasdasdasd' + listComActivity); apiCredentials = [Select id, communicat_o__AccountSid__c, communicat_o__EndPoint__c, communicat_o__FromPhNumber__c, communicat_o__Token__c, communicat_o__Version__c FROM communicat_o__API_Credentials__mdt WHERE developername = 'Twilio' LIMIT 1]; accountSid = apiCredentials[0].communicat_o__AccountSid__c; token = apiCredentials[0].communicat_o__Token__c; fromPhNumber = apiCredentials[0].communicat_o__FromPhNumber__c; } public void processSms(){ if (!(listComActivity.IsEmpty())) for (communicat_o__Communicat_O_activity__c comActivity : listComActivity){ HttpRequest req = new HttpRequest(); req.setEndpoint(apiCredentials[0].communicat_o__EndPoint__c + accountSid+'/SMS/Messages.json'); req.setMethod('POST'); String VERSION = apiCredentials[0].communicat_o__Version__c; req.setHeader('X-Twilio-Client', 'salesforce-' + VERSION); req.setHeader('User-Agent', 'twilio-salesforce/' + VERSION); req.setHeader('Accept', 'application/json'); req.setHeader('Accept-Charset', 'utf-8'); req.setHeader('Authorization','Basic '+EncodingUtil.base64Encode(Blob.valueOf(accountSid+':' +token))); req.setBody('To='+EncodingUtil.urlEncode(phNumber,'UTF-8')+'&From='+EncodingUtil.urlEncode('+' + String.valueOf(comActivity.communicat_o__Phone_Number__c),'UTF-8')+'&Body='+comActivity.communicat_o__Message__c); Http http = new Http(); HTTPResponse res = http.send(req); System.debug(res.getBody()); if(res.getStatusCode()==201) //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO,'SMS Sent Successfully')); system.debug('SMS Sent Successfully'); else{ erw =(errorResponseWrapper)json.deserialize(res.getBody(),errorResponseWrapper.class); //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,erw.message)); system.debug('erw' + erw.message); } } } public void execute(QueueableContext ctx) { this.processSms(); } public class errorResponseWrapper{ String code; String message; String moreInfo; String status; } }
public List<communicat_o__Communicat_O_activity__c> listComActivity;
public SendSMSFromTwilio(List<communicat_o__Communicat_O_activity__c> listOfComActivity){
List<communicat_o__Communicat_O_activity__c>listComActivity = newList<communicat_o__Communicat_O_activity__c>();All Answers
public List<communicat_o__Communicat_O_activity__c> listComActivity;
public SendSMSFromTwilio(List<communicat_o__Communicat_O_activity__c> listOfComActivity){
List<communicat_o__Communicat_O_activity__c>listComActivity = newList<communicat_o__Communicat_O_activity__c>();