我在浏览器浏览时从https://ml.nexosis.com/v1/收到404错误。
尝试通过Java中的NexosisClient进行连接时,我也收到验证器错误:
com.nexosis.impl.NexosisClientException:发出HTTP请求时出现IO错误:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到所请求目标的有效证书路径
我已经在stackoverflow上关注dirs导入通过OpenSSL为localhost生成的客户端证书,但这似乎没有任何效果。我将证书添加到我的机器上的C:\ jdk \ jre \ lib \ security \ cacerts中,看起来很典型。
请告知。
代码:
public static void main(String[] args) {
NexosisClient nexosisClient = new NexosisClient("<my key>", "https://ml.nexosis.com/v1/");
DataSetData dataSetData = generateSample(); // just gets sample data
try {
nexosisClient.getDataSets().create("SampleDataSet", dataSetData);
SessionResponse sessionResponse = generateForecast(nexosisClient);
UUID sessionId = sessionResponse.getSessionId();
SessionResult sessionResult = nexosisClient.getSessions().getResults(sessionId);
int cnt = 0;
while (sessionResult.getStatus() != SessionStatus.COMPLETED) {
if (cnt==5) {
System.exit(0);
}
Thread.sleep(WAIT_MSEC); // WAIT_MSEC declared as 4000
sessionResult = nexosisClient.getSessions().getResults(sessionId);
cnt++;
}
Metrics metrics = sessionResult.getMetrics();
List<JobMetric> jobmetrics = metrics.getMetrics();
for(JobMetric metric : jobmetrics) {
System.out.println(metric.getName() + " = " + metric.getValue());
}
} catch (Exception e) {
e.printStackTrace();
}
}
答案 0 :(得分:3)
404是预期的,因为该URL没有任何内容。
验证程序问题是与Nexosis API无关的证书问题。 StackOverflow和Internet上有很多解决这些问题的方法。您需要完成它们才能使代码正常工作。 SSLPoke是帮助解决这些问题的有用工具。
答案 1 :(得分:1)