以下是使用dev密鑰庫 調用第1個Web服務並使用stage keystore調用第2個Web服務的示例代碼。javax.net.ssl.trustStore沒有得到更新
public static void main(String args[]) {
System.setProperty("javax.net.ssl.trustStore",
"C:\\Users\\shahire\\Desktop\\Keystores\\Keystores\\dev\\dev.keystore");
System.out.println("1st web service call");
// 1st axis2 web service call code
System.setProperty("javax.net.ssl.trustStore",
"C:\\Users\\shahire\\Desktop\\Keystores\\Keystores\\stage\\stage.keystore");
System.out.println("2nd web service call");
// 2nd axis2 web service call code
}
我能夠調用第一個Web服務調用,但是我已經越來越下面的錯誤,而第二個訪問Web服務調用
org.apache.axis2.AxisFault:sun.security.validator.ValidatorException:PKIX路徑構建失敗:sun.security.provider.certpath.SunCertPathBuilderException:無法找到有效的認證路徑要求的目標 在org.apache.axis2.AxisFault.makeFault(AxisFault.java:417)
通過查看異常我覺得它緩存「javax.net.ssl.trustStore」的位置。
當我評論第一個Web服務調用,然後我可以訪問第二個Web服務。
你使用哪個應用程序服務器? –
Java只讀取一次系統屬性。您不需要兩個單獨的信任庫:將它們合併。如果你認爲你需要兩個,你會以某種方式濫用這個設施。 – EJP