import javax.xml.ws.BindingProvider; import com.sforce.soap.partner.LoginResult; import com.sforce.soap.partner.SessionHeader; import com.sforce.soap.partner.SforceService; import com.sforce.soap.partner.Soap; @SuppressWarnings("nls") public class SFTest { public static void main(String[] args) throws Exception { int connectionsCreated = 0; SF[] sf = new SF[10]; try { for(int i = 0; i< 10; i++) { System.out.println("Creating connection:"+i); sf[i] = new SF(); sf[i].login(); connectionsCreated = i; } } catch (Exception e) { System.out.println("Only could create "+ connectionsCreated +" connections."); } finally { System.out.println("press any key shutdown the connections"); System.in.read(); for (int i = 0; i < connectionsCreated; i++) { System.out.println("Closing connection:"+i); sf[i].logout(); } } } static class SF { String username = "user"; String password = "password"; SforceService sfService; Soap sfSoap; SessionHeader sh = new SessionHeader(); SF(){ sfService = new SforceService(); sfSoap = sfService.getSoap(); } public void login() throws Exception { LoginResult loginResult = sfSoap.login(username, password); ((BindingProvider)sfSoap).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,loginResult.getServerUrl()); ((BindingProvider)sfSoap).getRequestContext().put(BindingProvider.SESSION_MAINTAIN_PROPERTY,Boolean.TRUE); sh.setSessionId(loginResult.getSessionId()); System.out.println("session:"+loginResult.getSessionId()); } public void logout() throws Exception{ sfSoap.logout(sh); } } }