Thursday 1 March 2012

Retrieve Salesforce server instance

Retrieve Salesforce server instance
This task use java to retrieve Salesforce server instance
Retrieve Salesforce server instance
  1. Create getInstance() method as following
  2. Call getInstance() method as following
Call getInstance() method
String username = "";
String password = "";
     
ConnectorConfig cc = new ConnectorConfig();
cc.setAuthEndpoint("https://login.salesforce.com/services/Soap/u/19.0");
cc.setServiceEndpoint("https://login.salesforce.com/services/Soap/u/19.0");
cc.setManualLogin(true);
PartnerConnection conn = Connector.newConnection(cc);
   
LoginResult loginResult = conn.login(username, password);
conn.setSessionHeader(loginResult.getSessionId());
String serverUrl = loginResult.getServerUrl();
cc.setServiceEndpoint(serverUrl);
      
String instance = getInstance(loginResult);
logger.info(instance);
    
getInstance() method
public static String getInstance(LoginResult loginResult) {
    String url = loginResult.getServerUrl();
    String pat1 = "https://";
    String pat2 = "-api.salesforce.com";
    int pos1 = url.indexOf(pat1);
    int pos2 = url.indexOf(pat2);
    String instance = "ap1";
    if (pos1 >= 0 && pos2 >= 0 && pos1 + pat1.length() < pos2) {
        instance = url.substring(pos1 + pat1.length(), pos2);
    }
    return instance;
}
    

  Protected by Copyscape Online Copyright Protection

No comments:

Post a Comment