如何访问 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 中安装或更新安装您的网络服务的服务器的证书。 以下是一些可以帮助您的步骤:

  1. 获取安装您的网络服务的服务器的证书(例如从您的浏览器)。 这个link可以帮到你,看第二个答案: https://superuser.com/questions/97201/how-to-save-a-remote-server-ssl-certificate-locally-as-a-file

  2. 在 OSB 的密钥库中添加证书(使用 keytool 命令)

  3. 在 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

完全重新启动服务器后,它按预期工作。

干杯!