最近有其它系统想通过API的方式来访问biee的报表(分析)数据,由于系统已经做了SSO。通过go url的方式已经不行了。
我们可以调用biee提供的xmlViewService web服务来访问所需分析的数据。不过在对外部系统开放web服务之前,一定要控制好权限。否则会导致数据泄露。
至于biee web服务可以参考之前的文章
BIEE 11g WebService指南
基本过程如下,
1.调用SAWSessionService Service的logon方法 获取一个会话id
2.调用XMLViewService Service的executeXMLQuery() 方法查询数据
3.如果数据有分页还需要能过fetchNext() 来获取下一页
4.最后调用SAWSessionService Service的logoff()方法退出登录。
本文主要介绍XMLViewService Service的executeXMLQuery()方法,因为该方法的参数比较复杂。
直接使用SoapUI 5.2.1新建一个SOAP工程,WSDL如下:
http://xxxx:8303/analytics-ws/saw.dll?WSDL
注意:是analytics-ws而不是analytics。启用了sso之后,只能通过analytics-ws来访问。