下面是使用 dev 密钥库调用第一个 Web 服务并使用阶段密钥库调用第二个 Web 服务的示例代码。
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”位置。
当我评论第一个网络服务调用时,我可以访问第二个网络服务。