Я хочу создать клиентское приложение, которое будет взаимодействовать с сервером.
Я сгенерировал классы веб-сервисов из файла WSDL и написал в коде Intellij, как показано ниже:
public static void main(String[] argv) throws BledyOperacji_Exception{
ObslugaReceptyWS ws = new ObslugaReceptyWS();
ObslugaReceptyWSPortType wsPortType = ws.getObslugaReceptyWSHttpSoap11Endpoint();
OdblokowanieReceptyRequest odblokowanieReceptyRequest = new OdblokowanieReceptyRequest();
KluczReceptyMT kluczReceptyMT = new KluczReceptyMT();
kluczReceptyMT.setKluczRecepty("asdf");
odblokowanieReceptyRequest.setKluczRecepty(kluczReceptyMT);
OdblokowanieReceptyResponse odblokowanieReceptyResponse = wsPortType.odblokowanieRecepty(odblokowanieReceptyRequest);
}
Все использованные классы относятся к поколению WSDL.
У меня есть два ключа, которые позволяют соединиться с сервером "... tls.p12" и "... wss.p12". Я добавил их в новое хранилище ключей.
Я добавил в «VM option» местоположения и пароли этого хранилища ключей и хранилища доверенных сертификатов (там, где есть сертификаты).
Проблема в том, что после выполнения кода он получает следующий ответ:
Отсутствует wsse: заголовок безопасности в запросе
Мой вопрос:
Есть ли способ сгенерировать заголовок безопасности из ключа "... wss.p12" и добавить его в сообщение SOAP?
Если нет, то как правильно добавить заголовок безопасности в мое сообщение SOAP?
Если мой подход к этой проблеме неверен, я прошу несколько советов.