BIEE常用的SOAP接口说明文档格式.docx
《BIEE常用的SOAP接口说明文档格式.docx》由会员分享,可在线阅读,更多相关《BIEE常用的SOAP接口说明文档格式.docx(12页珍藏版)》请在冰点文库上搜索。
类型[最大长度]
username
String
biee登录帐号
password
biee登录密码
userAgent
获取操作系统类型和浏览器类型描述符
locale
java.util.Locale
获取本地编码类型
返回
登录成功biee返回的会话id
调用例子
StringsessionId=bieeLoginService.loginBieeExt(cinfigBieeRec.getString("
BIEE_LOGIN_ID"
),
cinfigBieeRec.getString("
BIEE_LOGIN_PWD"
),request.getHeader("
User-Agent"
),request.getLocale());
1.2获取biee主题接口
biee可以有多个主题域,每个主题载包含相关表。
【接口位置】com.tds.biee.service.MetadataServiceImpl
publicSASubjectArea[]getSubjectAreas(StringsessionID)
sessionID
会话id
SASubjectArea[]
返回主题对象数据
MetadataServicemetadataService=(MetadataService)BasicFactory.getImpl(MetadataService.class);
BieeAdressInfobieeAdressInfo=newBieeAdressInfo(rec.getString("
BIEE_IP"
),rec.getString("
BIEE_LOGIN_PORT"
));
metadataService.setBieeAdressInfo(bieeAdressInfo);
SASubjectArea[]subjectAreaS=metadataService.getSubjectAreas(bieeSessionId);
if(subjectAreaS!
=null&
&
subjectAreaS.length>
0)
{
querList=newArrayList(subjectAreaS.length);
for(inti=0;
i<
subjectAreaS.length;
i++)
{
SASubjectAreasubjectArea=subjectAreaS[i];
if(subjectArea!
=null)
{
DataRecorddataSourceSubjectRec=newDataRecord();
dataSourceSubjectRec.setString("
DATA_SOURCE_SUBJECT"
subjectArea.getName());
DATA_SOURCE_DISPLAY"
subjectArea.getDisplayName());
DATA_SOURCE_DESC"
subjectArea.getDescription());
StringBufferformatSelectResultBf=newStringBuffer();
formatSelectResultBf.append(TextUtil.replace(dataSourceSubjectRec.getString("
),"
\"
"
"
)).append("
="
);
if(formatSelectResultBf!
dataSourceSubjectRec.setString("
DATA_SOURCE_FORMAT"
formatSelectResultBf.toString());
querList.add(dataSourceSubjectRec);
}
}
}
1.3获取表名接口
获取biee主题中的表名。
publicSASubjectAreagetSubjectArea(StringareaName,SASubjectAreaDetailslevel,StringsessionID)
areaName
biee主题代码
level
SASubjectAreaDetails
指定所获取的主题域数据内容级别,如果只需要获取表,设置成SASubjectAreaDetails.IncludeTables
SASubjectArea
返回包含所有表描述集合的biee主题对象
SASubjectArearesulSASubjectArea=newSASubjectArea();
for(inti=0;
SASubjectAreasubjectArea=subjectAreaS[i];
if(subjectArea!
!
TextUtil.isEmpty(subjectArea.getName())
&
dataSourceSubject.equals(TextUtil.replace(subjectArea.getName(),"
)))
{
LogUtil.info("
subjectArea.getName()>
>
"
+subjectArea.getName());
resulSASubjectArea=metadataService.getSubjectArea(subjectAreaS[i].getName(),
SASubjectAreaDetails.IncludeTables,bieeSessionId);
break;
}
LogUtil.info("
resulSASubjectArea>
+resulSASubjectArea);
resulSASubjectArea.getTables()>
+resulSASubjectArea.getTables());
if(resulSASubjectArea!
resulSASubjectArea.getTables()!
resulSASubjectArea.getTables().length>
SATable[]tables=resulSASubjectArea.getTables();
querList=newArrayList(tables.length);
for(inti=0;
tables.length;
SATabletable=tables[i];
if(table!
table.getName()!
{
//过滤,根据表代码
if(!
TextUtil.isEmpty(tableCode)&
TextUtil.isEmpty(table.getName())&
table.getName().indexOf(tableCode)<
continue;
//过滤,根据表名称
TextUtil.isEmpty(tableName)&
TextUtil.isEmpty(table.getDisplayName())&
table.getDisplayName().indexOf(tableName)<
DataRecordtableRec=newDataRecord();
tableRec.setString("
TABLE_CODE"
table.getName());
TABLE_NAME"
table.getDisplayName());
1.4获取表结构
根据指定的biee主题和表代码获取表结构。
publicSAColumndescribeColumn(StringsubjectAreaName,StringtableName,StringcolumnName,StringsessionID)
subjectAreaName
tableName
biee表代码
columnName
biee表中的列名
SAColumn
返回列对象
SAColumn[]columns=resultTable.getColumns();
if(columns==null||columns.length<
1)
returnnull;
querList=newArrayList(columns.length);
for(inti=0;
columns.length;
{
if(columns[i]!
TextUtil.isEmpty(columns[i].getName()))
SAColumndescribeColumn=metadataService.describeColumn(resulSASubjectArea.getName(),
resultTable.getName(),columns[i].getName(),bieeSessionId);
if(describeColumn!
DataRecordcolumnRec=newDataRecord();
columnRec.setString("
COLUMN_CODE"
describeColumn.getName());
COLUMN_NAME"
describeColumn.getDisplayName());
COLUMN_TYPE"
describeColumn.getDataType());
querList.add(columnRec);
}
1.5查询biee原报表
远程调用biee已经配置的数据报表。
【接口位置】com.tds.biee.service.HtmlViewServiceImpl
publicStringgetHtmlReport(Stringpath,StringsessionId,Stringbridge,Filterfilter)
path
Biee报表路径
sessionId
bridge
Biee桥链接,当biee服务器和web服务器不在同一台机械时才需设置
filter
Filter
如果有查询条件,则需要生成指定格式的过滤器
返回biee远程链接报表路径
StringreportHtml="
;
StringtablePath=tqConfigQueryRec.getString("
TABLE_PATH"
StringtableCode=tqConfigQueryRec.getString("
StringinitType=rec.getString("
initType"
//如果为1表示第一次查询
if(!
TextUtil.isEmpty(tablePath))
Filterfilter=null;
//为1默认查询
if(initType!
1"
.equals(initType)){
filter=getDefaultFilter((List)tqConfigQueryRec.getObject("
tqConditionConfigList"
),tableCode);
else{
filter=getPageFilter(rec,(List)tqConfigQueryRec.getObject("
HtmlViewServicehtmlViewService=(HtmlViewService)BasicFactory.getImpl(HtmlViewService.class);
BieeAdressInfobieeAdressInfo=newBieeAdressInfo(tqConfigQueryRec.getString("
),tqConfigQueryRec.getString("
htmlViewService.setBieeAdressInfo(bieeAdressInfo);
LogUtil.info("
************如果桥名称不为空,则设置桥******************"
+tqConfigQueryRec.getString("
BRIDGE_PATH"
StringbridgePath=tqConfigQueryRec.getString("
if(!
TextUtil.isEmpty(bridgePath))
//BIEE接入参数配置外键
bridgePath+="
?
CINFIG_BIEE_ID="
CINFIG_BIEE_ID"
reportHtml=htmlViewService.getHtmlReport(tablePath,bieeSessionId,bridgePath,filter);
1.6查询biee元数据
通过发送sql语句到biee执行查询,获取元数据。
【接口位置】com.tds.biee.service.ViewServiceImpl
publicStringexecuteSQLQuery(Stringsql,intpagesize,StringsessionId)
sql
Sql语句
pagesize
返回页数
返回XML格式的元数据
StringreportXML="
TextUtil.isEmpty(tableCode))
StringconditionSql="
conditionSql=getDefaultSqlCondition((List)tqConfigQueryRec.getObject("
),tableCode);
生成where>
+conditionSql);
conditionSql=getSqlCondition(rec,(List)tqConfigQueryRec.getObject("
ViewServiceviewService=(ViewService)BasicFactory.getImpl(ViewService.class);
viewService.setBieeAdressInfo(bieeAdressInfo);
makeQuerySQL开始查询>
******>
StringquerySql=makeQuerySQL(rec,tqConfigQueryRec);
TextUtil.isEmpty(querySql)&
TextUtil.isEmpty(conditionSql))
querySql+=conditionSql;
生成bieesqlmakeQuerySQL>
+querySql);
reportXML=viewService.executeSQLQuery(querySql,1000,bieeSessionId);
//只返回100页
1.7翻页接口
翻页接口,在查询biee元数据时使用。
【接口位置】com.siebel.analytics.web.XmlViewServiceSoapProxy
publiccom.siebel.analytics.web.QueryResultsfetchNext(java.lang.StringqueryID,java.lang.StringsessionID)
queryID
在执行查询biee元数据时设置的queryID
QueryResults
返回元数据对象
Queryquery=this.queryService.get(queryConfigId);
BieeConfigbieeConfig=bieeConfigService.get(query.getBieeConfigId());
BieeAdressInfobieeAdressInfo=newBieeAdressInfo();
bieeAdressInfo.setBieeIp(bieeConfig.getBieeIp());
bieeAdressInfo.setBieePort(bieeConfig.getPort());
XmlViewServiceSoapProxyxmlClien