0
我正在嘗試與https站點連接,但是當我發送我的請求時,我得到的響應代碼= 500 XML不爲什麼當我嘗試從Web服務獲取響應時出現此錯誤。下面是我的示例代碼。請幫我解決這個問題。https服務的https連接
public static HttpsURLConnection gethttpsConnection(String wsdl,
String soapAction, StringBuffer buf) {
try {
URL url = new URL(wsdl);
HttpsURLConnection connjava = (HttpsURLConnection) url
.openConnection();
connjava.setRequestMethod("GET");
connjava.setRequestProperty("Content-length",
"" + Integer.toString(buf.toString().getBytes().length));
connjava.setRequestProperty("Content-Type",
"text/xml; charset=utf-8");
connjava.setRequestProperty("User-Agent", "text/xml; charset=utf-8");
connjava.addRequestProperty("SOAPAction", soapAction);
connjava.setDoOutput(true);
connjava.setDoInput(true);
connjava.setAllowUserInteraction(true);
java.io.DataOutputStream printout = new java.io.DataOutputStream(
connjava.getOutputStream());
printout.writeBytes(buf.toString());
if (connjava != null) {
Logs.logger.info("Response Code : "
+ connjava.getResponseCode());
X509Certificate[] certs = (X509Certificate[]) connjava
.getServerCertificates();
for (X509Certificate cert : certs) {
Logs.logger.info("Cert Hash Code : " + cert.hashCode());
Logs.logger.info("Cert Public Key Algorithm : "
+ cert.getPublicKey().getAlgorithm());
Logs.logger.info("Cert Public Key Format : "
+ cert.getPublicKey().getFormat());
}
printout.flush();
printout.close();
return connjava;
}
請從服務器日誌中包含堆棧跟蹤。 – 2013-11-28 07:38:55
服務器錯誤500是內部服務器錯誤。閱讀我的答案,它可能會幫助你。 –
還有一個建議,這個錯誤不是因爲你的代碼。 (我是這麼認爲的)。如果你想使用SSL保護連接,那麼包含SSL文件。無需編寫此代碼,您可以實施SSL並免費使用此代碼。 500錯誤與您的代碼無關。但最後,我不確定。請檢查其他答案。 –