Как подключиться к службе SOAP с помощью wsdl, имени пользователя / пароля и сертификата PEM? - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть задача использовать службу 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и СЕРТИФИКАТ к хранилищу доверия.

В настоящее время при попытке вызвать единственную операцию я получаю следующее исключение:

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();

Кто-нибудь знает, что я делаю со всем этим, помощь будет принята с благодарностью.

...