我正在使用下面的代码发送一个OTP
但我收到一个错误:
PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法在 responseMessage = connection.getResponseMessage() 处找到请求目标的有效证书路径;
我找到了几个解决方案,但不确定答案的实施。
public Boolean sendSmsOTP(String MobileNumber, String OTPKey) {
logDebugInfo("In sendSmsOTP ", LOG_TYPE_INFORMATIVE);
HttpURLConnection connection;
int responseCode;
String requestData, responseMessage;
URL smsUrl;
URI uri;
String mobileNumber = MobileNumber.replace("+91", "");
try {
logDebugInfo("Mobile Number : " + mobileNumber + " OTP : " + OTPKey, LOG_TYPE_INFORMATIVE);
requestData = gResourceBundle.getString("RequestSMSData");
requestData = requestData.replace("[MobileNumber]", mobileNumber.trim());
requestData = requestData.replace("[OTPKEY]", OTPKey);
requestData = requestData.replace("[ ]", "%20");
requestData = requestData.replace(" ", "%20");
System.out.println(requestData.toString());
uri = new URI(requestData);
smsUrl = uri.toURL();
logDebugInfo("URL : " + smsUrl.toString(), LOG_TYPE_INFORMATIVE);
connection = (HttpURLConnection) smsUrl.openConnection();
connection.setDoOutput(false);
connection.setDoInput(true);
System.out.println("Manish negi -> "+connection.toString());
responseMessage = connection.getResponseMessage();
logDebugInfo("Response Message from SMS server " + responseMessage, LOG_TYPE_INFORMATIVE);
responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
connection.disconnect();
System.out.println("OTP GENERATED");
return true;
} else {
connection.disconnect();
return false;
}
} catch (Exception e) {
logErrorInfo("Exception in sendSmsOTP function()..." + e.getMessage());
logDebugInfo("Exception in sendSmsOTP function()..." + e.getMessage(), LOG_TYPE_CRITICAL);
gResultMessage = gResultMessage.replace("Error Code", "CA01");
gReturnResponse = getJSONString(gErrorResponse, gResultMessage);
e.printStackTrace();
return false;
}
}