You need to sign in to do that
Don't have an account?
Shekhar
Need help to connect to salesforce
I am new to salesforce. I am trying to log in to the salesforce server using Java. I read the Webservices API page and the cookbook and was able to write the following code. I used the samples given on the website.
Code:
package org.salesforce.samples; import java.io.BufferedReader; import java.io.IOException; import java.rmi.RemoteException; import javax.xml.rpc.ServiceException; import com.sforce.soap.partner.LoginResult; import com.sforce.soap.partner.SessionHeader; import com.sforce.soap.partner.SforceServiceLocator; import com.sforce.soap.partner.SoapBindingStub; import com.sforce.soap.partner.fault.ApiFault; import com.sforce.soap.partner.fault.LoginFault; public class PartnerSamples { private SoapBindingStub binding; private LoginResult loginResult = null; private String un = ""; private String pw = ""; static BufferedReader rdr = new BufferedReader(new java.io.InputStreamReader(System.in)); public PartnerSamples() { } public static void main(String[] args) { PartnerSamples samples1 = new PartnerSamples(); samples1.login(); } String getUserInput(String prompt) { System.out.print(prompt); try { return rdr.readLine(); } catch (IOException ex) { System.out.println(ex); return null; } } private boolean login() { un = getUserInput("Enter user name: "); if (un.length() == 0) { return false; } pw = getUserInput("Enter password: "); if (pw.length() == 0) { return false; } System.out.println("Creating the binding to the web service..."); try { binding = (SoapBindingStub) new SforceServiceLocator().getSoap(); } catch (ServiceException ex) { System.out.println("ERROR: createing binding to soap service, error was: \n"+ ex.getMessage()); System.out.print("Hit return to continue..."); return false; } binding.setTimeout(60000); System.out.println("LOGGING IN NOW...."); try { loginResult = binding.login(un, pw); }catch (LoginFault lf) { System.out.println("in 1"); lf.printStackTrace(); getUserInput("\nHit return to continue..."); return false; } catch (ApiFault af) { System.out.println("in 2"); getUserInput("\nHit return to continue..."); } catch (RemoteException re) { System.out.println("in 3"); re.printStackTrace(); getUserInput("\nHit return to continue..."); return false; } System.out.println("\nThe session id is: " + loginResult.getSessionId()); System.out.println("\nThe new server url is: " + loginResult.getServerUrl()); SessionHeader sh = new SessionHeader(); sh.setSessionId(loginResult.getSessionId()); binding.setHeader(new SforceServiceLocator().getServiceName().getNamespaceURI(), "SessionHeader", sh); return true; } }
I am successfully able to build the code and run it. However when trying to login, i got the java.net.connectException. The complete exception is below.
Code:
init: deps-jar: compile: run: Enter user name:abc@xyz.com Enter password:password Creating the binding to the web service... LOGGING IN NOW.... in 3 AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: java.net.ConnectException: Connection timed out: connect faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace:java.net.ConnectException: Connection timed out: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:519) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:550) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:353) at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:71) at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:92) at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191) at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404) at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165) at org.apache.axis.client.Call.invokeEngine(Call.java:2784) at org.apache.axis.client.Call.invoke(Call.java:2767) at org.apache.axis.client.Call.invoke(Call.java:2443) at org.apache.axis.client.Call.invoke(Call.java:2366) at org.apache.axis.client.Call.invoke(Call.java:1812) at com.sforce.soap.partner.SoapBindingStub.login(SoapBindingStub.java:1844) at org.salesforce.samples.PartnerSamples.login(PartnerSamples.java:73) at org.salesforce.samples.PartnerSamples.main(PartnerSamples.java:33) {http://xml.apache.org/axis/}hostname:Jedi java.net.ConnectException: Connection timed out: connect at org.apache.axis.AxisFault.makeFault(AxisFault.java:101) at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:154) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165) at org.apache.axis.client.Call.invokeEngine(Call.java:2784) at org.apache.axis.client.Call.invoke(Call.java:2767) at org.apache.axis.client.Call.invoke(Call.java:2443) at org.apache.axis.client.Call.invoke(Call.java:2366) at org.apache.axis.client.Call.invoke(Call.java:1812) at com.sforce.soap.partner.SoapBindingStub.login(SoapBindingStub.java:1844) at org.salesforce.samples.PartnerSamples.login(PartnerSamples.java:73) at org.salesforce.samples.PartnerSamples.main(PartnerSamples.java:33) Caused by: java.net.ConnectException: Connection timed out: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:519) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:550) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:353) at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:71) at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:92) at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191) at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404) at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138) ... 12 more Hit return to continue...
I am using Java 1.6 and have just added the jar files for axis on the path. I am not running axis or tomcat in the background as i think i am trying to connect to the server on salesforce so i do not need to. Am i right in assuming this? The error is caught in third catch block which is for remote exception. I am not able to understand what can i do to make it work. Thank you in advance and sorry for the long post.
Shekhar
Even i got the same exceptions while Logon to Salesforce site. Please guide me clearly the way how you rectified this error and also guide me how to set the proxy settings.
Thanks in adv,
-Vissu