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
Nick JosephNick Joseph 

null pointer exception on After update Trigger (Post REST call)

Getting a Null Pointer exception with this quick Post code:
 
trigger CallInformaticaTaskFlow on Informatica_Cloud_Integration__c (After Update) {
    for (Informatica_Cloud_Integration__c settingRecord: Trigger.new) {
        If(settingRecord.Monitor__c == TRUE && Trigger.oldMap.get(settingRecord.Id).Monitor__c==FALSE){
            InformaticaTaskFlow.runJob(settingRecord.Informatica_Cloud_Username__c, settingRecord.Informatica_Cloud_Password__c, settingRecord.Monitoring_Task_Flow__c,'Workflow');
        }
    }
}

Test:
@isTest
public class CallInformaticaTaskFlowTest {
    public static testmethod void InformaticaTriggerTest() {
        Informatica_Cloud_Integration__c infa = new Informatica_Cloud_Integration__c();
        infa.Informatica_Cloud_Username__c = 'test@ncino.com';
        infa.Informatica_Cloud_Password__c = 'O4m27iCX72F6!';
        infa.Task_Flow_to_Monitor__c = 'Test_Bank_C000001_Daily_TaskFlow_Production';
        infa.Exception_Retention__c = 0;
        infa.Monitor_Retention__c = 0;
        insert infa;
        infa.Monitor__c=TRUE;
        update infa;
    }    
    
    

}

 
Ravi Dutt SharmaRavi Dutt Sharma
Nick,

Which line is throwing null pointer exception?
Nick JosephNick Joseph
Ravi,

Thank you for the quick response:
System.NullPointerException: Argument cannot be null.
Class.System.EncodingUtil.urlEncode: line 30, column 1
Class.InformaticaTaskFlow.runjob: line 10, column 1
Ravi Dutt SharmaRavi Dutt Sharma
Can you post the code for InformaticaTaskFlow class please. Thanks.
Nick JosephNick Joseph
Yessir,
public class InformaticaTaskFlow {
    @future (callout=true)
    public static void runjob(String username, String password, String jobName, String jobType) {
        HttpRequest req = new HttpRequest();
        HttpResponse res = new HttpResponse();
        Http http = new Http(); 
        req.setEndpoint('https://app2.informaticacloud.com/saas/api/1/runjob?username='+EncodingUtil.urlEncode(username, 'UTF-8')+
                           '&password='+EncodingUtil.urlEncode(password, 'UTF-8')+
                           '&jobName='+EncodingUtil.urlEncode(jobName, 'UTF-8')+
                           '&jobType='+EncodingUtil.urlEncode(jobType, 'UTF-8'));
    req.setMethod('POST');
			res = http.send(req);
    }

}