ドラフト(編集中)モード(有効化、公開がされていない)のダッシュボードの親タブのメタデータを返します。ダッシュボードに複数のサブタブを含む場合は、親タブの詳細のみが取得されますが、この呼び出しはサブタブ内のドラフト(編集中)のダッシュボードのレポート全体のメタデータを返します。ユーザーを指定するために、AdministrationPersonオブジェクトを使用します。そのIDを提供して、特定のダッシュボードタブを指定することで、その詳細を取得することができます。 リクエストパラメーター以下の要素は、こちらのリクエストとともに渡されます。 リクエスト要素 | データ型 | 説明 | LoginId | String | Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 | Password | String | 上記アカウントのパスワードです。 | OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 | Function | String | Webサービス関数です。こちらは、「GETUSERDRAFTPARENTTABSWITHREPORTS」に設定します。 | Person | AdministrationPerson | ユーザーの詳細を含むオブジェクトです。以下の表を参照してください。 | OrgRef | String | デフォルト組織に代わり、指定したクライアント組織のダッシュボードを検索するためのクライアント組織参照IDを指定するオプションパラメーターです。 | DashboardTabId | Integer | こちらのオプションパラメーターは、特定のドラフト(編集中)ダッシュボードの親タブとそのレポートの詳細を取得するために使用することができます。しかし、これは既にYellowfinに存在するものでなくてはいけません。 |
以下は、こちらのwebサービスの呼び出しのAdministrationPersonオブジェクトに設定しなくてはいけない主要なパラメーターです。 AdministrationPerson要素 | データ型 | 説明 | UserId | String | ドラフト(編集中)ダッシュボードの親タブの取得するユーザーを識別します。これは、ログイン方法に応じて、ユーザーID、または電子メールアドレスになります。 |
リクエストの例以下は、こちらのリクエストのSOAP XMLの例です。 Code Block |
---|
| <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/">
<soapenv:Header/>
<soapenv:Body>
<web:remoteAdministrationCall>
<arg0>
<loginId>admin@yellowfin.com.au</loginId>
<password>test</password>
<orgId>1</orgId>
<function>GETUSERDRAFTPARENTTABSWITHREPORTS</function>
<person>
<userId>admin@yellowfin.com.au</userId>
</person>
</arg0>
</web:remoteAdministrationCall>
</soapenv:Body>
</soapenv:Envelope> |
応答パラメーター返される応答には、これらのパラメーターが含まれます。 応答要素 | データ型 | 説明 | StatusCode | String | Webサービスの呼び出しのステータスです。値の選択肢は、以下の通りです。 | ReportGroups | AdministrationReportGroup[] | 以下の表に一覧化されている要素とともに、ダッシュボードのメタデータを含む配列オブジェクトです。 |
ReportGroupsの各要素は、以下の要素を含みます。 応答要素 | データ型 | 説明 | GroupReports | AdministrationReport[] | すべてのダッシュボードのレポートのメタデータを含む配列オブジェクトです。 |
応答の例サービスは、今回のSOAPの例に基づき、以下の応答を返します。 Code Block |
---|
| <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:remoteAdministrationCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
<return>
<errorCode>0</errorCode>
<messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
<messages>Getting user information...</messages>
<messages>Getting user information...</messages>
<messages>Web Service Request Complete</messages>
<person>
<emailAddress>admin@yellowfin.com.au</emailAddress>
<firstName>System</firstName>
<initial/>
<ipId>5</ipId>
<languageCode>EN</languageCode>
<lastName>Administrator</lastName>
<roleCode>YFADMIN</roleCode>
<salutationCode/>
<status>ACTIVE</status>
<timeZoneCode>AUSTRALIA/SYDNEY</timeZoneCode>
<userId>admin@yellowfin.com.au</userId>
</person>
<reportGroups>
<publishUUID>e7409ff2-f846-44e1-a603-b78ec51b20b9</publishUUID>
<reportGroupId>61250</reportGroupId>
<reportGroupName>Sales Performance</reportGroupName>
<reportGroupStatus>OPEN</reportGroupStatus>
<reportGroupType>ANALYTIC</reportGroupType>
</reportGroups>
<reportGroups>
<publishUUID>1e68d9cc-fa5a-44e2-816d-782aa40ceeae</publishUUID>
<reportGroupId>61209</reportGroupId>
<reportGroupName>Campaign Analysis</reportGroupName>
<reportGroupStatus>OPEN</reportGroupStatus>
<reportGroupType>ANALYTIC</reportGroupType>
</reportGroups>
<sessionId>42075cc6bc5723e6daf997796aa00a57</sessionId>
<statusCode>SUCCESS</statusCode>
</return>
</ns2:remoteAdministrationCallResponse>
</S:Body>
</S:Envelope> |
手順Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。 完成例以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。 - コードをコピーして、「ws_getuserdraftparenttabswithreports.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_getuserdraftparenttabswithreports.jsp」を実行します。
Code Block |
---|
| <%
/* ws_getuserdraftparenttabswithreports.jsp */
%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="com.hof.util.*, java.util.*, java.text.*" %>
<%@ page import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%
AdministrationServiceService s_adm = new AdministrationServiceServiceLocator("localhost",8080, "/services/AdministrationService", false); // adjust host and port number
AdministrationServiceSoapBindingStub adminService = (AdministrationServiceSoapBindingStub) s_adm.getAdministrationService();
AdministrationServiceRequest rsr = new AdministrationServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au"); // provide your Yellowfin web services admin account
rsr.setPassword("test"); // set to the password of the above account
rsr.setOrgId(1);
rsr.setFunction("GETUSERDRAFTPARENTTABSWITHREPORTS");
//rsr.setOrgRef("org1");
AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("admin@yellowfin.com.au");
rsr.setPerson(ap);
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
if ("SUCCESS".equals(rs.getStatusCode()) ) {
out.write("Success<br>" + rs.getReportGroups().length + " tabs retrieved");
// get the tabs details:
AdministrationReportGroup[] tabs = rs.getReportGroups();
for (AdministrationReportGroup tab: tabs){
out.write("<br><br><h1>Dashboard Name: " + tab.getReportGroupName() + "</h1>");
out.write("<br>Dashboard tab Status: " + tab.getReportGroupStatus() + "<br>");
AdministrationReport[] rpts = tab.getGroupReports();
if (rpts != null)
for (AdministrationReport r: rpts){
out.write("Report Name: " + r.getReportName());
out.write("<br>Description: " + r.getReportDescription());
out.write("<br>ReportId: " + r.getReportId());
out.write("<br>ReportUUID: " + r.getReportUUID());
out.write("<br>ExecutionObject: " + r.getExecutionObject());
out.write("<br>ReportCategory: " + r.getReportCategory());
out.write("<br>SubCategory: " + r.getReportSubCategory());
out.write("<br>BirtData: " + r.getBirtData());
out.write("<br>SourceName: " + r.getSourceName());
out.write("<br>SourceId: " + r.getSourceId());
out.write("<br>AuthoringMode: " + r.getAuthoringMode());
out.write("<br>ReportTemplate: " + r.getReportTemplate());
out.write("<br>DataOutput: " + r.getDataOutput());
out.write("<br>DashboardEnabled: " + r.isDashboardEnabled());
out.write("<br>ViewId: " + r.getViewId());
out.write("<br>ViewName: " + r.getViewName());
out.write("<br>ViewDescription: " + r.getViewDescription());
out.write("<br>LastModifierName: " + r.getLastModifierName());
out.write("<br>LastModifierId: " + r.getLastModifierId());
out.write("<br>LastModifiedDate: " + r.getLastModifiedDate());
out.write("<br>PublishDate: " + r.getPublishDate());
out.write("<br>DeliveryMode: " + r.getDeliveryMode());
out.write("<br>LastRunTime: " + r.getLastRunTime());
out.write("<br>AverageRunTime: " + r.getAverageRunTime());
out.write("<br>RoleCode: " + r.getRoleCode());
out.write("<br>ChartTypeCode: " + r.getChartTypeCode());
out.write("<br>Usage: " + r.getUsage());
out.write("<br><br>");
}
}
} else {
out.write("Failure");
out.write(" Code: " + rs.getErrorCode());
}
%> |
|