Yellowfinのレポートwebサービスは、Yellowfinのレポートには必須ではないが、いまだ有効ないくつかのレガシー関数から構成されています。以下は、これらの概要です。これらのサービスについてより詳細な情報はご希望の場合は、Yellowfinのサポートチームにお問い合わせください。
基礎的な関数
Expand |
---|
|
こちらの関数は、レポートwebサービスが機能しているかをテストするために使用します。EXPIRESESSIONリクエストは、指定したYellowfinのセッションを期限切れにします。 これを実行するコードは、以下の通りです。 リクエスト要素サービスは、今回のSOAPの例に基づき、以下の応答を返します。以下の要素は、こちらのリクエストとともに渡されます。 リクエスト要素 | データ型 | 説明 | LoginId | String | Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 | Password | String | 上記アカウントのパスワードです。 | OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 | ReportRequest | String | webサービス関数です。「TEST」に設定します。 | OrgRef | String | クライアント組織内部参照IDです。(オプション設定) |
リクエストの例以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。 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:remoteReportCall>
<arg0>
<loginId>admin@yellowfin.com.au</loginId>
<password>test</password>
<orgId>1</orgId>
<reportRequest>TEST</reportRequest>
</arg0>
</web:remoteReportCall>
</soapenv:Body>
</soapenv:Envelope> |
応答要素返される応答には、これらのパラメーターが含まれます。 応答要素 | データ型 | 説明 | StatusCode | String | Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。 |
応答の例 | ReportServiceRequest rsr = new ReportServiceRequest();
ReportServiceResponse rs = null;
rsr.setLoginId(this.username);
rsr.setPassword(this.password);
// This is the primary organization
rsr.setOrgId(new Integer(1));
rsr.setReportRequest("EXPIRESESSION");
// This is the Session ID
rsr.setSessionId("5361781d-c3aa-4c97-bc13-883210ff8a6e");
rs = ReportService.remoteReportCall(rsr); |
|
Expand |
---|
|
こちらの関数は、特定のレポートにコメントがあれば、それをすべて取得します。 リクエスト要素以下の要素は、こちらのリクエストとともに渡されます。 リクエスト要素 | データ型 | 説明 | LoginId | String | Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 | Password | String | 上記アカウントのパスワードです。 | OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 | ReportRequest | String | webサービス関数です。「GETCOMMENTS」に設定します。 | OrgRef | String | クライアント組織の内部参照IDです。(オプション設定)クライアント組織からレポートを検索する場合は、こちらを使用します。こちらを設定しない場合、デフォルト(プライマリー)組織内のレポートが検索されます。 | ReportId | Integer | コメントを取得するレポートのIDを提供することができます。 |
リクエストの例以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。 Code Block |
---|
| <S<soapenv:Envelope xmlns:Ssoapenv="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:remoteReportCallResponse xmlns:ns2web="http://webservices.web.mi.hof.com/">
<soapenv:Header/>
<soapenv:Body>
<return> <web:remoteReportCall>
<canDrill>false</canDrill> <arg0>
<dashboardEnabled>false</dashboardEnabled>
<errorCode>0</errorCode>
<messages>Successfully Authenticated User: admin@yellowfin <loginId>admin@yellowfin.com.au</messages>loginId>
<messages>Connection Tested Successfully</messages><password>test</password>
<messages>Unknown Or Unsupported Request: TEST</messages><orgId>1</orgId>
<messages>Web Service Request Complete</messages><reportRequest>GETCOMMENTS</reportRequest>
<private>false</private>
<reportId>70012</reportId>
<sessionId>f78fe29edb19bbfe45626c2203249f4b</sessionId>
<statusCode>SUCCESS</statusCode> </return>arg0>
</ns2web:remoteReportCallResponse>remoteReportCall>
</Ssoapenv:Body>
</Ssoapenv:Envelope> |
手順応答要素Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。応答には、これらの主要なパラメーターが含まれます。 expandtitle詳細手順管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの呼び出しを実行するための基礎的なリクエストです。codethemeWebサービス呼び出しのステータスです。値の選択肢は、以下の通りです。 |
Eclipselanguage | java |
ReportServiceRequest rsr = new ReportServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
rsr.setOrgId(new Integer(1));
rsr.setReportRequest("TEST"); |
特定のクライアント組織を指定する必要がある場合は、こちらのコードを追加します。
Comments | ReportComment[] | 指定したレポートのコメントを含むオブジェクトです。 |
応答の例
サービスは、今回のSOAPの例に基づき、以下の応答を返します。
Code Block |
---|
| java | rsr.setOrgRef("org1"); |
インターネットブラウザから、「http://<host>:<port>/ws_test_reportservices.jsp」を実行します。
Code Block |
---|
|
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:remoteReportCallResponse xmlns:ns2="http:// search for the report in this client orgリクエストを構成したら、呼び出しを実行します。
Code Block |
---|
| ReportServiceResponse rs=rsc.remoteReportCall(rsr); |
レポートwebサービスを初期化します。実行方法の詳細は、こちらを参照してください。 返される応答には、StatusCodeパラメーターが含まれます。詳細は、応答パラメーターの表を参照してください。
|
完成例
以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。
コードをコピーして、「ws_test_reportservices.jsp」として保存します。root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。<%webservices.web.mi.hof.com/">
<return>
<author>System /*Administrator</author>
<authoringMode>JAVA</authoringMode>
ws_test_reportservices.jsp <averageRunTime>0</averageRunTime>
*/ %> <%@ 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.*" %>
<%@ page import="javax.xml.bind.JAXBContext" %>
<%@ page import="javax.xml.bind.Marshaller" %>
<%@ page import="java.io.StringWriter" %>
<%@ page import="javax.xml.bind.JAXBElement" %>
<%@ page import="javax.xml.namespace.QName" %>
<%
<canDrill>false</canDrill>
<category>Tutorial</category>
<comments>
<author>System Administrator</author>
ReportService rsc = new ReportService(); <authorId>5</authorId>
//("localhost", 8080, "admin@yellowfin.com.au", "test", "/services/ReportService"); ReportServiceRequest rsr = new ReportServiceRequest();
<comment><span>Great info.</span></comment>
rsr.setLoginId("admin@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(new Integer(1));
rsr.setReportRequest("TEST"); <commentDate>2018-03-18 17:32:54</commentDate>
rsr.setOrgRef("1"); <commentId>2004</commentId>
ReportServiceResponse rs=rsc.remoteReportCall(rsr); if ("SUCCESS".equals(rs.getStatusCode())) { <lastActivityDate>2018-03-18 17:33:13</lastActivityDate>
JAXBContext context = JAXBContext.newInstance(ReportServiceResponse.class);
<parentCommentId>0</parentCommentId>
Marshaller m = context.createMarshaller();
<reportId>70012</reportId>
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); // To format<statusCode>OPEN</statusCode>
XML </comments>
JAXBElement<ReportServiceResponse> rootElement = new JAXBElement<ReportServiceResponse>(new QName("ReportServiceResponse"), ReportServiceResponse.class, rs); <comments>
m.marshal(rootElement,out); <author>System //out.write("Success");Administrator</author>
} else { out.write("Failure");<authorId>5</authorId>
out.write(" Code: " + rs.getErrorCode()); <comment><span>Want to see more structure.</span></comment>
}
%> |
Expand |
---|
|
こちらのwebサービスは、指定したレポートの詳細を取得します。 リクエスト要素以下の要素は、こちらのリクエストとともに渡されます。 リクエスト要素 | データ型 | 説明 | LoginId | String | Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 | Password | String | 上記アカウントのパスワードです。 | OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 | ReportRequest | String | webサービス関数です。「INFO」に設定します。 | OrgRef | String | クライアント組織内部参照IDです。(オプション設定) | ReportId | Integer | 特定のレポートを検索するために、レポートIDを提供することができます。 |
リクエストの例以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。 Code Block |
---|
| <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/">
<soapenv:Header/>
<soapenv:Body> <commentDate>2018-03-18 17:33:13</commentDate>
<commentId>2005</commentId>
<lastActivityDate>2018-03-18 17:33:13</lastActivityDate>
<parentCommentId>2004</parentCommentId>
<web:remoteReportCall> <reportId>70012</reportId>
<arg0> <loginId>admin@yellowfin.com.au</loginId><statusCode>OPEN</statusCode>
<password>test<</password>comments>
<orgId>1<<dashboardEnabled>true</orgId>dashboardEnabled>
<reportRequest>INFO<<dataOutput>COLUMN</reportRequest>dataOutput>
<datasource>Ski <reportId>60712<Team</reportId>datasource>
<errorCode>0</errorCode>
</arg0> </web:remoteReportCall><formatCode>CHART</formatCode>
</soapenv:Body>
</soapenv:Envelope> |
応答要素応答には、これらのパラメーターが含まれます。 応答要素 | データ型 | 説明 | StatusCode | String | Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。 | ReportName | String | 指定したレポートの名前です。 | ReportDescription | String | 指定したレポートの説明です。 | ReportUUID | Integer | 指定したレポートの一意のID(または、UUID)です。 | HitCount | Integer | レポートがアクセスされた回数です。 | FormatCode | String | レポートの書式コードです。 | AverageRunTime | Integer | レポートの平均実行時間です。 | Category | String | レポートが保存されているカテゴリーです。 | SubCategory | String | レポートのサブカテゴリーです。 | ReportUsage | Integer | レポートが使用、またはアクセスされた回数です。 | ViewName | String | ビューの名前です。 | Datasource | String | データソースの名前です。 | Author | String | レポートを作成したユーザーです。 | AuthoringMode | String | レポートが作成されたモードです。 | ReportTemplate | String | レポートのテンプレートです。 | DataOutput | String | データ出力です。例:カラム(列) | DashboardEnabled | Boolean | ダッシュボードが有効化されている場合はTrueです。 | LastModifiedDate | Date | レポートが最後に変更された日付です。 |
応答の例サービスは、今回のSOAPの例に基づき、以下の応答を返します。 Code Block |
---|
| <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:remoteReportCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
<return>
<hitCount>3</hitCount>
<lastModifiedDate>2018-03-07</lastModifiedDate>
<lastRunDuration>0</lastRunDuration>
<messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
<messages>Loaded Report: 70012 Successfully</messages>
<messages>Web Service Request Complete</messages>
<preRunFilterString><![CDATA[<div class="rptFilterLogicText">
<span class="rptFilterLogicIdentifier">Invoiced Date</span>
Between
<span class="rptFilterLogicIdentifier">Current Date - 6 Years And Current Date</span>
</div>
.
.
.
]]></preRunFilterString>
<author>System Administrator</author> <private>false</private>
<authoringMode>JAVA</authoringMode> <reportDescription>This report provides a high level summary of <averageRunTime>0<campaigns</averageRunTime>reportDescription>
<canDrill>false<<reportId>70012</canDrill>reportId>
<category>Tutorial<<reportName>Campaign Summary</category>reportName>
<dashboardEnabled>true<<reportTemplate>CHART</dashboardEnabled>reportTemplate>
<dataOutput>COLUMN</dataOutput><reportUUID>3e842fae-02f7-4ad3-a632-ca267e0078da</reportUUID>
<datasource>Ski Team<<reportUsage>100</datasource>reportUsage>
<errorCode>0<<sessionId>3ab136a400081d88c09526f8bdf9e2e7</errorCode>sessionId>
<formatCode>REPORTANDCHART<<statusCode>SUCCESS</formatCode>statusCode>
<subCategory>Marketing & <hitCount>0<Booking</hitCount>subCategory>
<tags>No <lastModifiedDate>2017-06-26</lastModifiedDate>tags</tags>
<messages>Successfully Authenticated User: admin@yellowfin.com.au</messages><viewName>New View</viewName>
<messages>Loaded Report: 60712 Successfully</messages></return>
</ns2:remoteReportCallResponse>
<messages>Collating Report Information</messages>
<messages>Web Service Request Complete</messages>
<preRunFilterString><![CDATA[<div class="rptFilterLogicText">
<span class="rptFilterLogicIdentifier">Company Name</span>
In List
<span class="rptFilterLogicIdentifier">[User Prompt]</span>
</div>]]></preRunFilterString>
<private>false</private>
<reportDescription>Top N Agencies compared to all other Agencies by demographic</reportDescription></S:Body>
</S:Envelope> |
手順Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。 Expand |
---|
| 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの呼び出しを実行するための基礎的なリクエストです。
Code Block |
---|
| ReportServiceRequest rsr = new ReportServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
rsr.setOrgId(new Integer(1));
rsr.setReportRequest("GETCOMMENTS"); |
レポートが保存されているクライアント組織を指定する必要がある場合は、こちらのコードを追加します。 Code Block |
---|
| rsr.setOrgRef("org1"); // search for the report in this client org |
どのレポートのコメントを取得するか指定することができます。 Code Block |
---|
| rc.setReportId(60712); |
ステータスを変更するコメントを指定します。新しいステータスオプションは以下の通りです。 リクエストに「rc」オブジェクトを渡します。 Code Block |
---|
| rsr.setReportComment(rc); |
リクエストを構成したら、呼び出しを実行します。
Code Block |
---|
| ReportServiceResponse rs=rsc.remoteReportCall(rsr); |
レポートwebサービスを初期化します。実行方法の詳細は、こちらを参照してください。
|
完成例以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。 - コードをコピーして、「ws_getcomments.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_getcomments.jsp」を実行します。
Code Block |
---|
| <%
/* <reportId>60712</reportId>ws_getcomments.jsp <reportName>Agency Benchmark<*/reportName>
%>
<%@ page <reportTemplate>REPORTANDCHART</reportTemplate>
<reportUUID>c83357db-8aef-4ec7-ab72-fce34de9ee77</reportUUID>
<reportUsage>0</reportUsage>
<sessionId>900e9dfabd21bdef75410fa88fe501dd</sessionId>
<statusCode>SUCCESS</statusCode>
<subCategory>Marketing & Booking</subCategory>
<tags>No tags</tags>
<viewName>New View</viewName>
</return>
</ns2:remoteReportCallResponse>
</S:Body>
</S:Envelope> |
手順Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。 Expand |
---|
| 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの呼び出しを実行するための基礎的なリクエストです。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.*" %>
<%@ page import="javax.xml.bind.JAXBContext" %>
<%@ page import="javax.xml.bind.Marshaller" %>
<%@ page import="java.io.StringWriter" %>
<%@ page import="javax.xml.bind.JAXBElement" %>
<%@ page import="javax.xml.namespace.QName" %>
<%
/*
Create Group
Using Java generated stubs rather that using the Yellowfin webservices API..
*/
ReportService rsc = new ReportService(); //("localhost", 8080, "admin@yellowfin.com.au", "test", "/services/ReportService");
ReportServiceRequest rsr = new ReportServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
rsr.setOrgId(new Integer(1));
rsr.setReportRequest("GETCOMMENTS");
rsr.setReportId(56401);
ReportServiceResponse rs=rsc.remoteReportCall(rsr);
%> |
|
Expand |
---|
|
LEAVECOMMENTリクエストは、特定のレポートのコメントに、コメントや応答を追加します。 これを実行するコードは、以下の通りです。 Code Block |
---|
| ReportServiceRequest rsr = new ReportServiceRequest();
ReportServiceResponse rs = null;
ReportComment comment = new ReportComment();
rsr.setLoginId( "admin@yellowfin.com.au"this.username);
rsr.setPassword( "test"this.password);
// This is the primary organization
rsr.setOrgId(new Integer(1));
rsr.setReportRequest(" INFOLEAVECOMMENT"); レポートの保存されているクライアント組織を指定する必要がある場合は、こちらのコードを追加します。 Code Block |
---|
| rsr.setOrgRef("org1"); // search for the report in this client org |
どのレポートのコメントのステータスを変更するか指定することができます。 Code Block |
---|
| rsr.setReportId(60712); | レポートのクライアント参照ID、またはセッションIDを指定することもできます。
comment.setComment("This is my comment");
comment.setAuthorId(5);
// If this is a response to a comment, then specify the parent comment ID
comment.setParentCommentId(702);
rsr.setReportComment(comment);
rs = ReportService.remoteReportCall(rsr); |
|
Expand |
---|
|
DELETECOMMENTリクエストは、レポートから特定のコメントを削除します。 これを実行するコードは、以下の通りです。 コードをコピーして、「ws_info_report.jsp」として保存します。root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。インターネットブラウザから、「http://<host>:<port>/ws_info_report.jsp」を実行します。
Code Block |
---|
| | rsr.setReportClientReferenceId("1");
rsr.setSessionId("18607a5670842650d512976b5d7ccddd"); | リクエストを構成したら、呼び出しを実行します。
Code Block |
---|
| ReportServiceRequest rsr = new ReportServiceRequest();
ReportServiceResponse rs =rsc.remoteReportCall(rsr);レポートwebサービスを初期化します。実行方法の詳細は、こちらを参照してください。 返される応答には、他のレポート固有のパラメーターとともに、StatusCodeパラメーターが含まれます。詳細は、上記応答パラメーターの表を参照してください。
完成例以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。 <%
/* ws_info_report.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.*" %>
<%@ page import="javax.xml.bind.JAXBContext" %>
<%@ page import="javax.xml.bind.Marshaller" %>
<%@ page import="java.io.StringWriter" %>
<%@ page import="javax.xml.bind.JAXBElement" %>
<%@ page import="javax.xml.namespace.QName" %>
<%
ReportService rsc = new ReportService(); //("localhost", 8080, "admin@yellowfin.com.au", "test", "/services/ReportService");
ReportServiceRequest rsr = new ReportServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
rsr.setOrgId(new Integer(1));
rsr.setReportRequest("INFO");
rsr.setOrgRef("1");
rsr.setReportId(60712);
rsr.setReportClientReferenceId("1");
rsr.setSessionId("18607a5670842650d512976b5d7ccddd");
ReportServiceResponse rs=rsc.remoteReportCall(rsr);
if ("SUCCESS".equals(rs.getStatusCode())) { = null;
ReportComment comment = new ReportComment();
rsr.setLoginId(this.username);
rsr.setPassword(this.password);
// This is the primary organization
rsr.setOrgId(new Integer(1));
rsr.setReportRequest("DELETECOMMENT");
comment.setCommentId(702);
rsr.setReportComment(comment);
rs = ReportService.remoteReportCall(rsr); |
|
Expand |
---|
|
こちらの関数は、レポートコメントのステータスを設定するために使用します。ステータスオプションは、次の通りです。:OPEN、EDITED、RESOLVED、DELETED リクエスト要素以下の要素は、こちらのリクエストとともに渡されます。 リクエスト要素 | データ型 | 説明 | LoginId | String | Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 | Password | String | 上記アカウントのパスワードです。 | OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 | ReportRequest | String | webサービス関数です。「COMMENTSTATUS」に設定します。 | ReportComment | ReportComment | ステータスを設定するレポートコメントの詳細を含むオブジェクトです。以下の表を参照してください。 | OrgRef | String | クライアント組織の内部参照IDです。(オプション設定)クライアント組織内のレポートを検索する場合は、こちらを使用します。こちらが設定されない場合、レポートがデフォルト(プライマリー)組織から検索されます。 | ReportId | Integer | 特定のレポートを検索するために、レポートIDを提供することができます。 |
こちらの関数のReportCommentオブジェクトに設定しなくてはいけない必須パラメーターがあります。ReportComment要素 | データ型 | 説明 | 取得コード | CommentId | Integer | コメントのIDです。 | getCommentId() | StatusCode | String | 新しいステータスを提供します。ステータスオプションは、次の通りです。:OPEN、EDITED、RESOLVED、DELETED | getStatusCode() |
リクエストの例以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。 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:remoteReportCall>
<arg0>
<loginId>admin@yellowfin.com.au</loginId>
<password>test</password>
<orgId>1</orgId>
<reportRequest>COMMENTSTATUS</reportRequest>
<reportId>60712</reportId>
<reportComment>
<commentId>12345</commentId>
JAXBContext context = JAXBContext.newInstance(ReportServiceResponse.class); <statusCode>OPEN</statusCode>
Marshaller m = context.createMarshaller(); </reportComment>
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); // To format XML </arg0>
</web:remoteReportCall>
</soapenv:Body>
</soapenv:Envelope> |
応答要素応答には、これらの主要なパラメーターが含まれます。 応答要素 | データ型 | 説明 | StatusCode | String | Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。 |
応答の例サービスは、今回のSOAPの例に基づき、以下の応答を返します。 Code Block |
---|
| <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
JAXBElement<ReportServiceResponse> rootElement = new JAXBElement<ReportServiceResponse>(new QName("ReportServiceResponse"), ReportServiceResponse.class, rs); <S:Body>
<ns2:remoteReportCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
<return>
m.marshal(rootElement,out); <canDrill>false</canDrill>
<dashboardEnabled>false<//out.write("Success");dashboardEnabled>
<errorCode>0</errorCode>
<messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
} else { <messages>Web Service Request Complete</messages>
out.write("Failure"); out.write(" Code: " + rs.getErrorCode());<private>false</private>
} %> |
|
Expand |
---|
|
こちらのwebサービスは、レポートのカラム(列)やフィルターのメタデータを含む、指定したレポートのスキーマ情報を返します。レポートは、そのレポートID、またはwebサービス名を提供することで指定しなくてはいけません。 リクエスト要素以下の要素は、こちらのリクエストとともに渡されます。 リクエスト要素 | データ型 | 説明 | LoginId | String | Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 | Password | String | 上記アカウントのパスワードです。 | OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 | ReportRequest | String | webサービス関数です。「SCHEMA」に設定します。 | OrgRef | String | クライアント組織内部参照IDです。(オプション設定) | ReportId | Integer | 特定のレポートを検索するための内部レポートIDです。レポートIDは、レポートが編集される度に変更されます。ヒント:関連するレポートIDを取得するために、GETIDFROMUUID関数を使用することができます。 | ObjectName | String | (オプション設定)レポートのwebサービス名です。レポートIDが提供されている場合、こちらは必要ありません。 |
リクエストの例以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。 Code Block |
---|
| <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/"> <sessionId>6dc344c3e5dee88864998f4acc17d676</sessionId>
<soapenv:Header/> <soapenv:Body> <statusCode>SUCCESS</statusCode>
<web:remoteReportCall> </return>
<arg0> </ns2:remoteReportCallResponse>
<loginId>admin@yellowfin.com.au</loginId>
<password>test</password>
<orgId>1</orgId>
<reportRequest>SCHEMA</reportRequest>
<reportId>60712</reportId>
</arg0>
</web:remoteReportCall>
</soapenv:Body>
</soapenv:Envelope> |
応答要素応答には、これらの主要なパラメーターが含まれます。 応答要素 | データ型 | 説明 | StatusCode | String | Webサービスリクエストのステータスです。値の選択肢は、以下の通りです。 | Columns | ReportSchema[] | レポート結果セット内の各カラム(列)と、レポートにユーザープロンプトフィルターのデータを渡す必要があるかの情報(メタデータ)を含むReportSchemaオブジェクトの配列です。より詳細な情報は、以下の表を参照してください。 | Author | String | レポートを作成したユーザーの名前です。 | AuthoringMode | String | | AverageRunTime | Integer | | CanDrill | Boolean | レポートのドリル可否です。 | Category | String | レポートが保存されているフォルダーの名前です。 | SubCategory | String | レポートが保存されているサブフォルダーの名前です。 | DashboardEnabled | Boolean | | DataOutput | String | 以下のいずれかになります。 | Datasource | String | レポートが依存するデータソースの名前です。 | DrillCode | String | レポートで利用可能な場合のドリルタイプです。以下のいずれかになります。 - DRILLDOWN
- DRILLTHROUGH
- DRILLANYWHERE
| FormatCode | String | 指定したレポートの書式コードです。以下のいずれかになります。 - REPORTANDCHART
- CHART
- REPORT
| HitCount | Integer | 指定したレポートがアクセスされた回数です。 | LastModifiedDate | String | レポートが最後に変更された日付です。 | LastRunDuration | Integer | | PreRunFilterString | String | | Private | Boolean | レポートが非公開、または公開のどちらであるかを定義します。(レガシーサービスの場合は非公開です) | ReportDescription | String | 指定したレポートの説明です。 | ReportId | Integer | 指定したレポートのIDです。 | ReportName | String | 指定したレポートの名前です。 | ReportTemplate | String | レポートに適用するテンプレートです。以下のいずれかになります。 - REPORTANDCHART
- CHART
- REPORT
| ReportUUID | String | レポートのUUIDです。 | ReportUsage | Integer | | ViewName | String | レポートが依存するビューの名前です。 | Tags | String | | ErrorCode | Integer | webサービスが失敗した場合のエラーのコード番号です。 | Messages | String[] | レポートがサーバ上で実行されている時のデバッグ情報を示す文字列の配列です。デバッグとエラーのトレーシングに使用されます。 |
Anchor |
---|
| 以下の表 | 以下の表 | ReportSchemaオブジェクトは、レポートカラム(列)の情報を含む、以下のパラメーターを返します。パラメーター | 型 | 説明 |
ColumnName | String | レポートカラム(列)の名前です。 |
DisplayName | String | カラム(列)の表示名です。 |
ColumnLength | String | レポートカラム(列)の長さです。 |
FieldId | Integer | カラム(列)のフィールドIDです。 |
DataType | String | レポートカラム(列)のデータ型です。 |
SortOrder | Integer | カラム(列)を並べかえる順序です。 |
Hidden | Boolean | レポートでのカラム(列)表示有無です。 |
NumberOfDecimals | Integer | |
OutputLocation | String | |
AllowPrompt | Boolean | フィルターのみの設定です。 |
CachedValues | Boolean | フィルターのみの設定です。フィルターのキャッシュ値使用有無です。 |
FilterDisplayType | String | フィルターのみの設定です。カラム(列)がフィルタの場合のフィルター表示タイプです。 |
FilterId | String | フィルターのみの設定です。カラム(列)がフィルターの場合のフィルターIDです。 |
FilterOmittable | Boolean | フィルターのみの設定です。 |
FilterType | String | フィルターのみの設定です。フィルタータイプと、プロンプトに投入する必要のあるデータを決定します。 |
DefaultValue1 | String | フィルターのみの設定です。フィルターが設定されている場合の最初のデフォルト値です。 |
DefaultValue2 | String | フィルターのみの設定です。フィルターが設定されている場合の二番目のデフォルト値です。 |
FilterTypeCode | String | フィルターのみの設定です。 |
FilterUUID | String | フィルターのみの設定です。フィルターのUUIDです。 |
MinimumValue | BigDecimal | フィルターのみの設定です。フィルターが設定されている場合の最小値です。 |
MaximumValue | BigDecimal | フィルターのみの設定です。フィルターが設定されている場合の最大値です。 |
ParentFilterId | Integer | フィルターのみの設定です。依存フィルターが設定されている場合の親フィルターのフィルターIDです。 |
Prompt | Boolean | フィルターのみの設定です。カラム(列)がプロンプトフィルターであるかどうかです。 |
ValueUnitCode | String | フィルターのみの設定です。フィルターが設定されている場合の時間単位です。 |
応答の例
サービスは、今回のSOAPの例に基づき、以下の応答を返します。
Code Block |
---|
|
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:remoteReportCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
<return>
<author>System Administrator</author>
<authoringMode>JAVA</authoringMode>
<averageRunTime>0</averageRunTime>
<canDrill>false</canDrill>
<category>Tutorial</category>
<columns>
<columnName>Region</columnName>
<dataType>TEXT</dataType>
<displayName>Athlete Region</displayName>
<fieldId>1</fieldId></S:Body>
</S:Envelope> |
手順
Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。
Expand |
---|
|
管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの呼び出しを実行するための基礎的なリクエストです。
Code Block |
---|
| ReportServiceRequest rsr = new ReportServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
rsr.setOrgId(new Integer(1));
rsr.setReportRequest("COMMENTSTATUS"); |
レポートが保存されているクライアント組織を指定する必要がある場合は、こちらのコードを追加します。 Code Block |
---|
| rsr.setOrgRef("org1"); // search for the report in this client org |
こちらの関数は、レポートに与える新しいステータスを指定するために、ReportCommentオブジェクトを要求します。 Code Block |
---|
| ReportComment rc=new ReportComment(); |
ステータスを変更するレポートのコメントを指定することもできます。 Code Block |
---|
| rc.setReportId(60712); |
ステータスを変更するコメントと、新しいステータスを指定します。 Code Block |
---|
| rc.setCommentId(12345);
rc.setStatusCode("OPEN"); |
リクエストに「rc」オブジェクトを渡します。 Code Block |
---|
| rsr.setReportComment(rc); |
リクエストを構成したら、呼び出しを実行します。
Code Block |
---|
| ReportServiceResponse rs=rsc.remoteReportCall(rsr); |
レポートwebサービスを初期化します。実行方法の詳細は、こちらを参照してください。
|
完成例
以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。
- コードをコピーして、「ws_commentstatus.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_commentstatus.jsp」を実行します。
Code Block |
---|
|
<%
/* ws_commentstatus.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.*" %>
<%@ page import="javax.xml.bind.JAXBContext" %>
<%@ page import="javax.xml.bind.Marshaller" %>
<%@ page import="java.io.StringWriter" %>
<%@ page import="javax.xml.bind.JAXBElement" %>
<%@ page import="javax.xml.namespace.QName" %>
<%
/*
Create Group
Using Java generated stubs rather that using the Yellowfin webservices API..
*/
ReportService rsc = new ReportService(); //("localhost", 8080, "admin@yellowfin.com.au", "test", "/services/ReportService");
ReportServiceRequest rsr = new ReportServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
rsr.setOrgId(new Integer(1));
rsr.setReportRequest("COMMENTSTATUS");
ReportComment rc=new ReportComment();
rc.setReportId(60712);
rc.setCommentId(12345);
rc.setStatusCode("OPEN");
rsr.setReportComment(rc);
ReportServiceResponse rs=rsc.remoteReportCall(rsr);
if ("SUCCESS".equals(rs.getStatusCode())) {
JAXBContext context = JAXBContext.newInstance(ReportServiceResponse.class);
Marshaller m <hidden>false</hidden>= context.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, <numberOfDecimals>0</numberOfDecimals>
Boolean.TRUE); // To format XML
<outputLocation>COLUMN</outputLocation>JAXBElement<ReportServiceResponse> rootElement = new JAXBElement<ReportServiceResponse>(new QName("ReportServiceResponse"), ReportServiceResponse.class, rs);
<prompt>false</prompt> m.marshal(rootElement,out);
//out.write("Success");
<sortOrder>0</sortOrder> } else {
</columns>out.write("Failure");
out.write(" Code: " <columns>+ rs.getErrorCode());
}
%> |
Expand |
---|
|
DISTRIBUTEINBOXリクエストは、受信者一覧の受信トレイにレポートを配信します。 これを実行するコードは、以下の通りです。 Code Block |
---|
| ReportServiceRequest rsr = new ReportServiceRequest();
ReportServiceResponse rs = null;
<allowPrompt>false<//allowPrompt> Specify the Person ID values for your list of recipients
String[] reportoptions = { <cachedValues>true</cachedValues>
"11111", "5", "10101"};
rsr.setLoginId(this.username);
rsr.setPassword(this.password);
// This is the primary organization
rsr.setOrgId(new Integer(1));
rsr.setReportRequest("DISTRIBUTEINBOX");
rsr.setReportOptions(reportoptions);
rsr.setReportId(12345);
<columnName>Region</columnName>/ This is an optional distribution text for all recipients
rsr.setDistributionText("A message for recipients");
<dataType>TEXT</dataType>rs = ReportService.remoteReportCall(rsr); |
|
Expand |
---|
title | GETDISPLAYEDREPORTID |
---|
|
GETDISPLAYEDREPORTIDリクエストは、現在表示されているレポートのレポートIDを返します。 これを実行するコードは、以下の通りです。 Code Block |
---|
| ReportServiceRequest rsr = new ReportServiceRequest();
ReportServiceResponse rs = null;
<displayName>Athlete Region</displayName>
<filterDisplayType>DROPDOWN</filterDisplayType>
<filterId>74908</filterId>
<filterOmittable>true</filterOmittable>
<filterType>INLIST</filterType>
<filterTypeCode>FILTER</filterTypeCode>
<filterUUID>d4ea61ab-247e-403a-b51b-8243aeea63db</filterUUID>
<numberOfDecimals>0</numberOfDecimals>
<prompt>true</prompt>
<sortOrder>0</sortOrder>
</columns>
<dashboardEnabled>true</dashboardEnabled>
<dataOutput>COLUMN</dataOutput>
<datasource>Ski Team !!!</datasource>
<drillCode>DRILLDOWN</drillCode>
<errorCode>0</errorCode>
<formatCode>REPORTANDCHART</formatCode>
<hitCount>3</hitCount>
<lastModifiedDate>2018-06-07</lastModifiedDate>
<lastRunDuration>0</lastRunDuration>
<messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
<messages>Loaded Report: 74907 Successfully</messages>
<messages>Collating Schema Information</messages>
<messages>Web Service Request Complete</messages>
<preRunFilterString><![CDATA[<div class="rptFilterLogicText">
<span class="rptFilterLogicIdentifier">Athlete Region</span>
In List
<span class="rptFilterLogicIdentifier">[User Prompt]</span>
</div>]]></preRunFilterString>
<private>false</private>
<reportDescription>Ski Team, 8/6/2018 9:36 AM</reportDescription>
<reportId>74907</reportId>
<reportName>cached filters</reportName>
<reportTemplate>REPORTANDCHART</reportTemplate>
<reportUUID>982500e8-7b33-476b-be47-6a1aab611349</reportUUID>
<reportUsage>100</reportUsage>
rsr.setLoginId(this.username);
rsr.setPassword(this.password);
// This is the primary organization
rsr.setOrgId(new Integer(1));
rsr.setReportRequest("GETDISPLAYEDREPORTID");
rs = ReportService.remoteReportCall(rsr); |
返されるReportServiceResponseオブジェクトの構成は、以下の通りです。 応答要素 | データ型 | 説明 | 取得コード | DisplayedReportId | Integer | 現在表示されているレポートのレポートIDです。 | getDisplayedReportId()
|
|
Expand |
---|
|
GETKPIリクエストは、特定のKPIレポートのKPIオブジェクトを返します。こちらの関数リクエストは通常、モバイルアプリケーション内で活用されます。 これを実行するコードは、以下の通りです。 Code Block |
---|
| ReportServiceRequest rsr = new ReportServiceRequest();
ReportServiceResponse rs = null;
rsr.setLoginId(this.username);
rsr.setPassword(this.password);
// This is the primary organization
rsr.setOrgId(new Integer(1));
rsr.setReportRequest("GETKPI");
rsr.setReportId(12345);
rs = ReportService.remoteReportCall(rsr); |
返されるReportServiceResponseオブジェクトの構成は、以下の通りです。 応答要素 | データ型 | 説明 | 取得コード | KPI | KPIオブジェクト | これが、特定のKPIメトリック(数値)の実績、目標、および差異の値を保持するカスタムKPIオブジェクトです。(KPIを参照してください)。 | getKPI()
|
|
Expand |
---|
title | GETDRILLANYWHEREMENU |
---|
|
GETDRILLANYWHEREMENUリクエストは、選択したレポートカラム(列)で使用可能なドリルエニウェアメニューを返します。こちらの関数リクエストは通常、モバイルアプリケーション内で活用されます。 これを実行するコードは、以下の通りです。 Code Block |
---|
| ReportServiceRequest rsr = new ReportServiceRequest();
ReportServiceResponse rs = null;
rsr.setLoginId(this.username);
rsr.setPassword(this.password);
// This is the primary organization
rsr.setOrgId(new Integer(1));
rsr.setReportRequest("GETDRILLANYWHEREMENU");
rsr.setReportId(12345);
// This is an integer field which is the Field ID of the selected column
rsr.setDrillAnywhereFieldId(3);
// This is the actual value of the column
rsr.setDrillAnywhereCellValue("5000");
rs = ReportService.remoteReportCall(rsr); |
返されるReportServiceResponseオブジェクトの構成は、以下の通りです。 応答要素 | データ型 | 説明 | 取得コード | DrillAnywhereCategories | Array(String) | 文字列の配列です。 | getDrillAnywhereCategories()
| DrillAnywhereTargets | Array (DrillAnywhereTarget) | ドリルエニウェアカテゴリーのドリルエニウェア目標を一覧表示するDrillAnywhereTargetオブジェクトの配列です(DrillAnywhereTargetを参照してください)。 | getDrillAnywhereTargets()
|
|
Expand |
---|
|
SUBSCRIBEDETAILSリクエストは、特定のレポートのスケジュールレコードを返します。 これを実行するコードは、以下の通りです。 Code Block |
---|
| ReportServiceRequest rsr = new ReportServiceRequest();
ReportServiceResponse rs = null;
ScheduleRecord sr = null;
rsr.setLoginId(this.username);
rsr.setPassword(this.password);
// This is the primary organization
rsr.setOrgId(new Integer(1));
rsr.setReportRequest("SUBSCRIBEDETAILS");
rsr.setReportId(12345):
// This is the ID of the user to be subscribed
rsr.setReportUserId(19090);
rs = ReportService.remoteReportCall(rsr);
sr = rs.getSchedule(); |
返されるReportServiceResponseオブジェクトの構成は、以下の通りです。 応答要素 | データ型 | 説明 | 取得コード | ScheduleRecord | ScheduleRecordオブジェクト | 購読詳細と条件を含むScheduleRecordオブジェクトです(ScheduleRecordを参照してください)。 | getSchedule()
|
|
Expand |
---|
|
SUBSCRIBEリクエストは、指定したユーザーの指定したレポートへの購読を作成、または変更します。こちらの関数リクエストは通常、現在の購読情報を取得するために、SUBSCRIBEDETAILSのあとに呼び出されます。そうでない場合、こちらの関数の呼び出しのために、ScheduleRecordオブジェクトを作成して適切なデータを投入する必要があります(ScheduleRecordを参照してください)。 これを実行するコードは、以下の通りです。 Code Block |
---|
| ReportServiceRequest rsr = new ReportServiceRequest();
ReportServiceResponse rs = null;
// Either retrieve a current ScheduleRecord beforehand or create a new one. A new one is created in this example
ScheduleRecord sr = new ScheduleRecord();
rsr.setLoginId(this.username);
rsr.setPassword(this.password);
// This is the primary organization
rsr.setOrgId(new Integer(1));
rsr.setReportRequest("SUBSCRIBE");
rsr.setReportId(12345):
// This is the ID of the user to be subscribed
rsr.setReportUserId(19090);
// Refer to the ScheduleRecord schema definition for all possible variables
sr.setRecipient(19090);
sr.setFormat("PDF");
sr.setSubject("Athlete Analysis");
sr.setBodyText("Pay attention to the data in October");
sr.setFrequencyTypeCode("FORTNIGHTLY");
sr.setFrequencyCode("ONE");
sr.setFrequencyUnit(1);
sr.setAdvancedTimezoneCode("AUSTRALIA/SYDNEY");
// total of seconds from 12am - the example below is set for 5.30pm
sr.setAdvancedTime(63000);
rs = ReportService.remoteReportCall(rsr); |
|
Expand |
---|
|
UNSUBSCRIBEリクエストは、指定したレポートから、指定したユーザーの購読を停止します。 これを実行するコードは、以下の通りです。 Code Block |
---|
| ReportServiceRequest rsr = new ReportServiceRequest();
ReportServiceResponse rs = null;
rsr.setLoginId(this.username);
rsr.setPassword(this.password);
// This is the primary organization
rsr.setOrgId(new Integer(1));
rsr.setReportRequest("UNSUBSCRIBE");
rsr.setReportId(12345):
// This is the ID of the user to be subscribed
rsr.setReportUserId(19090);
rs = ReportService.remoteReportCall(rsr); |
|
Expand |
---|
|
LOADDASHBOARDTABリクエストは、指定したダッシュボードタブとそのメタデータを読み込みます。 これを実行するコードは、以下の通りです。 Code Block |
---|
| ReportServiceRequest rsr = new ReportServiceRequest();
ReportServiceResponse rs = null;
DashboardDefinition dd = null;
rsr.setLoginId(this.username);
rsr.setPassword(this.password);
// This is the primary organization
rsr.setOrgId(new Integer(1));
rsr.setReportRequest("LOADDASHBOARDTAB");
// This is the ID of the dashboard tab
rsr.setDashboardTabId(11111);
rs = ReportService.remoteReportCall(rsr);
dd = rs.getDashboard(); |
返されるReportServiceResponseオブジェクトの構成は、以下の通りです。 応答要素 | データ型 | 説明 | 取得コード | DashboardDefinition | DashboardDefinitionオブジェクト | ダッシュボードタブのメタデータを含むDashboardDefinitionオブジェクトです(DashboardDefinitionを参照してください)。 | getDashboard()
|
|
Expand |
---|
title | LOADPARENTDASHBOARDTAB |
---|
|
こちらの関数は、特定のダッシュボードの親タブの定義、またはメタデータを取得します。 リクエスト要素以下の要素は、こちらのリクエストとともに渡されます。 リクエスト要素 | データ型 | 説明 | LoginId | String | Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 | Password | String | 上記アカウントのパスワードです。 | OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 | ReportRequest | String | webサービス関数です。「LOADPARENTDASHBOARDTAB」に設定します。 | OrgRef | String | クライアント組織の内部参照IDを指定するオプション設定です。 | DashboardTabId | Integer | 読み込まれるダッシュボードを指定する内部IDです。 | SessionId | Integer | (オプション設定)IDを使用して以前のセッションを指定します。 | LanguageCode | | (オプション設定)言語を指定します。 | ReportsOption | | (オプション設定)レポートを送信する電子メールアドレスの一覧です。 |
リクエストの例以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。 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:remoteReportCall>
<arg0>
<sessionId>7e9971ea99fff609387ac1c504abcc63</sessionId> <loginId>admin@yellowfin.com.au</loginId>
<statusCode>SUCCESS<<password>test</statusCode>password>
<subCategory>Training<<orgId>1</subCategory>orgId>
<tags>No tags<<reportRequest>LOADPARENTDASHBOARDTAB</tags>reportRequest>
<viewName>Ski Team<<dashboardTabId>61251</viewName>dashboardTabId>
</return>arg0>
</ns2web:remoteReportCallResponse>remoteReportCall>
</Ssoapenv:Body>
</Ssoapenv:Envelope> |
手順Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。 Expand |
---|
|
|
管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの呼び出しを実行するための基礎的なリクエストです。応答要素
応答には、これらのパラメーターが含まれます。
応答要素 | データ型 | 説明 |
StatusCode | String | Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。 |
Dashboard | DashboardDefinition | 指定したダッシュボードとそのサブタブのメタデータを含むオブジェクトです。 |
応答の例
サービスは、今回にSOAPの例に基づき、以下の応答を返します。
インターネットブラウザから、「http://<host>:<port>/ws_reportschema.jsp」を実行します。
Code Block |
---|
|
|
ReportServiceRequest rsr = new ReportServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
rsr.setOrgId(new Integer(1));
rsr.setReportRequest("SCHEMA"); |
レポートの保存されているクライアント組織を指定する必要がある場合は、こちらのコードを追加します。
Code Block |
---|
|
rsr.setOrgRef("org1");<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:remoteReportCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
<return>
<canDrill>false</canDrill>
<dashboard>
<accessCode>UNSECURE</accessCode>
search
for
the
report
in
this
client orgステータスを変更するレポートのコメントを指定することができます。
Code Block |
---|
|
rsr.setReportId(70045); |
リクエストを構成したら、呼び出しを実行します。
Code Block |
---|
|
ReportServiceResponse rs=rsc.remoteReportCall(rsr); |
レポートwebサービスを初期化します。実行方法の詳細は、こちらを参照してください。
返される応答には、他のレポート固有のパラメーターとともに、StatusCodeパラメーターが含まれます。詳細は、上記応答パラメーターの表を参照してください。
完成例
以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。
コードをコピーして、「ws_reportschema.jsp」として保存します。root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。<% <categoryCode>TUTORIAL</categoryCode>
/* <elements>
ws_reportschema.jsp <columnNumber>1</columnNumber>
*<entityId>60947</entityId>
%> <%@ 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.*" %>
<%<entityTypeCode>REPORT</entityTypeCode>
ReportServiceResponse rs = null; <portletHeight>448</portletHeight>
ReportServiceRequest rsr = new ReportServiceRequest(); ReportServiceService ts = new ReportServiceServiceLocator("localhost", 8080, "/services/ReportService", false); <portletStatus>RESTORED</portletStatus>
ReportServiceSoapBindingStub rssbs = (ReportServiceSoapBindingStub) ts.getReportService(); rsr.setLoginId("admin@yellowfin.com.au"); rsr.setPassword("test");<rowNumber>3</rowNumber>
rsr.setOrgId(1); rsr.setReportRequest("SCHEMA"); <sequenceNumber>1</sequenceNumber>
rsr.setReportId(70045); rs = rssbs.remoteReportCall(rsr); <startDate>2017-06-26T00:00:00+10:00</startDate>
if ("SUCCESS".equals(rs.getStatusCode())) { out.write("Success </br>"); <tabId>61251</tabId>
</elements>
<elements>
ReportSchema[] schema = rs.getColumns(); <columnNumber>1</columnNumber>
<entityId>61001</entityId>
for (ReportSchema s: schema) <entityTypeCode>REPORT</entityTypeCode>
<portletHeight>363</portletHeight>
<portletStatus>RESTORED</portletStatus>
//display filters: <rowNumber>1</rowNumber>
<sequenceNumber>1</sequenceNumber>
<startDate>2017-06-26T00:00:00+10:00</startDate>
if (s.getFilterType() != null && s.getFilterTypeCode().equals("FILTER")){ <tabId>61251</tabId>
</elements>
<elements>
<columnNumber>1</columnNumber>
out.write("<br>Display Name: " + s.getDisplayName()); <entityId>61097</entityId>
<entityTypeCode>REPORT</entityTypeCode>
<portletHeight>374</portletHeight>
<portletStatus>RESTORED</portletStatus>
out.write("<br>Filter UUID:" + s.getFilterUUID()); <rowNumber>2</rowNumber>
<sequenceNumber>1</sequenceNumber>
<startDate>2017-06-26T00:00:00+10:00</startDate>
<tabId>61251</tabId>
out.write("<br>Filter Id:" + s.getFilterId());</elements>
<elements>
<columnNumber>1</columnNumber>
<entityId>61046</entityId>
} } else { out.write(rs.getStatusCode());<entityTypeCode>REPORT</entityTypeCode>
out.write(rs.toString()); } %> |
Expand |
---|
|
webサービスは、指定したレポートのフィルター値を返します。 注意:現在、このリクエストにユーザー情報を渡す方法はありません。そのため、特定の値を制限するアクセスフィルターがレポートに適用されている場合、ログインしているユーザー(このwebサービスを呼び出しているユーザー)がアクセスできるフィルター値のみが返されます。 リクエスト要素以下の要素は、こちらのリクエストとともに渡されます。 リクエスト要素 | データ型 | 説明 | LoginId | String | Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 | Password | String | 上記アカウントのパスワードです。 | OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 | ReportRequest | String | webサービス関数です。「FILTEROPTIONS」に設定します。 | OrgRef | String | (オプション設定)特定のクライアント組織を指定してレポートを検索する場合の、クライアント組織内部参照IDです。こちらが指定されてない場合、デフォルト組織から検索されます。 | ReportClientReferenceId | String | (オプション設定)特定のクライアント組織を指定する、別のオプションです。 | ReportId | Integer | 特定のレポートを検索するための内部レポートIDです。レポートIDは、レポートが編集される度に変更されます。ヒント:関連するレポートIDを取得するために、GETIDFROMUUID関数を使用することができます。 | ObjectName | String | 内部フィルターIDです。ヒント:レポートが編集される度に変更されるため、SCHEMA関数を使用して有効なフィルターIDを取得します。 |
リクエストの例以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。 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:remoteReportCall>
<portletHeight>331</portletHeight>
<portletStatus>RESTORED</portletStatus>
<rowNumber>3</rowNumber>
<arg0> <loginId>admin@yellowfin.com.au</loginId><sequenceNumber>2</sequenceNumber>
<password>test</password><startDate>2017-06-26T00:00:00+10:00</startDate>
<orgId>1<<tabId>61251</orgId>tabId>
</elements>
<reportRequest>FILTEROPTIONS</reportRequest> <elements>
<reportId>70066</reportId> <objectName>70081</objectName><columnNumber>1</columnNumber>
</arg0> </web:remoteReportCall><entityId>61067</entityId>
</soapenv:Body>
</soapenv:Envelope> |
応答要素応答には、これらの主要なパラメーターが含まれます。 |
応答要素 | データ型 | 説明 |
StatusCode | String | Webサービスリクエストのステータスです。値の選択肢は、以下の通りです。 |
Results | ReportRow[] | 利用可能なフィルター値の配列です。より詳細な情報は、以下の表を参照してください。 |
Author | String | レポートを作成したユーザーの名前です。 |
AuthoringMode | String | |
AverageRunTime | Integer | |
CanDrill | Boolean | レポートのドリル可否です。 |
Category | String | レポートが保存されているフォルダーの名前です。 |
SubCategory | String | レポートが保存されているサブフォルダーの名前です。 |
DashboardEnabled | Boolean | |
DataOutput | String | 以下のいずれかになります。 |
Datasource | String | このレポートに使用されているデータソースの名前です。 |
FormatCode | String | 指定したレポートの書式コードです。以下のいずれかになります。 - REPORTANDCHART
- CHART
- REPORT
|
HitCount | Integer | 指定したレポートがアクセスされた回数です。 |
LastModifiedDate | String | レポートが最後に変更された日付です。 |
LastRunDuration | Integer | |
PreRunFilterString | String | |
Private | Boolean | レポートが非公開、または公開のどちらであるかを定義します。(レガシーサービスの場合は非公開です) |
ReportDescription | String | 指定したレポートの説明です。 |
ReportId | Integer | 指定したレポートのIDです。 |
ReportName | String | 指定したレポートの名前です。 |
ReportTemplate | String | レポートに適用するテンプレートです。以下のいずれかになります。 - REPORTANDCHART
- CHART
- REPORT
|
ReportUUID | String | レポートのUUIDです。 |
ReportUsage | Integer | |
ViewName | String | レポートが依存するビューの名前です。 |
Tags | String | |
ErrorCode | Integer | webサービスが失敗した場合のエラーのコード番号です。 |
Messages | String[] | レポートがサーバ上で実行されている場合にデバッグ情報を示す文字列の配列です。デバッグとエラーのトレーシングに使用されます。 |
Anchor |
---|
以下の表2 | 以下の表2 | ReportRowオブジェクトは、以下のパラメーターを返します。パラメーター | 型 | 説明 |
DataValue | String[] | レポート結果セット内の各カラム(列)データの文字列の配列です。 |
応答の例
サービスは、今回のSOAPの例に基づき、以下の応答を返します。
Code Block |
---|
|
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:remoteReportCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
<return> <entityTypeCode>REPORT</entityTypeCode>
<portletHeight>225</portletHeight>
<portletStatus>RESTORED</portletStatus>
<rowNumber>3</rowNumber>
<sequenceNumber>3</sequenceNumber>
<startDate>2017-06-26T00:00:00+10:00</startDate>
<tabId>61251</tabId>
</elements>
<elements>
<columnNumber>2</columnNumber>
<entityId>61035</entityId>
<entityTypeCode>REPORT</entityTypeCode>
<portletHeight>373</portletHeight>
<portletStatus>RESTORED</portletStatus>
<rowNumber>2</rowNumber>
<sequenceNumber>1</sequenceNumber>
<startDate>2017-06-26T00:00:00+10:00</startDate>
<tabId>61251</tabId>
</elements>
<endDate>9999-12-31T00:00:00+11:00</endDate>
<filters>
<componentId>0</componentId>
<componentTypeCode>REPORT</componentTypeCode>
<entityId>0</entityId>
<entityTypeCode>REPORTGROUP</entityTypeCode>
<formatKey>DEFAULTDISPLAY</formatKey>
<formatValue>SUMMARYCHART</formatValue>
<groupId>61250</groupId>
</filters>
<filters>
<componentId>0</componentId>
<componentTypeCode>REPORT</componentTypeCode>
<entityId>0</entityId>
<entityTypeCode>REPORTGROUP</entityTypeCode>
<formatKey>DEFAULTDISPLAY</formatKey>
<formatValue>SUMMARYCHART</formatValue>
<groupId>61250</groupId>
</filters>
<filters>
<componentId>0</componentId>
<componentTypeCode>REPORT</componentTypeCode>
<entityId>0</entityId>
<entityTypeCode>REPORTGROUP</entityTypeCode>
<formatKey>DEFAULTDISPLAY</formatKey>
<formatValue>SUMMARYCHART</formatValue>
<groupId>61250</groupId>
</filters>
<filters>
<componentId>61035</componentId>
<componentTypeCode>REPORT</componentTypeCode>
<entityId>0</entityId>
<entityTypeCode>REPORTGROUP</entityTypeCode>
<formatKey>DEFAULTDISPLAY</formatKey>
<formatValue>CHART</formatValue>
<groupId>61250</groupId>
</filters>
<filters>
<componentId>61067</componentId>
<componentTypeCode>REPORT</componentTypeCode>
<entityId>0</entityId>
<entityTypeCode>REPORTGROUP</entityTypeCode>
<formatKey>DEFAULTDISPLAY</formatKey>
<formatValue>SUMMARYCHART</formatValue>
<groupId>61250</groupId>
</filters>
<filters>
<componentId>61097</componentId>
<componentTypeCode>REPORT</componentTypeCode>
<entityId>0</entityId>
<entityTypeCode>REPORTGROUP</entityTypeCode>
<formatKey>DEFAULTDISPLAY</formatKey>
<formatValue>REPORT</formatValue>
<groupId>61250</groupId>
</filters>
<filters>
<componentId>0</componentId>
<entityId>61250</entityId>
<entityTypeCode>REPORTGROUP</entityTypeCode>
<formatKey>HELPON</formatKey>
<formatValue>true</formatValue>
<groupId>61250</groupId>
</filters>
<filters>
<componentId>0</componentId>
<entityId>61250</entityId>
<entityTypeCode>REPORTGROUP</entityTypeCode>
<formatKey>SUBTABS</formatKey>
<formatValue>OFF</formatValue>
<groupId>61250</groupId>
</filters>
<filters>
<componentId>0</componentId>
<entityId>61250</entityId>
<entityTypeCode>REPORTGROUP</entityTypeCode>
<formatKey>UNITSELECTION</formatKey>
<formatValue>OFF</formatValue>
<groupId>61250</groupId>
</filters>
<groupTypeCode>ANALYTIC</groupTypeCode>
<languageCode>EN</languageCode>
<longDescription/>
<owner>1</owner>
<ownerTypeCode>ORGANISATION</ownerTypeCode>
<parentGroupId>0</parentGroupId>
<shortDescription>Sales Performance</shortDescription>
<startDate>2017-06-26T00:00:00+10:00</startDate>
<statusCode>OPEN</statusCode>
<subCategoryCode>ATHLETES</subCategoryCode>
<subtabs>
<elements>
<columnNumber>1</columnNumber>
<entityId>60947</entityId>
<entityTypeCode>REPORT</entityTypeCode>
<portletHeight>448</portletHeight>
<portletStatus>RESTORED</portletStatus>
<rowNumber>3</rowNumber>
<sequenceNumber>1</sequenceNumber>
<startDate>2017-06-26T00:00:00+10:00</startDate>
<tabId>61251</tabId>
</elements>
<elements>
<columnNumber>1</columnNumber>
<entityId>61001</entityId>
<entityTypeCode>REPORT</entityTypeCode>
<portletHeight>363</portletHeight>
<portletStatus>RESTORED</portletStatus>
<rowNumber>1</rowNumber>
<sequenceNumber>1</sequenceNumber>
<startDate>2017-06-26T00:00:00+10:00</startDate>
<tabId>61251</tabId>
</elements>
<elements>
<columnNumber>1</columnNumber>
<entityId>61097</entityId>
<entityTypeCode>REPORT</entityTypeCode>
<portletHeight>374</portletHeight>
<portletStatus>RESTORED</portletStatus>
<rowNumber>2</rowNumber>
<sequenceNumber>1</sequenceNumber>
<startDate>2017-06-26T00:00:00+10:00</startDate>
<tabId>61251</tabId>
</elements>
<elements>
<columnNumber>1</columnNumber>
<entityId>61046</entityId>
<entityTypeCode>REPORT</entityTypeCode>
<portletHeight>331</portletHeight>
<portletStatus>RESTORED</portletStatus>
<rowNumber>3</rowNumber>
<sequenceNumber>2</sequenceNumber>
<startDate>2017-06-26T00:00:00+10:00</startDate>
<tabId>61251</tabId>
</elements>
<elements>
<columnNumber>1</columnNumber>
<entityId>61067</entityId>
<entityTypeCode>REPORT</entityTypeCode>
<portletHeight>225</portletHeight>
<portletStatus>RESTORED</portletStatus>
<rowNumber>3</rowNumber>
<sequenceNumber>3</sequenceNumber>
<startDate>2017-06-26T00:00:00+10:00</startDate>
<tabId>61251</tabId>
</elements>
<elements>
<columnNumber>2</columnNumber>
<entityId>61035</entityId>
<entityTypeCode>REPORT</entityTypeCode>
<portletHeight>373</portletHeight>
<portletStatus>RESTORED</portletStatus>
<rowNumber>2</rowNumber>
<sequenceNumber>1</sequenceNumber>
<startDate>2017-06-26T00:00:00+10:00</startDate>
<tabId>61251</tabId>
</elements>
<endDate>9999-12-31T00:00:00+11:00</endDate>
<filters>
<componentId>0</componentId>
<componentTypeCode>REPORT</componentTypeCode>
<entityId>0</entityId>
<entityTypeCode>REPORTGROUP</entityTypeCode>
<formatKey>DEFAULTDISPLAY</formatKey>
<formatValue>SUMMARYCHART</formatValue>
<groupId>61250</groupId>
</filters>
<filters>
<componentId>0</componentId>
<componentTypeCode>REPORT</componentTypeCode>
<entityId>0</entityId>
<entityTypeCode>REPORTGROUP</entityTypeCode>
<formatKey>DEFAULTDISPLAY</formatKey>
<formatValue>SUMMARYCHART</formatValue>
<groupId>61250</groupId>
</filters>
<filters>
<componentId>0</componentId>
<componentTypeCode>REPORT</componentTypeCode>
<entityId>0</entityId>
<entityTypeCode>REPORTGROUP</entityTypeCode>
<formatKey>DEFAULTDISPLAY</formatKey>
<formatValue>SUMMARYCHART</formatValue>
<groupId>61250</groupId>
</filters>
<filters>
<componentId>61035</componentId>
<componentTypeCode>REPORT</componentTypeCode>
<entityId>0</entityId>
<entityTypeCode>REPORTGROUP</entityTypeCode>
<formatKey>DEFAULTDISPLAY</formatKey>
<formatValue>CHART</formatValue>
<groupId>61250</groupId>
</filters>
<filters>
<componentId>61067</componentId>
<componentTypeCode>REPORT</componentTypeCode>
<entityId>0</entityId>
<entityTypeCode>REPORTGROUP</entityTypeCode>
<formatKey>DEFAULTDISPLAY</formatKey>
<formatValue>SUMMARYCHART</formatValue>
<groupId>61250</groupId>
</filters>
<filters>
<componentId>61097</componentId>
<componentTypeCode>REPORT</componentTypeCode>
<entityId>0</entityId>
<entityTypeCode>REPORTGROUP</entityTypeCode>
<formatKey>DEFAULTDISPLAY</formatKey>
<formatValue>REPORT</formatValue>
<groupId>61250</groupId>
</filters>
<filters>
<componentId>0</componentId>
<entityId>61250</entityId>
<entityTypeCode>REPORTGROUP</entityTypeCode>
<formatKey>HELPON</formatKey>
<formatValue>true</formatValue>
<groupId>61250</groupId>
</filters>
<filters>
<componentId>0</componentId>
<entityId>61250</entityId>
<entityTypeCode>REPORTGROUP</entityTypeCode>
<formatKey>SUBTABS</formatKey>
<formatValue>OFF</formatValue>
<groupId>61250</groupId>
</filters>
<filters>
<componentId>0</componentId>
<entityId>61250</entityId>
<entityTypeCode>REPORTGROUP</entityTypeCode>
<formatKey>UNITSELECTION</formatKey>
<formatValue>OFF</formatValue>
<groupId>61250</groupId>
</filters>
<groupTypeCode>SUBTAB</groupTypeCode>
<languageCode>EN</languageCode>
<owner>0</owner>
<parentGroupId>0</parentGroupId>
<shortDescription>New Tab</shortDescription>
<startDate>2017-06-26T00:00:00+10:00</startDate>
<statusCode>OPEN</statusCode>
<styleCode>TWO</styleCode>
<tabId>61251</tabId>
</subtabs>
<tabId>61250</tabId>
</dashboard>
<dashboardEnabled>false</dashboardEnabled>
<errorCode>0</errorCode>
<messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
<messages>Attempting to Load Dashboard Tab: 61251</messages>
<messages>Web Service Request Complete</messages>
<private>false</private>
<sessionId>af433c1d0f0cffa9d3a7e1ef8c72abf6</sessionId>
<statusCode>SUCCESS</statusCode>
</return>
</ns2:remoteReportCallResponse>
</S:Body>
</S:Envelope><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:remoteReportCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
<return>
<canDrill>false</canDrill>
<dashboard>
<accessCode>UNSECURE</accessCode>
<categoryCode>TUTORIAL</categoryCode>
<elements>
<columnNumber>1</columnNumber>
<entityId>60947</entityId>
<entityTypeCode>REPORT</entityTypeCode>
<portletHeight>448</portletHeight>
<portletStatus>RESTORED</portletStatus>
<rowNumber>3</rowNumber>
<sequenceNumber>1</sequenceNumber>
<startDate>2017-06-26T00:00:00+10:00</startDate>
<tabId>61251</tabId>
</elements>
<elements>
<columnNumber>1</columnNumber>
<entityId>61001</entityId>
<entityTypeCode>REPORT</entityTypeCode>
<portletHeight>363</portletHeight>
<portletStatus>RESTORED</portletStatus>
<rowNumber>1</rowNumber>
<sequenceNumber>1</sequenceNumber>
<startDate>2017-06-26T00:00:00+10:00</startDate>
<tabId>61251</tabId>
</elements>
<elements>
<columnNumber>1</columnNumber>
<entityId>61097</entityId>
<entityTypeCode>REPORT</entityTypeCode>
<portletHeight>374</portletHeight>
<portletStatus>RESTORED</portletStatus>
<rowNumber>2</rowNumber>
<sequenceNumber>1</sequenceNumber>
<startDate>2017-06-26T00:00:00+10:00</startDate>
<tabId>61251</tabId>
</elements>
<elements>
<columnNumber>1</columnNumber>
<entityId>61046</entityId>
<entityTypeCode>REPORT</entityTypeCode>
<portletHeight>331</portletHeight>
<portletStatus>RESTORED</portletStatus>
<rowNumber>3</rowNumber>
<sequenceNumber>2</sequenceNumber>
<startDate>2017-06-26T00:00:00+10:00</startDate>
<tabId>61251</tabId>
</elements>
<elements>
<columnNumber>1</columnNumber>
<entityId>61067</entityId>
<entityTypeCode>REPORT</entityTypeCode>
<portletHeight>225</portletHeight>
<portletStatus>RESTORED</portletStatus>
<rowNumber>3</rowNumber>
<sequenceNumber>3</sequenceNumber>
<startDate>2017-06-26T00:00:00+10:00</startDate>
<tabId>61251</tabId>
</elements>
<elements>
<columnNumber>2</columnNumber>
<entityId>61035</entityId>
<entityTypeCode>REPORT</entityTypeCode>
<portletHeight>373</portletHeight>
<portletStatus>RESTORED</portletStatus>
<rowNumber>2</rowNumber>
<sequenceNumber>1</sequenceNumber>
<startDate>2017-06-26T00:00:00+10:00</startDate>
<tabId>61251</tabId>
</elements>
<endDate>9999-12-31T00:00:00+11:00</endDate>
<filters>
<componentId>0</componentId>
<componentTypeCode>REPORT</componentTypeCode>
<entityId>0</entityId>
<entityTypeCode>REPORTGROUP</entityTypeCode>
<formatKey>DEFAULTDISPLAY</formatKey>
<formatValue>SUMMARYCHART</formatValue>
<groupId>61250</groupId>
</filters>
<filters>
<componentId>0</componentId>
<componentTypeCode>REPORT</componentTypeCode>
<entityId>0</entityId>
<entityTypeCode>REPORTGROUP</entityTypeCode>
<formatKey>DEFAULTDISPLAY</formatKey>
<formatValue>SUMMARYCHART</formatValue>
<groupId>61250</groupId>
</filters>
<filters>
<componentId>0</componentId>
<componentTypeCode>REPORT</componentTypeCode>
<entityId>0</entityId>
<entityTypeCode>REPORTGROUP</entityTypeCode>
<author>System Administrator</author><formatKey>DEFAULTDISPLAY</formatKey>
<authoringMode>JAVA</authoringMode> <formatValue>SUMMARYCHART</formatValue>
<averageRunTime>0</averageRunTime> <groupId>61250</groupId>
<canDrill>false</canDrill> <category>Tutorial<</category>filters>
<dashboardEnabled>true</dashboardEnabled> <filters>
<dataOutput>COLUMN</dataOutput> <componentId>61035</componentId>
<datasource>Ski Team</datasource> <errorCode>0<<componentTypeCode>REPORT</errorCode>
componentTypeCode>
<formatCode>REPORTANDCHART</formatCode> <entityId>0</entityId>
<hitCount>2</hitCount> <lastModifiedDate>2018-06-18</lastModifiedDate><entityTypeCode>REPORTGROUP</entityTypeCode>
<lastRunDuration>0</lastRunDuration> <formatKey>DEFAULTDISPLAY</formatKey>
<messages>Successfully Authenticated User: admin@yellowfin.com.au</messages> <formatValue>CHART</formatValue>
<messages>Loaded Report: 70080 Successfully</messages> <messages>Retrieving Options<<groupId>61250</messages>groupId>
<messages>Request Contains No ReportFilter Records.</messages>
filters>
<messages>Region (FilterId: 70082 ) Requires User<filters>
Prompt</messages> <messages>Ignoring Prompt Filter On Field: 70082<<componentId>61067</messages>componentId>
<messages>DEMOGRAPHIC (FilterId: 70081 ) Requires User Prompt</messages><componentTypeCode>REPORT</componentTypeCode>
<messages>Web Service Request Complete<<entityId>0</messages>entityId>
<preRunFilterString><![CDATA[<div class="rptFilterLogicText"> <span class="rptFilterLogicIdentifier">Athlete Region</span>
In List
<span class="rptFilterLogicIdentifier">[User Prompt]</span>
</div>
<div class="rptFilterLogicText">
AND
<span class="rptFilterLogicIdentifier">Demographic</span>
In List
<span class="rptFilterLogicIdentifier">(Adventure, Relaxation, Family, Culture)</span>
</div>]]></preRunFilterString> <entityTypeCode>REPORTGROUP</entityTypeCode>
<formatKey>DEFAULTDISPLAY</formatKey>
<private>false</private><formatValue>SUMMARYCHART</formatValue>
<reportDescription>Ski Team, 18/6/2018 2:49 PM</reportDescription><groupId>61250</groupId>
<reportId>70066<</reportId>filters>
<reportName>qwerty</reportName> <filters>
<reportTemplate>REPORTANDCHART</reportTemplate> <componentId>61097</componentId>
<reportUUID>c105ab26-9744-434d-9c8c-9fb9e48d80c0</reportUUID> <reportUsage>100<<componentTypeCode>REPORT</reportUsage>componentTypeCode>
<results> <entityId>0</entityId>
<dataValue>Asia</dataValue> <entityTypeCode>REPORTGROUP</entityTypeCode>
<dataValue>Asia</dataValue> <<formatKey>DEFAULTDISPLAY</results>formatKey>
<sessionId>eb31d9392a25c8c40995237650837cd5</sessionId> <formatValue>REPORT</formatValue>
<statusCode>SUCCESS</statusCode> <subCategory>Training<<groupId>61250</subCategory>groupId>
<tags>No tags</tags> </filters>
<viewName>New View</viewName> <filters>
</return> </ns2:remoteReportCallResponse> </S:Body>
</S:Envelope> |
手順
Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。
Expand |
---|
|
管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの呼び出しを実行するための基礎的なリクエストです。
Code Block |
---|
|
ReportServiceRequest rsr = new ReportServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
rsr.setOrgId(new Integer(1));
rsr.setReportRequest("FILTEROPTIONS"); |
フィルターを取得するレポートを指定します。
Code Block |
---|
|
rsr.setReportId(70066); |
特定のフィルターを取得する場合は、ObjectNameパラメーターにフィルターIDを提供します。
Code Block |
---|
|
rsr.setObjectName("70081"); |
リクエストを構成したら、呼び出しを実行します。
Code Block |
---|
|
ReportServiceResponse rs=rsc.remoteReportCall(rsr); |
レポートwebサービスを初期化します。実行方法の詳細は、こちらを参照してください。
返される応答には、他のレポート固有のパラメーターとともに、StatusCodeパラメーターが含まれます。詳細は、上記応答パラメーターの表を参照してください。
完成例
以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。
コードをコピーして、「ws_filteroptions.jsp」として保存します。root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。インターネットブラウザから、「http://<host>:<port>/ws_filteroptions.jsp」を実行します。
Code Block |
---|
|
<% <componentId>0</componentId>
<entityId>61250</entityId>
<entityTypeCode>REPORTGROUP</entityTypeCode>
<formatKey>HELPON</formatKey>
<formatValue>true</formatValue>
/*<groupId>61250</groupId>
</filters>
ws_filteroptions.jsp <filters>
*<componentId>0</componentId>
%> <% ReportServiceResponse rs = null; ReportServiceRequest rsr = new ReportServiceRequest();<entityId>61250</entityId>
ReportServiceService ts = new ReportServiceServiceLocator("localhost", 8080, "/services/ReportService", false); ReportServiceSoapBindingStub rssbs<entityTypeCode>REPORTGROUP</entityTypeCode>
= (ReportServiceSoapBindingStub) ts.getReportService(); rsr.setLoginId("admin@yellowfin.com.au"); rsr.setPassword("test"); <formatKey>SUBTABS</formatKey>
rsr.setOrgId(1); rsr.setReportRequest("FILTEROPTIONS"); rsr.setReportId(70066);
<formatValue>OFF</formatValue>
rsr.setObjectName("70081"); <groupId>61250</groupId>
rs = rssbs.remoteReportCall(rsr); </filters>
if ("SUCCESS".equals(rs.getStatusCode())) { <filters>
out.write("Success </br>"); <componentId>0</componentId>
<entityId>61250</entityId>
ReportRow[] rows = rs.getResults(); <entityTypeCode>REPORTGROUP</entityTypeCode>
<formatKey>UNITSELECTION</formatKey>
for (ReportRow r: rows) { <formatValue>OFF</formatValue>
<groupId>61250</groupId>
</filters>
//display filter values: <groupTypeCode>ANALYTIC</groupTypeCode>
<languageCode>EN</languageCode>
<longDescription/>
<owner>1</owner>
<ownerTypeCode>ORGANISATION</ownerTypeCode>
<parentGroupId>0</parentGroupId>
<shortDescription>Sales Performance</shortDescription>
out.write("<br>" + r.getDataValue()[0]);
<startDate>2017-06-26T00:00:00+10:00</startDate>
<statusCode>OPEN</statusCode>
<subCategoryCode>ATHLETES</subCategoryCode>
<subtabs>
} } else { out.write(rs.getStatusCode());<elements>
out.write(rs.toString()); }
%> |
レポート結果セット関数
これらのwebサービスは、レポートにより生成される結果に固有のものです。
Expand |
---|
|
こちらのwebサービスは、指定したレポートの結果データと、レポートのメタデータを取得します。レポートの結果は、書式設定されていないそのままの形式になります。この結果は、ReportRowオブジェクトの配列に保存され、このオブジェクトは、各結果ロウ(行)を表します。そのため、各ロウ(行)に対して、結果データの各カラム(列)のデータを含む文字列の配列が存在します。 注意:このデータを、文字列表現から各特定のカラム(列)のデータ型に変換するのは、webサービスクライアント次第です。各カラム(列)のデータ型は、SCHEMA関数で取得することができます。 例えば、以下は2つのカラム(列)を含み、各ユーザーロールに割り当てられたユーザー数を特定するロール集計レポートを示しています。 ユーザーロール | 人数 | System Administrator | 1 | Consumer & Collaborator | 5 | Report Content Writer | 4 |
こちらのwebサービスは、各ユーザーロールのReportRowオブジェクトを返します。各オブジェクトは、2つのデータ文字列を含みます。ひとつはロール名であり、もうひとつはユーザー数を表示します。 リクエスト要素以下の要素は、こちらのリクエストとともに渡されます。 リクエスト要素 | データ型 | 説明 | LoginId | String | Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 | Password | String | 上記アカウントのパスワードです。 | OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 | ReportRequest | String | webサービス関数です。「RESULTSET」に設定します。 | OrgRef | String | クライアント組織内部参照IDです。(オプション設定) | ReportId | Integer | 結果データを参照するレポートのIDです。 |
リクエストの例以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。 Code Block |
---|
| <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/">
<soapenv:Header/>
<soapenv:Body> <columnNumber>1</columnNumber>
<entityId>60947</entityId>
<entityTypeCode>REPORT</entityTypeCode>
<portletHeight>448</portletHeight>
<portletStatus>RESTORED</portletStatus>
<web:remoteReportCall> <arg0> <rowNumber>3</rowNumber>
<loginId>admin@yellowfin.com.au</loginId> <password>test<<sequenceNumber>1</password>sequenceNumber>
<orgId>1</orgId> <startDate>2017-06-26T00:00:00+10:00</startDate>
<reportRequest>RESULTSET</reportRequest> <reportId>58511</reportId> <tabId>61251</tabId>
</arg0> </web:remoteReportCall> </soapenv:Body>
</soapenv:Envelope> |
応答要素応答には、これらの主要なパラメーターが含まれます。(より詳細な応答パラメーターの一覧は、ReportServiceResponseオブジェクトを参照してください) 応答要素 | データ型 | 説明 | StatusCode | String | Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。 | Results | ReportRow[] | レポートのデータセットの結果を含むオブジェクトの配列です。 |
応答の例サービスは、今回のSOAPの例に基づき、以下の応答を返します。 Code Block |
---|
| <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">elements>
<S:Body> <ns2:remoteReportCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/"> <elements>
<return> <author>System Administrator</author><columnNumber>1</columnNumber>
<authoringMode>JAVA</authoringMode><entityId>61001</entityId>
<averageRunTime>0</averageRunTime><entityTypeCode>REPORT</entityTypeCode>
<canDrill>false</canDrill><portletHeight>363</portletHeight>
<category>Audit Reports</category><portletStatus>RESTORED</portletStatus>
<dashboardEnabled>true</dashboardEnabled><rowNumber>1</rowNumber>
<dataOutput>COLUMN</dataOutput><sequenceNumber>1</sequenceNumber>
<datasource>Yellowfin Configuration Database</datasource> <startDate>2017-06-26T00:00:00+10:00</startDate>
<errorCode>0</errorCode> <tabId>61251</tabId>
<formatCode>REPORTANDCHART</formatCode> <hitCount>4<</hitCount>elements>
<lastModifiedDate>2016-04-13</lastModifiedDate> <elements>
<lastRunDuration>0</lastRunDuration> <lastRunStatus>RUN_NOERROR</lastRunStatus><columnNumber>1</columnNumber>
<messages>Successfully Authenticated User: admin@yellowfin.com.au</messages> <entityId>61097</entityId>
<messages>Loaded Report: 58511 Successfully</messages> <entityTypeCode>REPORT</entityTypeCode>
<messages>Returning RAW Resultset</messages> <messages>Request Contains No ReportFilter Records.<<portletHeight>374</messages>portletHeight>
<messages>Report Run Successfully</messages> <portletStatus>RESTORED</portletStatus>
<messages>Web Service Request Complete</messages> <private>false<<rowNumber>2</private>rowNumber>
<reportDescription/> <sequenceNumber>1</sequenceNumber>
<reportId>58511</reportId> <reportName>Role Population</reportName> <startDate>2017-06-26T00:00:00+10:00</startDate>
<reportTemplate>REPORTANDCHART</reportTemplate> <reportUUID>00c65743-15f8-4f93-ace1-e3d4d2b956eb</reportUUID><tabId>61251</tabId>
<reportUsage>7</reportUsage> </elements>
<results> <elements>
<dataValue>System Administrator</dataValue> <dataValue>1<<columnNumber>1</dataValue>columnNumber>
</results> <entityId>61046</entityId>
<results> <dataValue>Consumer & Collaborator<<entityTypeCode>REPORT</dataValue>entityTypeCode>
<dataValue>5</dataValue> <portletHeight>331</portletHeight>
</results> <sessionId>c958af74f677c4b1f575bd728d3b25d0</sessionId> <portletStatus>RESTORED</portletStatus>
<statusCode>SUCCESS</statusCode> <subCategory>User Access</subCategory><rowNumber>3</rowNumber>
<tags>No tags</tags> <sequenceNumber>2</sequenceNumber>
<viewName>NEW VIEW</viewName> </return> </ns2:remoteReportCallResponse><startDate>2017-06-26T00:00:00+10:00</startDate>
</S:Body> </S:Envelope> |
手順Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。 インターネットブラウザから、「http://<host>:<port>/ws_resultset.jsp」を実行します。
Code Block |
---|
| 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの呼び出しを実行するための基礎的なリクエストです。
Code Block |
---|
| | ReportServiceRequest rsr = new ReportServiceRequest(); rsr.setLoginId("admin@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(new Integer(1)); rsr.setReportRequest("RESULTSET");結果セットを取得するレポートを指定します。 Code Block |
---|
| rsr.setReportId(60712); |
レポートクライアント参照IDを指定することもできます。 Code Block |
---|
| rsr.setReportClientReferenceId("1"); | リクエストを構成したら、呼び出しを実行します。
Code Block |
---|
| ReportServiceResponse rs=rsc.remoteReportCall(rsr); |
レポートwebサービスを初期化します。実行方法の詳細は、こちらを参照してください。 返される応答には、他のレポート固有のパラメーターとともに、StatusCodeと結果パラメーターが含まれます。詳細は、上記応答パラメーターの表を参照してください。
完成例以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。 コードをコピーして、「ws_resultset.jsp」として保存します。root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。<% <tabId>61251</tabId>
/*</elements>
ws_resultset.jsp<elements>
*/ %> <%@ page language="java" contentType="text/html; charset=UTF-8" %> <%@<columnNumber>1</columnNumber>
page import="com.hof.util.*, java.util.*, java.text.*" %> <%@ page import="com.hof.web.form.*" %> <%@ page import="com.hof.mi.web.service.*" %> <%@ page import="javax.xml.bind.JAXBContext" %> <%@ page import="javax.xml.bind.Marshaller" %> <%@<entityId>61067</entityId>
page import="java.io.StringWriter" %> <%@ page import="javax.xml.bind.JAXBElement" %> <%@ page import="javax.xml.namespace.QName" %> <% ReportService rsc = new ReportService();<entityTypeCode>REPORT</entityTypeCode>
//("localhost", 8080, "admin@yellowfin.com.au", "test", "/services/ReportService"); ReportServiceRequest rsr = new ReportServiceRequest(); rsr.setLoginId("admin@yellowfin.com.au");<portletHeight>225</portletHeight>
rsr.setPassword("test"); rsr.setOrgId(new Integer(1)); rsr.setReportRequest("RESULTSET"); rsr.setReportId(60712);
<portletStatus>RESTORED</portletStatus>
rsr.setReportClientReferenceId("1"); ReportServiceResponse rs=rsc.remoteReportCall(rsr); if ("SUCCESS".equals(rs.getStatusCode())) { <rowNumber>3</rowNumber>
JAXBContext context = JAXBContext.newInstance(ReportServiceResponse.class); <sequenceNumber>3</sequenceNumber>
Marshaller m = context.createMarshaller(); <startDate>2017-06-26T00:00:00+10:00</startDate>
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); // To format XML <tabId>61251</tabId>
JAXBElement<ReportServiceResponse> rootElement = new JAXBElement<ReportServiceResponse>(new QName("ReportServiceResponse"), ReportServiceResponse.class, rs); </elements>
m.marshal(rootElement,out); //out.write("Success"); <elements>
} else { out.write("Failure"); out.write(" Code: " + rs.getErrorCode()); <columnNumber>2</columnNumber>
} %> |
|
Expand |
---|
|
こちらのwebサービスは、RESULTSET関数の呼び出しに類似していますが、結果セットをレポートのフォーマッターを使用して返します。 リクエスト要素以下の要素は、こちらのリクエストとともに渡されます。 リクエスト要素 | データ型 | 説明 | LoginId | String | Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 | Password | String | 上記アカウントのパスワードです。 | OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 | ReportRequest | String | webサービス関数です。「FORMATTEDRESULTSET」に設定します。 | OrgRef | String | クライアント組織内部参照IDです。(オプション設定) | ReportId | Integer | 結果データを参照するレポートのIDです。 |
リクエストの例以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。 Code Block |
---|
| <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/">
<soapenv:Header/>
<soapenv:Body> <entityId>61035</entityId>
<entityTypeCode>REPORT</entityTypeCode>
<portletHeight>373</portletHeight>
<web:remoteReportCall> <portletStatus>RESTORED</portletStatus>
<arg0> <loginId>admin@yellowfin.com.au</loginId><rowNumber>2</rowNumber>
<password>test</password><sequenceNumber>1</sequenceNumber>
<orgId>1</orgId> <startDate>2017-06-26T00:00:00+10:00</startDate>
<reportRequest>FORMATTEDRESULTSET</reportRequest> <reportId>58511<<tabId>61251</reportId>tabId>
</arg0> </web:remoteReportCall>elements>
</soapenv:Body> </soapenv:Envelope> |
応答要素応答には、これらの主要なパラメーターが含まれます。(より詳細な応答パラメーターの一覧は、ReportServiceResponseオブジェクトを参照してください) 応答要素 | データ型 | 説明 | StatusCode | String | Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。 | Results | ReportRow[] | レポートのデータセットの結果を含むオブジェクトの配列です。 |
応答の例サービスは、今回のSOAPの例に基づき、以下の応答を返します。 Code Block |
---|
| <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:remoteReportCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/"><endDate>9999-12-31T00:00:00+11:00</endDate>
<return> <filters>
<author>System Administrator</author> <authoringMode>JAVA</authoringMode> <componentId>0</componentId>
<averageRunTime>0</averageRunTime> <canDrill>false<<componentTypeCode>REPORT</canDrill>componentTypeCode>
<category>Audit Reports</category> <entityId>0</entityId>
<dashboardEnabled>true</dashboardEnabled> <dataOutput>COLUMN</dataOutput> <entityTypeCode>REPORTGROUP</entityTypeCode>
<datasource>Yellowfin Configuration Database</datasource> <errorCode>0<<formatKey>DEFAULTDISPLAY</errorCode>formatKey>
<formatCode>REPORTANDCHART</formatCode> <formatValue>SUMMARYCHART</formatValue>
<hitCount>5</hitCount> <lastModifiedDate>2016-04-13</lastModifiedDate> <groupId>61250</groupId>
<lastRunDuration>0</lastRunDuration> <lastRunStatus>RUN_NOERROR</lastRunStatus></filters>
<messages>Successfully Authenticated User: admin@yellowfin.com.au</messages> <filters>
<messages>Loaded Report: 58511 Successfully</messages> <componentId>0</componentId>
<messages>Returning RAW Resultset</messages> <messages>Request Contains No ReportFilter Records.<<componentTypeCode>REPORT</messages>componentTypeCode>
<messages>Report Run Successfully</messages> <entityId>0</entityId>
<messages>Web Service Request Complete</messages> <private>false<<entityTypeCode>REPORTGROUP</private>entityTypeCode>
<reportDescription/> <formatKey>DEFAULTDISPLAY</formatKey>
<reportId>58511</reportId> <reportName>Role Population</reportName> <formatValue>SUMMARYCHART</formatValue>
<reportTemplate>REPORTANDCHART</reportTemplate> <reportUUID>00c65743-15f8-4f93-ace1-e3d4d2b956eb</reportUUID><groupId>61250</groupId>
<reportUsage>9</reportUsage> </filters>
<results> <filters>
<dataValue>System Administrator</dataValue> <dataValue>1<<componentId>0</dataValue>componentId>
</results> <componentTypeCode>REPORT</componentTypeCode>
<results> <dataValue>Consumer & Collaborator<<entityId>0</dataValue>entityId>
<dataValue>5</dataValue> <entityTypeCode>REPORTGROUP</entityTypeCode>
</results> <sessionId>1e4f0c8ee07d24a5500f952a459b1652</sessionId><formatKey>DEFAULTDISPLAY</formatKey>
<statusCode>SUCCESS</statusCode> <formatValue>SUMMARYCHART</formatValue>
<subCategory>User Access</subCategory> <tags>No tags<<groupId>61250</tags>groupId>
<viewName>NEW VIEW</viewName> </filters>
</return> </ns2:remoteReportCallResponse> </S:Body>
</S:Envelope> |
手順Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。 Expand |
---|
|
|
管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの呼び出しを実行するための基礎的なリクエストです。
Code Block |
---|
|
ReportServiceRequest rsr = new ReportServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
rsr.setOrgId(new Integer(1));
rsr.setReportRequest("FORMATTEDRESULTSET"); |
書式設定された結果セットを取得するレポートを指定します。
Code Block |
---|
|
rsr.setReportId(60712); |
レポートクライアント参照IDを指定することができます。
Code Block |
---|
|
rsr.setReportClientReferenceId("1"); |
リクエストを構成したら、呼び出しを実行します。
Code Block |
---|
|
ReportServiceResponse rs=rsc.remoteReportCall(rsr); |
レポートwebサービスを初期化します。実行方法の詳細は、こちらを参照してください。
返される応答には、他のレポート固有のパラメーターとともに、StatusCodeと結果パラメーターが含まれます。詳細は、上記応答パラメーターの表を参照してください。
完成例
以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。
コードをコピーして、「ws_resultset.jsp」として保存します。root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。インターネットブラウザから、「http://<host>:<port>/ws_resultset.jsp」を実行します。
Code Block |
---|
|
<% <filters>
<componentId>61035</componentId>
<componentTypeCode>REPORT</componentTypeCode>
<entityId>0</entityId>
<entityTypeCode>REPORTGROUP</entityTypeCode>
<formatKey>DEFAULTDISPLAY</*formatKey>
ws_resultset.jsp <formatValue>CHART</formatValue>
*/ %> <%@ 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.*" %>
<%@ page import="javax.xml.bind.JAXBContext" %>
<%@ page import="javax.xml.bind.Marshaller" %>
<%@ page import="java.io.StringWriter" %>
<%@ page import="javax.xml.bind.JAXBElement" %>
<%@ page import="javax.xml.namespace.QName" %>
<% <groupId>61250</groupId>
</filters>
ReportService rsc<filters>
= new ReportService(); //("localhost", 8080, "admin@yellowfin.com.au", "test", "/services/ReportService"); ReportServiceRequest rsr = new ReportServiceRequest(); <componentId>61067</componentId>
rsr.setLoginId("admin@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(new Integer(1)); rsr.setReportRequest("FORMATTEDRESULTSET"); <componentTypeCode>REPORT</componentTypeCode>
rsr.setOrgRef("1"); rsr.setReportId(60712); rsr.setReportClientReferenceId("1"); ReportServiceResponse rs=rsc.remoteReportCall(rsr); <entityId>0</entityId>
if ("SUCCESS".equals(rs.getStatusCode())) { <entityTypeCode>REPORTGROUP</entityTypeCode>
JAXBContext context = JAXBContext.newInstance(ReportServiceResponse.class); Marshaller m = context.createMarshaller(); <formatKey>DEFAULTDISPLAY</formatKey>
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); // To format XML <formatValue>SUMMARYCHART</formatValue>
JAXBElement<ReportServiceResponse> rootElement = new JAXBElement<ReportServiceResponse>(new QName("ReportServiceResponse"), ReportServiceResponse.class, rs); <groupId>61250</groupId>
m.marshal(rootElement,out); //out.write("Success");</filters>
} else { out.write("Failure");<filters>
out.write(" Code: " + rs.getErrorCode()); } <componentId>61097</componentId>
%> |
その他
Expand |
---|
|
こちらの関数は、受信者の電子メールアドレスにレポートを送信します。 リクエスト要素以下の要素は、こちらのリクエストとともに渡されます。 リクエスト要素 | データ型 | 説明 | LoginId | String | Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 | Password | String | 上記アカウントのパスワードです。 | OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 | ReportRequest | String | webサービス関数です。「SENDTOEMAIL」に設定します。 | OrgRef | String | クライアント組織の内部参照IDを指定するためのオプションパラメーターです。 | ReportId | Integer | 電子メール送信されるレポートの内部IDです。 | ReportsOption | String[] | レポート送信先となる電子メールアドレスの一覧です。 | AlterationCommand | | | SessionId | Integer | (オプション設定)IDを使用して以前のセッションを指定します。 | LanguageCode | | (オプション設定)言語を指定します。 |
リクエストの例以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。 Code Block |
---|
| <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/">
<soapenv:Header/>
<soapenv:Body> <componentTypeCode>REPORT</componentTypeCode>
<entityId>0</entityId>
<entityTypeCode>REPORTGROUP</entityTypeCode>
<formatKey>DEFAULTDISPLAY</formatKey>
<web:remoteReportCall> <formatValue>REPORT</formatValue>
<arg0> <loginId>admin@yellowfin.com.au</loginId><groupId>61250</groupId>
<password>test</password> </filters>
<orgId>1</orgId> <filters>
<reportRequest>SENDTOEMAIL</reportRequest> <reportId>70012</reportId> <componentId>0</componentId>
<alterationCommand>drill-down|70012</alterationCommand> <reportOptions> <entityId>61250</entityId>
<string>binish.sheikh@yellowfin.com.au</string> <entityTypeCode>REPORTGROUP</entityTypeCode>
</reportOptions> </arg0> <formatKey>HELPON</formatKey>
</web:remoteReportCall> </soapenv:Body> </soapenv:Envelope> |
応答要素応答には、これらのパラメーターが含まれます。 応答要素 | データ型 | 説明 | StatusCode | String | Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。 |
応答の例サービスは、今回のSOAPの例に基づき、以下の応答を返します。 Code Block |
---|
| <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:remoteReportCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/"> <formatValue>true</formatValue>
<return> <groupId>61250</groupId>
<author>System Administrator</author> <authoringMode>JAVA<</authoringMode>filters>
<averageRunTime>0</averageRunTime> <filters>
<canDrill>false</canDrill> <category>Tutorial</category><componentId>0</componentId>
<dashboardEnabled>true</dashboardEnabled><entityId>61250</entityId>
<dataOutput>COLUMN</dataOutput><entityTypeCode>REPORTGROUP</entityTypeCode>
<datasource>Ski Team</datasource> <formatKey>SUBTABS</formatKey>
<errorCode>0</errorCode> <formatCode>CHART<<formatValue>OFF</formatCode>formatValue>
<hitCount>3</hitCount> <groupId>61250</groupId>
<lastModifiedDate>2018-03-07</lastModifiedDate> <lastRunDuration>0<</lastRunDuration>filters>
<messages>Successfully Authenticated User: admin@yellowfin.com.au</messages> <filters>
<messages>Loaded Report: 70012 Successfully</messages> <componentId>0</componentId>
<messages>Web Service Request Complete</messages> <preRunFilterString><![CDATA[<div class="rptFilterLogicText">
<span class="rptFilterLogicIdentifier">Invoiced Date</span>
Between
<span class="rptFilterLogicIdentifier">Current Date - 6 Years And Current Date</span>
</div>
.
.
.
]]></preRunFilterString>
<entityId>61250</entityId>
<entityTypeCode>REPORTGROUP</entityTypeCode>
<private>false</private> <formatKey>UNITSELECTION</formatKey>
<reportDescription>This report provides a high level summary of campaigns</reportDescription> <reportId>70012<<formatValue>OFF</reportId>formatValue>
<reportName>Campaign Summary</reportName> <groupId>61250</groupId>
<reportTemplate>CHART</reportTemplate> <reportUUID>3e842fae-02f7-4ad3-a632-ca267e0078da</reportUUID></filters>
<reportUsage>100</reportUsage> <groupTypeCode>SUBTAB</groupTypeCode>
<sessionId>fa0cc79a9ea229bd5df85b4a7f50c878</sessionId> <statusCode>SUCCESS</statusCode><languageCode>EN</languageCode>
<subCategory>Marketing & Booking<<owner>0</subCategory>owner>
<tags>No tags</tags> <parentGroupId>0</parentGroupId>
<viewName>New View</viewName> <shortDescription>New <Tab</return>shortDescription>
</ns2:remoteReportCallResponse> </S:Body> </S:Envelope> |
手順Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。 インターネットブラウザから、「http://<host>:<port>/ws_sendtoemail.jsp」を実行します。
Code Block |
---|
| 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの呼び出しを実行するための基礎的なリクエストです。
Code Block |
---|
| | ReportServiceRequest rsr = new ReportServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
rsr.setOrgId(new Integer(1));
rsr.setReportRequest("SENDTOEMAIL");レポートの保存されているクライアント組織を指定する必要がある場合は、こちらのコードを追加します。 Code Block |
---|
| rsr.setOrgRef("org1");<startDate>2017-06-26T00:00:00+10:00</startDate>
<statusCode>OPEN</ /statusCode>
search for the report in this client org電子メール送信するレポートと、その変更コマンドを指定します。 Code Block |
---|
| rsr.setReportId(60712); rsr.setAlterationCommand("drill-down|60712");レポートの送信先となる電子メールアドレスを提供します。 Code Block |
---|
| rsr.setReportOptions(new String[]{ "dummy@dummy.com"});リクエストを構成したら、呼び出しを実行します。
Code Block |
---|
| ReportServiceResponse rs=rsc.remoteReportCall(rsr); |
レポートwebサービスを初期化します。実行方法の詳細は、こちらを参照してください。 返される応答には、次のパラメーターが含まれます:StatusCode、Dashboard、Subtabs。(より詳細な情報は、上記応答パラメーターの表を参照してください)
完成例以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。 コードをコピーして、「ws_sendtoemail.jsp」として保存します。root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。/* <styleCode>TWO</styleCode>
<tabId>61251</tabId>
</subtabs>
<tabId>61250</tabId>
</dashboard>
ws_sendtoemail.jsp<dashboardEnabled>false</dashboardEnabled>
*<errorCode>0</errorCode>
<%@ 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.*" %>
<%@ page import="javax.xml.bind.JAXBContext" %>
<%@ page import="javax.xml.bind.Marshaller" %>
<%@ page import="java.io.StringWriter" %>
<%@ page import="javax.xml.bind.JAXBElement" %>
<%@ page import="javax.xml.namespace.QName" %>
<% <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
<messages>Attempting to Load Dashboard Tab: 61251</messages>
<messages>Web Service Request Complete</messages>
<private>false</private>
ReportService rsc = new ReportService(); //("localhost", 8080, "admin@yellowfin.com.au", "test", "/services/ReportService");<sessionId>af433c1d0f0cffa9d3a7e1ef8c72abf6</sessionId>
ReportServiceRequest rsr = new ReportServiceRequest(); rsr.setLoginId("admin@yellowfin.com.au");<statusCode>SUCCESS</statusCode>
rsr.setPassword("test"); rsr.setOrgId(new Integer(1));</return>
rsr.setReportRequest("SENDTOEMAIL");</ns2:remoteReportCallResponse>
rsr.setOrgRef("1");
rsr.setReportId(60712);
rsr.setAlterationCommand("drill-down|60712");
</S:Body>
</S:Envelope> |
手順Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。 Expand |
---|
| setReportOptions(new String[]{ "dummy@dummysetLoginId("admin@yellowfin.com.au" |
} setReportClientReferenceId1
setDashboardTabId70080);
ReportServiceResponse rs=rsc.remoteReportCall(rsr if SUCCESS".equals(rs.getStatusCode())) {
JAXBContext context = JAXBContext.newInstance(ReportServiceResponse.class);
Marshaller m = context.createMarshaller(); |
完成例以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。 - コードをコピーして、「ws_loadparentdashboardtab.jsp」として保存します。
- root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
- 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
- インターネットブラウザから、「http://<host>:<port>/ws_loadparentdashboardtab.jsp」を実行します。
Code Block |
---|
| /* m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); // To format XMLws_loadparentdashboardtab.jsp . */
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ JAXBElement<ReportServiceResponse> rootElement = new JAXBElement<ReportServiceResponse>(new QName("ReportServiceResponse"), ReportServiceResponse.class, rs);
m.marshal(rootElement,out);
//out.write("Success");
} else {
out.write("Failure");
out.write(" Code: " + rs.getErrorCode());
}
%> |
|
Expand |
---|
|
webサービスレポートのレポートからのインタラクションを処理します。こちらの関数は、レポートページの変更、ドリルスルー、ドリルダウン、ドリルエニウェアの実行、シリーズ選択の変更など、レポートでのインタラクションに使用します。 AlterationCommandパラメーターは、レポートに組み込まれたテキストコードであり、レポートを変更するためにwebサービスに戻すことができます。 リクエスト要素以下の要素は、こちらのリクエストとともに渡されます。 リクエスト要素 | データ型 | 説明 | LoginId | String | Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。 このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。 | Password | String | 上記アカウントのパスワードです。 | OrgId | Integer | Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。 | ReportRequest | String | webサービス関数です。「COMMAND」に設定します。 | OrgRef | String | クライアント組織の内部参照IDです。(オプション設定) | ReportId | Integer | 処理をするレポートのIDです。 | AlterationCommand | String | レポートに適用するコマンドです。これは、レポートの変更方法を指定します。このパラメーターは、レポートに組み込まれたテキストコードです。レポート詳細取得時に、この値をwebサービスに渡すことでレポートを変更することができます。 | CommandHistory | String | (オプション設定)パイプされたコマンドの一覧です。(レポートがセッションから消去されている場合、コマンドを順番に適用します) | SessionID | String | (オプション設定)以前のセッションのIDです。 | LanguageCode | String | (オプション設定)言語を指定します。 |
応答要素応答には、これらのパラメーターが含まれます。 応答要素 | データ型 | 説明 | StatusCode | String | Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。 |
手順Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。 インターネットブラウザから、「http://<host>:<port>/ws_command_report.jsp」を実行します。
Code Block |
---|
| 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの呼び出しを実行するための基礎的なリクエストです。
Code Block |
---|
| | page import="com.hof.util.*, java.util.*, java.text.*" %>
<%@ page import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%@ page import="javax.xml.bind.JAXBContext" %>
<%@ page import="javax.xml.bind.Marshaller" %>
<%@ page import="java.io.StringWriter" %>
<%@ page import="javax.xml.bind.JAXBElement" %>
<%@ page import="javax.xml.namespace.QName" %>
<%
ReportService rsc = new ReportService(); //("localhost", 8080, "admin@yellowfin.com.au", "test", "/services/ReportService");
ReportServiceRequest rsr = new ReportServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
rsr.setOrgId(new Integer(1));
rsr.setReportRequest(" COMMANDLOADPARENTDASHBOARDTAB"); レポートの保存されているクライアント組織を指定する必要がある場合は、こちらのコードを追加します。 Code Block |
---|
| rsr.setReportClientReferenceId
rsr.setOrgRef("1"); レポートに適用するコマンドを追加します。 Code Block |
---|
|
rsr.setReportId(60712);
rsr.setAlterationCommand(" DRILLDOWNdrill-down|60712 |53655|RXVyb3Bl"); 必要に応じて、以前のリクエストからセッションIDを渡します。 Code Block |
---|
| rsr.setSessionId("ce509806176f6a0563767bfb0b2bb36f"); | リクエストを構成したら、呼び出しを実行します。
Code Block |
---|
|
rsr.setReportClientReferenceId("1");
rsr.setDashboardTabId(70080);
ReportServiceResponse rs=rsc.remoteReportCall(rsr); レポートwebサービスを初期化します。実行方法の詳細は、こちらを参照してください。 返される応答には、他の固有なパラメーターとともに、StatusCodeパラメーターが含まれます。詳細は、上記応答パラメーターの表を参照してください。
完成例以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。 コードをコピーして、「ws_command_report.jsp」として保存します。root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。<%@page import="com.thoughtworks.xstream.io.xml.StaxDriver"%>
<%@ 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.*" %>
<%@ page import="javax.xml.bind.JAXBContext" %>
<%@ page import="javax.xml.bind.Marshaller" %>
<%@ page import="java.io.StringWriter" %>
<%@ page import="javax.xml.bind.JAXBElement" %>
<%@ page import="javax.xml.namespace.QName" %>
<%
ReportService rsc = new ReportService(); //("localhost", 8080, "admin@yellowfin.com.au", "test", "/services/ReportService");
ReportServiceRequest rsr = new ReportServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
if ("SUCCESS".equals(rs.getStatusCode())) {
JAXBContext context = JAXBContext.newInstance(ReportServiceResponse.class);
Marshaller m = context.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); // To format XML
JAXBElement<ReportServiceResponse> rootElement = new JAXBElement<ReportServiceResponse>(new QName("ReportServiceResponse"), ReportServiceResponse.class, rs);
m.marshal(rootElement,out);
//out.write("Success");
} else {
out.write("Failure");
out.write(" Code: " + rs.getErrorCode());
}
%> |
|
Expand |
---|
title | APPLYDASHBOARDFILTERS |
---|
|
これを実行するコードは、以下の通りです。 Code Block |
---|
| ReportServiceRequest rsr = new ReportServiceRequest();
ReportServiceResponse rs = null;
DashboardFilter[] dfarray = null;
DashboardFilter df = new DashboardFilter();
rsr.setLoginId(this.username);
rsr.setPassword(this.password);
// This is the primary organization
rsr.setOrgId(new Integer(1));
rsr.setReportRequest("COMMANDAPPLYDASHBOARDFILTERS");
// This is rsr.setReportId(60712);
rsr.setAlterationCommand("DRILLDOWN|60712|53655|RXVyb3Bl"the ID of the dashboard tab
rsr.setDashboardTabId(11111);
df.setTabId(11111);
df.setReportId(12121);
rsr.setReportClientReferenceId("1df.setFilterId(33333);
df.setFilterType("BETWEEN");
rsr.setSessionIddf.setFilterValue("ce509806176f6a0563767bfb0b2bb36f120|150");
dfarray[0] = ReportServiceResponse rs=rsc.remoteReportCall(rsrdf;
rsr.setDashboardFilters(dfarray);
rs
if ("SUCCESS".equals(rs.getStatusCode())) {
%> <xmp> <%
JAXBContext context = JAXBContext.newInstance(ReportServiceResponse.class);
Marshaller m = context.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE= ReportService.remoteReportCall(rsr); |
|
Expand |
---|
title | GETDASHBOARDREPORTFILTERVALUES |
---|
|
GETDASHBOARDREPORTFILTERVALUESリクエストは、ダッシュボードタブ上の特定のレポートのフィルターメタデータを返します。 これを実行するコードは、以下の通りです。 Code Block |
---|
| ReportServiceRequest rsr = new ReportServiceRequest();
ReportServiceResponse rs = null;
ReportFilter[] rf = null;
rsr.setLoginId(this.username);
rsr.setPassword(this.password);
// ToThis formatis XMLthe primary JAXBElement<ReportServiceResponse> rootElement = new JAXBElement<ReportServiceResponse>(new QName("ReportServiceResponse"), ReportServiceResponse.class, rs);
m.marshal(rootElement,out);
%></xmp><%
//out.write("Success");
} else {
out.write("Failure");
out.write(" Code: " + rs.getErrorCode());
}
%>organization
rsr.setOrgId(new Integer(1));
rsr.setReportRequest("GETDASHBOARDREPORTFILTERVALUES");
// This is the ID of the dashboard tab
rsr.setDashboardTabId(11111);
rsr.setReportId(22222);
rs = ReportService.remoteReportCall(rsr);
rf = rs.getReportFilters(); |
返されるReportServiceResponseオブジェクトの構成は、以下の通りです。 応答要素 | データ型 | 説明 | 取得コード | ReportFilters | Array (ReportFilter) | 各フィルターのメタデータを含むFilterオブジェクトの配列です(ReportFilterを参照してください)。 | getReportFilters()
|
|
Expand |
---|
|
RUNDASHBOARDREPORTリクエストは、ダッシュボードタブ上の指定したレポートを実行し、エクスポートします。応答はグラフ、GISマップ、CSSスタイルを含む、Base64でエンコードされたHTMLが含まれます。 これを実行するコードは、以下の通りです。 Code Block |
---|
| ReportServiceRequest rsr = new ReportServiceRequest();
ReportServiceResponse rs = null;
rsr.setLoginId(this.username);
rsr.setPassword(this.password);
// This is the primary organization
rsr.setOrgId(new Integer(1));
rsr.setReportRequest("RUNDASHBOARDREPORT");
// This is the ID of the dashboard tab
rsr.setDashboardTabId(11111);
rsr.setReportId(22222);
rs = ReportService.remoteReportCall(rsr); |
返されるReportServiceResponseオブジェクトの構成は、以下の通りです。 応答要素 | データ型 | 説明 | 取得コード | BinaryData | String | Base64でエンコードされたHTMLのバイナリーチャンクです。 | getBinaryData()
| Charts | Array (ReportChart) | ReportChartオブジェクトの配列です(ReportChartを参照してください)。 | getCharts()
| ReportStyle | String | CSSスタイルです。 | GetReportStyle()
| Breadcrumbs | Array(Breadcrumb) | Breadcrumbオブジェクトの配列です。 | getBreadcrumbs()
| GoogleMaps | Array(GMap) | レポートのグラフが使用している場合のGoogleMapsオブジェクトの配列です。 | getGoogleMaps()
| GisMap | Array(GISMap) | レポートのグラフが使用している場合のGISMapオブジェクトの配列です。 | getGisMap() |
|