OBAM 11g unauthenticate in OSB test

最近使用OSB测试调用Oracle BAM 11.1.1.5.0的webservices,测试的wsdl为:

http://localhost:9001/OracleBAMWS/WebServices/DataObjectOperationsByName?WSDL

使用OSB的console测试时,控制台报错:

<con:metadata
xmlns:con="http://www.bea.com/wli/sb/test/config">
<tran:headers
xsi:type="http:HttpResponseHeaders" xmlns:http="http://www.bea.com/wli/sb/transports/http" xmlns:tran="http://www.bea.com/wli/sb/transports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<tran:user-header
name="X-Powered-By" value="Servlet/2.5 JSP/2.1"/>
<http:Content-Length>1518</http:Content-Length>
<http:Content-Type>text/html; charset=UTF-8</http:Content-Type>
<http:Date>Thu, 24 May 2012 09:00:03 GMT</http:Date>
<http:WWW-Authenticate>Basic realm="oracle-bam-webservices"</http:WWW-Authenticate>
</tran:headers>
<tran:response-code
xmlns:tran="http://www.bea.com/wli/sb/transports">1</tran:response-code>
<tran:response-message
xmlns:tran="http://www.bea.com/wli/sb/transports">Unauthorized</tran:response-message>
<tran:encoding
xmlns:tran="http://www.bea.com/wli/sb/transports">UTF-8</tran:encoding>
<http:http-response-code
xmlns:http="http://www.bea.com/wli/sb/transports/http">401</http:http-response-code>
</con:metadata>

分析原因,这个webservice是采用http的basic进行authenticate的,如何在OSB中进行认证,确实花了不少时间查询资料,最后可通过以下方式实现:

1、在OSB的开发环境中创建Service Account文件,选择工程->NEW->Service Account,Resource Type选择Static填入相关的用户名和密码,该文件存储webservice认证所需要的用户名和密码;

2、在调用了bam webservice的business service中,打开HTTP Transport,Authentication选择Basic,同时在Service Account中选择步骤1所创建的文件;

如此设置后,重新部署再次测试,认证失败的情况将消失。

 

 

 

你可能感兴趣的:(OBAM 11g unauthenticate in OSB test)