我正在尝试使用供应商提供的一组Web服务。我有Java应用程序代码,用尽了使用javax.xml中的类到以下的NetBeans:
调用dispatch对象。
public static void main(String[] args) {
try
{
final Service service
= Service.create(new URL("blahblahblah.wsdl"),
new QName("http://schemas.microsoft.com/ws/2008/06/identity/securitytokenservice",
"SecurityTokenService")
);
final Dispatch dispatch
= service.createDispatch(new QName("http://schemas.microsoft.com/ws/2008/06/identity/securitytokenservice", "CustomBinding_IWSTrust13Sync"),
JAXBContext.newInstance("org.oasis_open.docs.ws_sx.ws_trust._200512"),
Mode.PAYLOAD,
new AddressingFeature()
);
final BindingProvider provider = (BindingProvider) dispatch;
final Map requestContext = provider.getRequestContext();
requestContext.put(BindingProvider.SOAPACTION_URI_PROPERTY, "http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue");
final RequestSecurityTokenType request = new RequestSecurityTokenType();
dispatch.invoke(new JAXBElement<RequestSecurityTokenType>
(new QName("http://docs.oasis-open.org/ws-sx/ws-trust/200512", "RequestSecurityToken"),
RequestSecurityTokenType.class,
request)
);
}
catch (Exception e) { e.printStackTrace(); }
}
此时,我在sysout中遇到错误:表格中有十几个警告:
[com.sun.xml.internal.ws.policy.EffectiveAlternativeSelector] selectAlternatives 警告:WSP0075:策略断言“{http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702} Trust13”被评估为“未知”;每条此类消息都有不同的值代替“Trust13”。
然后我得到
com.sun.xml.internal.ws.client.ClientTransportException:HTTP 传输错误:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:PKIX路径构建失败: sun.security.provider.certpath.SunCertPathBuilderException:无法 找到所请求目标的有效证书路径
供应商向我提供了许多文件;其中三个似乎与安全有关。我在我知道的两个密钥库中导入了“.cer”文件和“.p7b”文件(“\ users \ rcook.keystore”和“%JAVA_HOME%\ jre \ lib \ security \ cacerts”)。
有第三个文件,哪个图标可能意味着它与安全相关,但是当我使用KeyStore Explorer(5.1.1)尝试打开它时,KSE说它无法读取。
我已经在我的名单上找到了一本关于此的书并了解更多信息;与此同时,我在哪里可以找到这个特定程序错误的解决方案?