こちらのwebサービスの呼び出しは、指定したユーザーの公開したすべてのダッシュボードのメタデータを返します。また、ダッシュボード内の各タブを、個別のタブとして扱います。そのため、ダッシュボードに2つのタブがある場合は、2つの異なるダッシュボードのAdministrationReportGroupオブジェクトを取得します。親ダッシュボードの詳細だけ必要な場合は、GETUSERPARENTTABSの呼び出しを使用します。そのIDを渡すことで、特定のダッシュボードタブの詳細を取得することができます。 こちらのサービスは、ダッシュボードのレポートのメタデータは取得しません。これを取得するためには、GETUSERTABSWITHREPORTSの呼び出しを使用します。 リクエストパラメーター以下の要素は、こちらのリクエストとともに渡されます。 リクエスト要素 | データ型 | 説明 | LoginId | String | Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 | Password | String | 上記アカウントのパスワードです。 | OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 | Function | String | Webサービス関数です。こちらは、「GETUSERTABS」に設定します。 | Person | AdministrationPerson | ユーザーの詳細を含むオブジェクトです。以下の表を参照してください。 | OrgRef | String | デフォルト組織に代わり、指定したクライアント組織内タブを検索するためのクライアント組織の参照IDです。こちらのパラメーターは必須ではありません。 | DashboardTabId | Integer | 詳細を取得するダッシュボードタブの一意のIDを提供する場合は、こちらのオプションパラメーターを使用します。 |
以下は、こちらの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>GETUSERTABS</function>
<person>
<userId>admin@yellowfin.com.au</userId>
</person>
</arg0>
</web:remoteAdministrationCall>
</soapenv:Body>
</soapenv:Envelope> |
応答パラメーター返される応答には、これらのパラメーターが含まれます。 応答要素 | データ型 | 説明 | StatusCode | String | Webサービスの呼び出しのステータスです。値の選択肢は、以下の通りです。 | ReportGroups | AdministrationReportGroup[] | ダッシュボードのメタデータを含む配列です。 |
応答の例サービスは、今回の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>02fec2d8-6b09-48a1-8c6a-54adbb2eb9b6</publishUUID>
<reportGroupId>61251</reportGroupId>
<reportGroupName>Sales Performance</reportGroupName>
<reportGroupStatus>OPEN</reportGroupStatus>
<reportGroupType>ANALYTIC</reportGroupType>
</reportGroups>
<reportGroups>
<publishUUID>2e2fb9f6-d43e-4de2-977e-a646b01abc4b</publishUUID>
<reportGroupId>61210</reportGroupId>
<reportGroupName>Campaign Analysis (Campaigns)</reportGroupName>
<reportGroupStatus>OPEN</reportGroupStatus>
<reportGroupType>ANALYTIC</reportGroupType>
</reportGroups>
<reportGroups>
<publishUUID>1a387957-564b-40ad-9fc1-4167ddd61f33</publishUUID>
<reportGroupId>61243</reportGroupId>
<reportGroupName>Campaign Analysis (Marketing)</reportGroupName>
<reportGroupStatus>OPEN</reportGroupStatus>
<reportGroupType>ANALYTIC</reportGroupType>
</reportGroups>
<sessionId>0ad8c1b60e3fb4b013055ee6da9ff867</sessionId>
<statusCode>SUCCESS</statusCode>
</return>
</ns2:remoteAdministrationCallResponse>
</S:Body>
</S:Envelope> |
手順Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。 Expand |
---|
| 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの関数の基礎的なリクエストから開始します。
Code Block |
---|
| AdministrationServiceRequest rsr = new AdministrationServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
rsr.setOrgId(1);
rsr.setFunction("GETUSERTABS"); |
特定のクライアント組織を識別します。 Code Block |
---|
| rsr.setOrgRef("org1"); |
特定のクライアント組織を識別することもできます。 Code Block |
---|
| rsr.setOrgRef("org1"); |
ダッシュボードタブの所属するユーザーを指定します。 Code Block |
---|
| AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("admin@yellowfin.com.au");
rsr.setPerson(ap); |
リクエストを構成したら、呼び出しを実行します。
Code Block |
---|
| AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); |
管理サービスを初期化します。実行方法の詳細は、こちらを参照してください。
|
完成例以下は、こちらのwebサービスの呼び出しの完成例です。こちらを使用するには、以下の手順に従います。 - コードをコピーして、「ws_getusertabs.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_getusertabs.jsp」を実行します。
Code Block |
---|
| <%
/* ws_getuserreport.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("GETUSERTABS");
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>Dashboard Name: " + tab.getReportGroupName());
out.write("<br>UUID: " + tab.getPublishUUID());
out.write("<br>Id: " + tab.getReportGroupId());
out.write("<br>Group Type: " + tab.getReportGroupType());
out.write("<br>InternalReference: " + tab.getReportGroupInternalReference());
}
} else {
out.write("Failure");
out.write(" Code: " + rs.getErrorCode());
}
%> |
|