Ich versuche, Zugriffstoken von salesforce unter Verwendung von Java-Schnipsel (Version 1.7) zu erhalten, erhalte aber einen internen Serverfehler (Fehlercode: 500) und die Außendienst-Fehler-ID wie 1366385420-22703 (1478489697).salesforce: Fehler-ID: 1366385420-22703 (1478489697) -> Interner Serverfehler 500
Aber den gleichen Code versuche ich in Java 1.8 funktioniert es gut ist eine richtige Antwort bekommen.
Die Jars, die ich verwende, ist "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();
}
}
}
Unten finden Sie die Ausgabe aus dem Code-Schnipsel: Ergebniscode >> 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>
Ich habe 'System.setProperty ("https.protocols", "TLSv1.1, SSLv3") verwendet; 'um das TLS 1.1 zu aktivieren, ist das korrekt? – Muthukumar
Leider bin ich kein Java Experte, also kann ich nicht wirklich sagen. Möglicherweise müssen Sie diese Frage woanders stellen. –