我已经完成了使用SOAP服务发送/接收数据的任务。我已经获得了.wsdl文件,并使用wsdl2java创建了必要的代码。
当前,我尝试使用以下代码进行身份验证:
BindingProvider prov = (BindingProvider) port;
prov.getRequestContext().put(javax.xml.ws.BindingProvider.USERNAME_PROPERTY, "myUserName");
prov.getRequestContext().put(javax.xml.ws.BindingProvider.PASSWORD_PROPERTY, "myPassword");
我已将包含RSA PRIVATE和CERTIFICATE的证书导入到信任库中。
当前在尝试调用唯一操作时,出现以下异常:
javax.xml.ws.WebServiceException: Could not send Message.
Caused by: javax.net.ssl.SSLException: SSLException invoking https://...someurl.../V1/basichttp: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
当前代码:
SOAPService ss = new SOAPService();
Greeter port = ss.getSoapPort();
BindingProvider prov = (BindingProvider) port;
prov.getRequestContext().put(javax.xml.ws.BindingProvider.USERNAME_PROPERTY, "myUserName");
prov.getRequestContext().put(javax.xml.ws.BindingProvider.PASSWORD_PROPERTY, "myPassword");
String resp;
resp = port.sayHi();
任何人都知道我在这方面做错了什么,我们将不胜感激。