2017-07-14 24 views
0

下記のjava(Version 1.7)スニペットを使用してsalesforceからアクセストークンを取得しようとしていますが、内部サーバーエラー()、営業担当者のエラーIDは1366385420-22703(1478489697)となります。salesforce.comエラーID:1366385420-22703(1478489697) - >内部サーバーエラー500

しかし私はJava 1.8で試してみている同じコードは、適切な応答を得ています。

私が使用しているJarsは「httpclient-4.3.3.jar、httpcore-4.3.2.jar」です。以下は

import java.io.BufferedReader; 
import java.io.InputStream; 
import java.io.InputStreamReader; 
import java.util.ArrayList; 
import java.util.List; 

import javax.net.ssl.SSLContext; 

import org.apache.http.HttpEntity; 
import org.apache.http.HttpHost; 
import org.apache.http.HttpResponse; 
import org.apache.http.client.config.RequestConfig; 
import org.apache.http.client.entity.UrlEncodedFormEntity; 
import org.apache.http.client.methods.HttpPost; 
import org.apache.http.conn.ssl.SSLConnectionSocketFactory; 
import org.apache.http.conn.ssl.SSLContexts; 
import org.apache.http.impl.client.CloseableHttpClient; 
import org.apache.http.impl.client.HttpClientBuilder; 
import org.apache.http.impl.client.HttpClients; 
import org.apache.http.impl.conn.DefaultProxyRoutePlanner; 
import org.apache.http.message.BasicNameValuePair; 

public class ChatterHelper 
{ 

    public static void main(String[] args) { 


     postOnChatterGroup(); 
    } 


    public static void postOnChatterGroup() 
    { 
     HttpHost proxy; 
     DefaultProxyRoutePlanner routePlanner; 
     RequestConfig requestConfig; 
     CloseableHttpClient httpClient = null; 
     InputStream is; 


     try 
     { 
      String clientId ="3MVG9**********************************************"; 
      String clientSecret ="*****************"; 
      String environment = "https://*****.salesforce.com"; 
      String authURL = "/services/oauth2/token"; 
      String userName = "**********************************"; 
      String pwd = "*******"; 
      StringBuffer sbf = new StringBuffer(); 
      String baseUrl = environment+authURL; 
      System.setProperty("https.protocols", "TLSv1.1,SSLv3"); 
      proxy = new HttpHost("***.***.com", 80); 
      routePlanner = new DefaultProxyRoutePlanner(proxy); 
      requestConfig = RequestConfig.custom().setConnectTimeout(20000) 
        .setConnectionRequestTimeout(10000).setSocketTimeout(20000) 
        .build(); 
      httpClient = HttpClientBuilder.create().setDefaultRequestConfig(
        requestConfig).setRoutePlanner(routePlanner).build(); 

      HttpPost oauthPost = new HttpPost(baseUrl); 
      oauthPost.setConfig(requestConfig); 
      List<BasicNameValuePair> parametersBody = new ArrayList<BasicNameValuePair>(); 
      // keep this as it is 
      parametersBody.add(new BasicNameValuePair("grant_type", "password")); 
      parametersBody.add(new BasicNameValuePair("username", userName)); 
      parametersBody.add(new BasicNameValuePair("password", pwd)); 
      parametersBody.add(new BasicNameValuePair("client_id", clientId)); 
      parametersBody.add(new BasicNameValuePair("client_secret", clientSecret)); 
      oauthPost.setEntity(new UrlEncodedFormEntity(parametersBody)); 
      // Execute the request. 
      HttpResponse response = httpClient.execute(oauthPost); 
      HttpEntity entity = response.getEntity(); 
      int code = response.getStatusLine().getStatusCode(); 
      System.out.println( ", Result Code >> " + code); 
      if (entity != null) 
      { 
       BufferedReader rd = new BufferedReader(new InputStreamReader(
         entity.getContent(), "UTF-8")); 
       String line = ""; 
       while ((line = rd.readLine()) != null) 
       { 
        sbf.append(line); 
        System.out.println(line); 
       } 
      } 


     } 
     catch (Exception e) 
     { 
      e.printStackTrace(); 
     } 
    } 
} 

スニペットから出力されます: 結果コード>>このコードが実行されている500

, Result Code >> 500 
 

 

 

 

 

 

 
<html> 
 
<head><title>An internal server error has occurred</title></head> 
 
<body> 
 

 

 
<div style="display:none;" id="errorTitle">An internal server error has occurred</div> 
 
<div style="display:none;" id="errorDesc">An error has occurred while processing your request. The salesforce.com support team has been notified of the problem. If you believe you have additional information that may be of help in reproducing or correcting the error, please contact <a href="https://help.salesforce.com/apex/hthome">Salesforce Support</a>. Please indicate the URL of the page you were requesting, any error id shown on this page as well as any other related information. We apologize for the inconvenience. <br/><br/>Thank you again for your patience and assistance. And thanks for using salesforce.com!</div> 
 
<table cellspacing=10> 
 
<tr><td><span style="font-weight: bold; font-size: 12pt;">An internal server error has occurred</span></td></tr> 
 
<tr><td> 
 
An error has occurred while processing your request. The salesforce.com support team has been notified of the problem. If you believe you have additional information that may be of help in reproducing or correcting the error, please contact <a href="https://help.salesforce.com/apex/hthome">Salesforce Support</a>. Please indicate the URL of the page you were requesting, any error id shown on this page as well as any other related information. We apologize for the inconvenience. <br/><br/>Thank you again for your patience and assistance. And thanks for using salesforce.com! 
 
<br><br> 
 
Error ID: 1099658790-8511 (1478489697) 
 
</td> 
 
</tr> 
 
<tr><td> 
 
<br clear="all"><br><br> 
 

 

 
</td></tr> 
 
</table> 
 

 
</td></tr> 
 
</table> 
 

 

 

 
</body> 
 
</html>

答えて

0

?私はTLS 1.1がJava 1.7でデフォルトで有効になっていないと信じています。最初に有効にする必要があります。

+0

TLS 1.1を有効にするために、 'System.setProperty(" https.protocols "、" TLSv1.1、SSLv3 ");'を使用しました。 – Muthukumar

+0

残念ながら、私はJavaの専門家ではないので、私は本当に言い訳はありません。他の場所でその質問をする必要があるかもしれません。 –

関連する問題