Я работаю над задачей вызвать web-сервис через https. Сам WSDL содержит следующую информацию о безопасности -Как добавить безопасность в webservice программно
<wsid:Identity xmlns:wsid="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity">
<dsig:KeyInfo xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
<dsig:X509Data>
<dsig:X509Certificate>
**XXX**
</dsig:X509Certificate>
<dsig:X509IssuerSerial>...</dsig:X509IssuerSerial>
<dsig:X509SubjectName>CN=FAEncryption, DC=cloud, DC=oracle, DC=com</dsig:X509SubjectName>
<dsig:X509SKI>**ZZZ**</dsig:X509SKI>
<dsig:X509Certificate>
**YYY**
</dsig:X509Certificate>
</dsig:X509Data>
</dsig:KeyInfo>
</wsid:Identity>
Теперь, используя эту информацию, я пришел с сертификатом с помощью следующей процедуры -
Создать новый файл с любым именем вы хотите. Вы должны изменить расширение на .cer, чтобы указать, что это файл сертификата.
Используя текстовый редактор, откройте только что созданный файл и введите «----- BEGIN CERTIFICATE -----» в первой строке.
В следующей строке скопируйте закодированный в Base64 сертификат из WSDL-файла службы в только что созданный файл сертификата.
Добавить «----- END CERTIFICATE -----» на новую строку и сохранить файл. Теперь у вас есть сертификат, содержащий открытый ключ с сервера.
Откройте командную строку и смените каталог на $ JAVA_HOME/bin. Используйте следующую команду для создания KeyStore и импорта открытого ключа из сертификата.
Если вы заметили, что в wsdl есть два сертификата. Я добавил их в хранилище ключей. Эти команды -
Keytool -import -file ~/ddrive/тест/подробности/SubmitFlow.cer -alias orakey1 -keypass приветствовать -keystore ~ / ddrive/тест/подробности/test.jks -storepass Добро пожаловать
keytool -import -file ~/ddrive/test/details/SubmitFlow1.cer -alias orakey1 -keypass welcome -keystore ~ / ddrive/test/details/test.jks -storepass welcome
Первоначально я добавил только одну из сертификаты. Но позже я добавил их обоих. Я использую spring-ws для вызова webservice. Однако я все еще получаю 401 несанкционированный звонок.
У меня нет документа, который иллюстрирует, что нужно сделать. Было бы здорово, если бы кто-нибудь мог направить меня сюда. Кстати, в случае, если это помогает, этот веб-сервис связан с Oracle HCM.