如何访问 osb 中受密码保护的 Web 服务?
How to access a password protected web service in osb?
我有一个 Web 服务,当我提供有效请求时,它 returns 一个唯一 ID。此 Web 服务受 username/password 保护,我拥有相同的凭据。
服务请求 returns SOAP 中的预期响应 UI 我在资源属性中添加了用户名密码字段。
现在我想在 OSB 中访问相同的 Web 服务。我收到错误:
'The invocation resulted in an error: FATAL Alert:BAD_CERTIFICATE - A corrupt or unuseable certificate was received..'
如何访问此网络服务?
我在我试图在 wsdl 中调用的操作的请求部分添加了以下代码。
<wsp:Policy wsu:Id="WS-Policy-UNT"
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss- wssecurity-utility-1.0.xsd">
<wssp:Identity xmlns:wssp="http://www.bea.com/wls90/security/policy">
<wssp:SupportedTokens>
<wssp:SecurityToken TokenType="http://docs.oasis-open.org/wss/2004/01/oasis- 200401-wss-username-token-profile-1.0#UsernameToken">
<wssp:UsePassword Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"/>
</wssp:SecurityToken>
</wssp:SupportedTokens>
</wssp:Identity>
</wsp:Policy>
我还在其安全选项卡中使用用户名密码添加了一个服务帐户。
我仍然遇到同样的错误。
请指导我...
您必须在 OSB 中安装或更新安装您的网络服务的服务器的证书。
以下是一些可以帮助您的步骤:
获取安装您的网络服务的服务器的证书(例如从您的浏览器)。
这个link可以帮到你,看第二个答案:
https://superuser.com/questions/97201/how-to-save-a-remote-server-ssl-certificate-locally-as-a-file
在 OSB 的密钥库中添加证书(使用 keytool 命令)
- 在 weblogic 中重启 SSL,环境 -> 服务器 -> 控制,检查你的实例并点击重启 SSL
终于,我得到了解决方案。呸!
我用openssl
下载了证书。
来自 Server Fault
的命令 here 使它变得小菜一碟。
echo -n | openssl s_client -connect HOST:PORTNUMBER | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' >[PATH_TO_SAVE_CERTIFICATE]
然后我在管理控制台的 SSL 选项卡的高级部分中检查了 USE JSSE SSL
。
完全重新启动服务器后,它按预期工作。
干杯!
我有一个 Web 服务,当我提供有效请求时,它 returns 一个唯一 ID。此 Web 服务受 username/password 保护,我拥有相同的凭据。
服务请求 returns SOAP 中的预期响应 UI 我在资源属性中添加了用户名密码字段。
现在我想在 OSB 中访问相同的 Web 服务。我收到错误:
'The invocation resulted in an error: FATAL Alert:BAD_CERTIFICATE - A corrupt or unuseable certificate was received..'
如何访问此网络服务?
我在我试图在 wsdl 中调用的操作的请求部分添加了以下代码。
<wsp:Policy wsu:Id="WS-Policy-UNT"
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss- wssecurity-utility-1.0.xsd">
<wssp:Identity xmlns:wssp="http://www.bea.com/wls90/security/policy">
<wssp:SupportedTokens>
<wssp:SecurityToken TokenType="http://docs.oasis-open.org/wss/2004/01/oasis- 200401-wss-username-token-profile-1.0#UsernameToken">
<wssp:UsePassword Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"/>
</wssp:SecurityToken>
</wssp:SupportedTokens>
</wssp:Identity>
</wsp:Policy>
我还在其安全选项卡中使用用户名密码添加了一个服务帐户。
我仍然遇到同样的错误。 请指导我...
您必须在 OSB 中安装或更新安装您的网络服务的服务器的证书。 以下是一些可以帮助您的步骤:
获取安装您的网络服务的服务器的证书(例如从您的浏览器)。 这个link可以帮到你,看第二个答案: https://superuser.com/questions/97201/how-to-save-a-remote-server-ssl-certificate-locally-as-a-file
在 OSB 的密钥库中添加证书(使用 keytool 命令)
- 在 weblogic 中重启 SSL,环境 -> 服务器 -> 控制,检查你的实例并点击重启 SSL
终于,我得到了解决方案。呸!
我用openssl
下载了证书。
来自 Server Fault
的命令 here 使它变得小菜一碟。
echo -n | openssl s_client -connect HOST:PORTNUMBER | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' >[PATH_TO_SAVE_CERTIFICATE]
然后我在管理控制台的 SSL 选项卡的高级部分中检查了 USE JSSE SSL
。
完全重新启动服务器后,它按预期工作。
干杯!