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
1String username = "";
2String password = "";
3
4ConnectorConfig cc = new ConnectorConfig();
5cc.setAuthEndpoint("https://login.salesforce.com/services/Soap/u/19.0");
6cc.setServiceEndpoint("https://login.salesforce.com/services/Soap/u/19.0");
7cc.setManualLogin(true);
8PartnerConnection conn = Connector.newConnection(cc);
9
10LoginResult loginResult = conn.login(username, password);
11conn.setSessionHeader(loginResult.getSessionId());
12String serverUrl = loginResult.getServerUrl();
13cc.setServiceEndpoint(serverUrl);
14
15String instance = getInstance(loginResult);
16logger.info(instance);
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
1public static String getInstance(LoginResult loginResult) {
2 String url = loginResult.getServerUrl();
3 String pat1 = "https://";
4 String pat2 = "-api.salesforce.com";
5 int pos1 = url.indexOf(pat1);
6 int pos2 = url.indexOf(pat2);
7 String instance = "ap1";
8 if (pos1 >= 0 && pos2 >= 0 && pos1 + pat1.length() < pos2) {
9 instance = url.substring(pos1 + pat1.length(), pos2);
10 }
11 return instance;
12}
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