2013-02-08 30 views
0

我正嘗試從java類(在本地計算機上)連接到Salesforce。我已經使用了WSC-22.jar(web服務連接器),並使用它作爲eclipse中的庫。我還將企業wsdl解析爲jar,並將日誌上載到庫中。我正在運行下面的java類,這是錯誤的。使用web服務連接器從java訪問salesforce

package wsc; 

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 main { 

static final String USERNAME = "username"; 
static final String PASSWORD = "password + sec token"; 
static EnterpriseConnection connection; 

public static void main(String[] args) { 

ConnectorConfig config = new ConnectorConfig(); 
config.setUsername(USERNAME); 
config.setPassword(PASSWORD); 
//config.setTraceMessage(true); 

try { 

    connection = com.sforce.soap.enterprise.Connector.newConnection(config); 

    // display some current settings 
    System.out.println("Auth EndPoint: "+config.getAuthEndpoint()); 
    System.out.println("Service EndPoint: "+config.getServiceEndpoint()); 
    System.out.println("Username: "+config.getUsername()); 
    System.out.println("SessionId: "+config.getSessionId()); 

    // run the different examples 
    queryContacts(); 
    createAccounts(); 
    updateAccounts(); 
    deleteAccounts(); 


} catch (ConnectionException e1) { 
    System.out.println("hello world"); 
    e1.printStackTrace(); 
} 

} 
//somemore code---- 

錯誤消息: com.sforce.ws.ConnectionException:未能發送請求

https://login.salesforce.com/services/Soap/c/26.0 
    at com.sforce.ws.transport.SoapConnection.send(SoapConnection.java:120) 
    at com.sforce.soap.enterprise.EnterpriseConnection.login(EnterpriseConnection.java:1) 
    at com.sforce.soap.enterprise.EnterpriseConnection.<init>(EnterpriseConnection.java:1) 
    at com.sforce.soap.enterprise.Connector.newConnection(Connector.java:1) 
    at wsc.main.main(main.java:32) 
Caused by: java.net.ConnectException: Connection refused: connect 
    at java.net.PlainSocketImpl.socketConnect(Native Method) 
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)hello world 

    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213) 
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) 
    at java.net.Socket.connect(Socket.java:529) 
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:570) 
at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:141) 
at sun.net.NetworkClient.doConnect(NetworkClient.java:163) 
at sun.net.www.http.HttpClient.openServer(HttpClient.java:411) 
at sun.net.www.http.HttpClient.openServer(HttpClient.java:525) 
at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:272) 
at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:329) 
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:172) 
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:966) 
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:158) 
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1031) 
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:230) 
at com.sforce.ws.transport.JdkHttpTransport.connectRaw(JdkHttpTransport.java:133) 
at com.sforce.ws.transport.JdkHttpTransport.connectLocal(JdkHttpTransport.java:97) 
at com.sforce.ws.transport.JdkHttpTransport.connectLocal(JdkHttpTransport.java:92) 
at com.sforce.ws.transport.JdkHttpTransport.connect(JdkHttpTransport.java:88) 
at com.sforce.ws.transport.SoapConnection.send(SoapConnection.java:94) 

我無法弄清楚如何來解決這個問題。由於錯誤消息顯示「有人連接到http://login.salesforce.com./ ...」,我應該在Eclipse中啓用一些設置嗎?

問候 山姆

回答

1

你身後的代理?在Eclipse

如果是這樣,使代理設置喜好一般網絡

+0

謝謝你的工作... – Anamadeya

-1

...

String proxyHost = getUserInput("Enter proxy host:"); 
    String proxyPort = getUserInput("Enter proxy port:"); 

    try { 

...

 if(proxyHost!=null && !proxyHost.trim().equals("")){ 
     config.setProxy(proxyHost, Integer.valueOf(proxyPort)); 
    } 

...

+0

你應該詳細說明爲什麼你認爲它需要一個代理? – mpromonet