• Pierre Marie Dartus
  • NEWBIE
  • 10 Points
  • Member since 2014

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 1
    Questions
  • 1
    Replies
Hello,

Is it possible to send an HTTPrequest at package installation ? Every time an Exception is raised : You have uncommitted work pending. Please commit or rollback before calling. My goal is to notify my server that someone installed the package to setup the application.

Here is a code example : 
global void onInstall(InstallContext context) {      
        
        try {
        	Http h = new Http();
	        String endpoint = 'myURL';
	        
	        // Send the request
	        HttpRequest req = new HttpRequest();
	        req.setEndpoint(endpoint);
	        req.setMethod('POST');
	        req.setbody('MyData');
	        
	        HttpResponse res = h.send(req);
	        
        } catch (Exception ex) {
        	Messaging.SingleEmailMessage emailTobeSent = new Messaging.SingleEmailMessage();
			list<String> listEmailMembers = new list<String>();
			listEmailMembers.add('myEmail@adress.com');
			emailTobeSent.setToAddresses(listEmailMembers);
			emailTobeSent.setSubject('Post install exception');
			emailTobeSent.setHtmlBody('Message : ' + ex.getMessage() + 'Line no : ' + ex.getLineNumber() + ' getStackTraceString ' + ex.getStackTraceString() + '' + ex.getCause());
			Messaging.SendEmailResult [] r1 = Messaging.sendEmail(new Messaging.SingleEmailMessage[] {emailTobeSent});
        }
    }

Any Idea ? Thanks !

Pierre-Marie

Hello,

Is it possible to send an HTTPrequest at package installation ? Every time an Exception is raised : You have uncommitted work pending. Please commit or rollback before calling. My goal is to notify my server that someone installed the package to setup the application.

Here is a code example : 
global void onInstall(InstallContext context) {      
        
        try {
        	Http h = new Http();
	        String endpoint = 'myURL';
	        
	        // Send the request
	        HttpRequest req = new HttpRequest();
	        req.setEndpoint(endpoint);
	        req.setMethod('POST');
	        req.setbody('MyData');
	        
	        HttpResponse res = h.send(req);
	        
        } catch (Exception ex) {
        	Messaging.SingleEmailMessage emailTobeSent = new Messaging.SingleEmailMessage();
			list<String> listEmailMembers = new list<String>();
			listEmailMembers.add('myEmail@adress.com');
			emailTobeSent.setToAddresses(listEmailMembers);
			emailTobeSent.setSubject('Post install exception');
			emailTobeSent.setHtmlBody('Message : ' + ex.getMessage() + 'Line no : ' + ex.getLineNumber() + ' getStackTraceString ' + ex.getStackTraceString() + '' + ex.getCause());
			Messaging.SendEmailResult [] r1 = Messaging.sendEmail(new Messaging.SingleEmailMessage[] {emailTobeSent});
        }
    }

Any Idea ? Thanks !

Pierre-Marie