如何在osb中访问受密码保护的Web服务?

时间:2015-02-17 09:19:16

标签: weblogic osb

我有一个Web服务,当我提供有效请求时会返回唯一ID。此Web服务受用户名/密码保护,我有相同的凭据。

Service请求在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>

我还在相同的安全性标签中添加了一个带有用户名密码的服务帐户。

我仍然遇到同样的错误。 请指导我......

2 个答案:

答案 0 :(得分:1)

您必须安装或更新在OSB中安装Web服务的服务器的证书。 以下是一些可以帮助您的步骤:

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

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

  3. 在weblogic,环境中重启SSL - &gt;服务器 - &gt;控制,检查您的实例并单击重新启动SSL

答案 1 :(得分:1)

最后,我得到了解决方案。呼!

我使用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

完成服务器重启后,它按预期工作。

Cheerz!