package com.thysmichels;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import com.sforce.soap.enterprise.Connector;
import com.sforce.soap.enterprise.DeleteResult;
import com.sforce.soap.enterprise.EnterpriseConnection;
import com.sforce.soap.enterprise.Error;
import com.sforce.soap.enterprise.QueryResult;
import com.sforce.soap.enterprise.SaveResult;
import com.sforce.soap.enterprise.sobject.Account;
import com.sforce.soap.enterprise.sobject.Contact;
import com.sforce.ws.ConnectionException;
import com.sforce.ws.ConnectorConfig;
public class SalesforceDeleteObject {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ConnectorConfig sfconfig = new ConnectorConfig();
//Use your salesforce username = email
sfconfig.setUsername("username");
//Use your saleforce password with your security token look like: passwordjeIzBAQKkR6FBW8bw5HbVkkkk
sfconfig.setPassword("passwordsecuritytoken");
final String username = "emailusername";
final String password = "emailpassword";
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "587");
Session session = Session.getInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
EnterpriseConnection entercon = null;
String[] ids = new String[3];
try {
String strconcat = "";
entercon = Connector.newConnection(sfconfig);
QueryResult queryResults = entercon.query("SELECT Id, Name FROM Account ORDER BY " + "CreatedDate DESC LIMIT 3");
if (queryResults.getSize() > 0) {
for (int i=0;i<queryResults.getRecords().length;i++) {
Account a = (Account)queryResults.getRecords()[i];
ids[i] = a.getId();
strconcat += a.getId() + ", ";
}
}
// delete the records in Salesforce.com by passing an array of Ids
DeleteResult[] deleteResults = entercon.delete(ids);
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("email@gmail.com"));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("emailtosalesforce@7fbwcbhx0qtqo67npeds3yzro.aao2fmaq.f.le.salesforce.com"));
message.setSubject("Salesforce Record Delete");
message.setText("Salesforce Record Delete," + strconcat);
Transport.send(message);
// check the results for any errors
for (int i=0; i< deleteResults.length; i++) {
if (deleteResults[i].isSuccess()) {
System.out.println("Successfully deleted : " + deleteResults[i]);
} else {
Error[] errors = deleteResults[i].getErrors();
for (int j=0; j< errors.length; j++) {
System.out.println("ERROR deleting record: " + errors[j].getMessage());
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Output
Additional To: emailtosalesforce@7fbwcbhx0qtqo67npeds3yzro.aao2fmaq.f.le.salesforce.com CC: Attachment: Subject: Salesforce Record Delete Body: Salesforce Record Delete,001F000000kvR7DIAU, 001F000000kvRA8IAM, 001F000000kvRC6IAM,
Hai Michel,
Great Posts about java and Salesforce. I need help .We can create objects in to Salesforce using Java,Can we create Classes(Controller) in Salesforce from Java?
Hi haribabu, yes it is possible. See link below: http://www.salesforce.com/us/developer/docs/pages/Content/pages_controller_custom.htm