30日間の無料評価版をお試しいただけます。


これらのレポートwebサービスは、HTML、PDF、XLS、DOCなど、特定の書式でレポートを返すことができます。PRINT関数は、印刷可能な書式でレポートを返します。



HTMLリクエストは、HTMLで表現したレポートを返します。HTMLドキュメントはBase64でエンコードされ、BinaryDataパラメーター内に保存されます。レポートのグラフとイメージは、Chartパラメーターの配列に保存されます。これらのアーティファクトは、クライアントシステムにより手動でデコードする必要があります。また、URLリクエスト文字列は、Base64イメージのデコードのために、HTML内にURLを埋め込むために使用されます。

HTMLに関連するwebサービスは3つあり、それぞれわずかに異なるHTMLドキュメントを表示します。

    • HTML:グラフと表の両方が存在する場合に、これをHTML書式で返します。
    • HTMLCHARTONLY:レポート内のグラフのみをHTML書式で返します。
    • HTMLTABLEONLY:レポートの表のみをHTML書式で返します。


リクエスト要素

以下の要素は、こちらのリクエストとともに渡されます。

リクエスト要素データ型説明

LoginId

String

Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。

このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。

Password

String

上記アカウントのパスワードです。

OrgId

Integer

Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。

ReportRequestStringwebサービス関数です。「HTML」、「HTMLCHARTONLY」、または「HTMLTABLEONLY」に設定します。
ReportIdIntegerHTML書式で返すレポートを指定するための内部IDです。
ReportUserIdStringオプション設定。レポートユーザーのIDです。これは、ユーザーの詳細情報によりレポートを実行することで、アクセスフィルターを通して、ユーザーがアクセスできるデータのみを表示します。


リクエストの例

以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。

<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>HTML</reportRequest>
            <reportId>58511</reportId>
            </arg0>
      </web:remoteReportCall>
   </soapenv:Body>
</soapenv:Envelope>


応答要素

応答には、これらの主要なパラメーターが含まれます。

応答要素

データ型説明取得コード

Chart

ReportChart[]

HTMLレポート応答に付加される、複数のグラフビットマップを含むReportChartオブジェクトの配列です。

getCharts()

ReportBinaryObject

ReportBinaryObject[]

BLOB、およびCLOBを含む、ReportBinaryObjectオブジェクトの配列です。

getBinaryObjects()

ReportStyles

String

CSSスタイルです。

getReportStyles()

Breadcrumbs

Breadcrumb[]

Breadcrumbオブジェクトの配列です。

getBreadcrumbs()

SeriesSelection

SeriesSelection[]

SeriesSelectionオブジェクトの配列です。

getSeriesSelections()

TimeAggregationSelection

TimeAggregationSelection[]

TimeAggregationSelectionオブジェクトの配列です。

getTimeAggregationSelection()

ReportTabSelection

ReportTabSelection[]

ReportTabSelectionオブジェクトの配列です。

getReportTabSelection()

ReportPageSelection

ReportPageSelection[]

ReportPageSelectionオブジェクトの配列です。

getReportPageSelection()

TimeSliderSelection

TimeSliderSelection[]

TimeSliderSelectionオブジェクトの配列です。

getTimeSliderSelection()

SortableColumns

SortableTableColumn[]

SortableTableColumnオブジェクトの配列です。

getSortableColumns()

SelectedSortColumn

Integer

並べかえに使用するカラム(列)です。このインデックスは、レポート内のカラム(列)インデックスに適用されます。

getSelectedSortColumn()

SelectedSortOrder

Integer

並べかえに使用するカラム(列)の並べかえ順序です(0が昇順、1が降順です)。

getSelectedSortOrder()

DrillCode

String

レポートで使用可能な場合の、ドリルタイプです。

getDrillCode()

RelatedReports

RelatedReport[]

RelatedReportオブジェクトの配列です。これは、メインレポートにタブ化、またはマルチ表示されるレポートです。

getRelatedReports()

BinaryData

String

Base64でエンコードされた、HTMLドキュメントのバイナリーチャンクです。

getBinaryData()

Private


レポートが非公開、または公開のどちらであるかを定義します。

getPrivate()

ContentType

String

返されるオブジェクトのMIME ContentTypeです。値は「text / html」です。

getContentType()

CanDrill

Boolean

レポートのドリル可否です。

getCanDrill()

GoogleMaps

GMap

GMapオブジェクトの配列です。

getGoogleMaps()


応答の例

サービスは、今回のSOAPの例に基づき、以下の応答を返します。

<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>
            <binaryData>PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KLm11bHRpV2lkZ2V0Q2FudmFzRWRpdG9yIH ... </binaryData>
            <canDrill>false</canDrill>
            <category>Audit Reports</category>
            <charts>
               <contentType>image/gif</contentType>
               <data>R0lGODlhBwAEAIABAP///////yH5BAEAAAEALAAAAAAHAAQAAAIIhA+BGWoNWSgAOw== ... </data>
               <filename>FS_images_rpt_dd_active_down_gif</filename>
               <reportIndex>FS_images_rpt_dd_active_down_gif</reportIndex>
            </charts>
            <charts>
               <contentType>image/gif</contentType>
               <data>R0lGODlhBwAEAIABABo/V////yH5BAEAAAEALAAAA ... </data>
               <filename>FS_images_rpt_dd_menu_on_gif</filename>
               <reportIndex>FS_images_rpt_dd_menu_on_gif</reportIndex>
            </charts>
            <charts>
               <contentType>image/png</contentType>
               <data>iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAYAAACadoJ ... </data>
               <filename>img0-58511-58512-0</filename>
               <reportIndex>img0-58511-58512-0</reportIndex>
            </charts>
            <contentType>text/html</contentType>
            <dashboardEnabled>true</dashboardEnabled>
            <dataOutput>COLUMN</dataOutput>
            <datasource>Yellowfin Configuration Database</datasource>
            <drillCode>NODRILL</drillCode>
            <errorCode>0</errorCode>
            <formatCode>REPORTANDCHART</formatCode>
            <hitCount>8</hitCount>
            <lastModifiedDate>2016-04-13</lastModifiedDate>
            <lastRunDuration>0</lastRunDuration>
            <lastRunStatus>RUN_NOERROR</lastRunStatus>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Loaded Report: 58511 Successfully</messages>
            <messages>Generating HTML Report</messages>
            <messages>Request Contains No ReportFilter Records.</messages>
            <messages>Report Run Successfully</messages>
            <messages>Web Service Request Complete</messages>
            <private>false</private>
            <relatedReports/>
            <reportDescription/>
            <reportId>58511</reportId>
            <reportName>Role Population</reportName>
            <reportStyle>td.rpthdrcol {
   position: relative;
}
img.rptcolmenu {
   position: absolute;
   right: 5px;
   top: 0;
   bottom: 0;
   margin: auto 0;
   cursor: pointer;
}
td.rpthdrcol div.rptdata {
   padding-right: 20px;
}
td.reportChartCell {
   vertical-align: top;
}
div.reportChart {
   position: relative;
   display: inline-block;
}
img.reportChart {
   position: absolute;
   left: 0;
   top: 0;
}
.
.
.
</reportStyle>
            <reportTemplate>REPORTANDCHART</reportTemplate>
            <reportUUID>00c65743-15f8-4f93-ace1-e3d4d2b956eb</reportUUID>
            <reportUsage>14</reportUsage>
            <selectedSortColumn>-1</selectedSortColumn>
            <selectedSortOrder>0</selectedSortOrder>
            <sessionId>c4ae62bf45978bf6910c1f4c81c478b0</sessionId>
            <sortableColumns/>
            <sortableColumns/>
            <statusCode>SUCCESS</statusCode>
            <subCategory>User Access</subCategory>
            <tags>No tags</tags>
            <viewName>NEW VIEW</viewName>
         </return>
      </ns2:remoteReportCallResponse>
   </S:Body>
</S:Envelope>


手順

Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。

  • 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの呼び出しを実行するための基礎的なリクエストです。

    ReportServiceRequest rsr = new ReportServiceRequest();
      
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
     
    rsr.setReportRequest("HTML");
  • レポートの保存されているクライアント組織を指定する必要がある場合は、こちらのコードを追加します。


    rsr.setOrgRef("org1");      // search for the report in this client org
  • HTML書式に変換するレポートを指定します。


    rsr.setReportId(60712);
  • リクエストを構成したら、呼び出しを実行します。

    ReportServiceResponse rs=rsc.remoteReportCall(rsr);

    レポートwebサービスを初期化します。実行方法の詳細は、こちらを参照してください。


  • 返される応答には、レポートに関連するパラメーターが含まれます。(より詳細な情報は、上記応答パラメーターの表を参照してください)


完成例

以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。

  1. コードをコピーして、「ws_htmlreport.jsp」として保存します。
  2. root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
  3. 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
  4. インターネットブラウザから、「http://<host>:<port>/ws_htmlreport.jsp」を実行します。

/*              ws_htmlreport.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("HTML");
    rsr.setOrgRef("1");
    rsr.setReportId(60712);
    rsr.setReportClientReferenceId("1");
    ReportServiceResponse rs=rsc.remoteReportCall(rsr);
    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());
    }
%>

こちらの関数は、指定したレポートをXLS、またはXLSX書式(Excelスプレッドシート)で返します。


リクエスト要素

以下の要素は、こちらのリクエストとともに渡されます。

リクエスト要素データ型説明

LoginId

String

Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。

このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。

Password

String

上記アカウントのパスワードです。

OrgId

Integer

Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。

ReportRequestStringwebサービス関数です。「XLSX」、または「XLS」に設定します。
ReportIdIntegerXLSX/XLS書式で返すレポートを指定するための内部IDです。
ReportUserIdStringオプション設定。レポートユーザーのIDです。これは、ユーザーの詳細情報によりレポートを実行することで、アクセスフィルターを通して、ユーザーがアクセスできるデータのみを表示します。


リクエストの例

以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。

<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>XLSX</reportRequest>
            <reportId>56401</reportId>
         </arg0>
      </web:remoteReportCall>
   </soapenv:Body>
</soapenv:Envelope>


応答要素

応答には、これらの主要なパラメーターが含まれます。

応答要素データ型説明
StatusCodeString

webサービスのステータスです。選択肢は、以下の通りです。

  • SUCCESS
  • FAILURE

ReportId

Integer

指定したレポートのIDです。

ReportName

String

指定したレポートの名前です。

HitCount

Integer

指定したレポートがアクセスされた回数です。

FormatCode

String

指定されたレポートの書式コードです。

BinaryData

String

Base64でエンコードされたXLSX、またはXLSのバイナリーチャンクです。

ContentType

String

このオブジェクトのMIMEコンテンツタイプです。値は「application/vnd.openxmlformats-officedocument.spreadsheetml.sheet」になります。


応答の例

サービスは、今回のSOAPの例に基づき、以下の応答を返します。

<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>
            <binaryData>UEsDBBQACAgIAJUKa0wAAAAAAAAAAAAAAAALAAAAX3JlbHMvLnJlb ...</binaryData>
            <canDrill>false</canDrill>
            <category>Audit Reports</category>
            <contentType>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</contentType>
            <dashboardEnabled>true</dashboardEnabled>
            <dataOutput>COLUMN</dataOutput>
            <datasource>Yellowfin Configuration Database</datasource>
            <errorCode>0</errorCode>
            <formatCode>REPORTANDCHART</formatCode>
            <hitCount>25</hitCount>
            <lastModifiedDate>2016-03-29</lastModifiedDate>
            <lastRunDuration>0</lastRunDuration>
            <lastRunStatus>RUN_NOERROR</lastRunStatus>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Loaded Report: 56401 Successfully</messages>
            <messages>Generating XLS Report</messages>
            <messages>Request Contains No ReportFilter Records.</messages>
            <messages>Report Run Successfully</messages>
            <messages>Web Service Request Complete</messages>
            <preRunFilterString><![CDATA[<div class="rptFilterLogicText">
<span class="rptFilterLogicIdentifier">Active Session Start</span>
Is Not Null
<span class="rptFilterLogicIdentifier"></span>
</div>]]></preRunFilterString>
            <private>false</private>
            <reportDescription/>
            <reportId>56401</reportId>
            <reportName>Active Sessions</reportName>
            <reportTemplate>REPORTANDCHART</reportTemplate>
            <reportUUID>594d4da4-1b58-44d3-bf4f-11456a42f68c</reportUUID>
            <reportUsage>26</reportUsage>
            <sessionId>18097e8275689f88876f004a07935a7c</sessionId>
            <statusCode>SUCCESS</statusCode>
            <subCategory>Admin Reports</subCategory>
            <tags>No tags</tags>
            <viewName>NEW VIEW</viewName>
         </return>
      </ns2:remoteReportCallResponse>
   </S:Body>
</S:Envelope>   


手順

Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。

  • 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの呼び出しを実行するための基礎的なリクエストです。

    ReportServiceRequest rsr = new ReportServiceRequest();
      
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
     
    rsr.setReportRequest("XLSX");
  • レポートの保存されているクライアント組織を指定する必要がある場合は、こちらのコードを追加します。


    rsr.setOrgRef("org1");      // search for the report in this client org
  • XLSX書式に変換するレポートを指定します。


    rsr.setReportId(60712);
  • リクエストを構成したら、呼び出しを実行します。

    ReportServiceResponse rs=rsc.remoteReportCall(rsr);

    レポートwebサービスを初期化します。実行方法の詳細は、こちらを参照してください。


  • 返される応答には、StatusCode、ReportID、BinaryDataなどのパラメーターが含まれます。(より詳細な情報は、上記応答パラメーターの表を参照してください)


完成例

以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。

  1. コードをコピーして、「ws_xlsxreport.jsp」として保存します。
  2. root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
  3. 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
  4. インターネットブラウザから、「http://<host>:<port>/ws_xlsxreport.jsp」を実行します。

/*              ws_xlsxreport.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("XLSX");
    rsr.setOrgRef("1");
    rsr.setReportId(60712);
    rsr.setReportClientReferenceId("1");
    ReportServiceResponse rs=rsc.remoteReportCall(rsr);
    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());
    }
%>

こちらの関数は、指定したレポートをDOC、またはDOCX書式(Microsoft Word)で返します。


リクエスト要素

以下の要素は、こちらのリクエストとともに渡されます。

リクエスト要素データ型説明

LoginId

String

Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。

このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。

Password

String

上記アカウントのパスワードです。

OrgId

Integer

Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。

ReportRequestStringwebサービス関数です。「DOCX」、または「DOC」に設定します。
ReportIdIntegerDOCX/DOC書式で返すレポートを指定するための内部IDです。
ReportUserIdStringオプション設定。レポートユーザーのIDです。これは、ユーザーの詳細情報によりレポートを実行することで、アクセスフィルターを通して、ユーザーがアクセスできるデータのみを表示します。


リクエストの例

以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。

<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>DOCX</reportRequest>
            <reportId>56401</reportId>
         </arg0>
      </web:remoteReportCall>
   </soapenv:Body>
</soapenv:Envelope>


応答要素

応答には、これらの主要なパラメーターが含まれます。

応答要素データ型説明
StatusCodeString

webサービスのステータスです。選択肢は、以下の通りです。

  • SUCCESS
  • FAILURE

ReportId

Integer

指定したレポートのIDです。

ReportName

String

指定したレポートの名前です。

HitCount

Integer

指定したレポートがアクセスされた回数です。

FormatCode

String

指定されたレポートの書式コードです。

BinaryData

String

Base64でエンコードされたDOCX、またはDOCのバイナリーチャンクです。

ContentType

String

このオブジェクトのMIMEコンテンツタイプです。値は「application/vnd.openxmlformats-officedocument.wordprocessingml.document」になります。


応答の例

サービスは、今回のSOAPの例に基づき、以下の応答を返します。

<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>
            <binaryData>UEsDBBQACAgIAN0Ma0wAAAAAAAAAAAAAAAATAAAAW0 ...</binaryData>
            <canDrill>false</canDrill>
            <category>Audit Reports</category>
            <contentType>application/vnd.openxmlformats-officedocument.wordprocessingml.document</contentType>
            <dashboardEnabled>true</dashboardEnabled>
            <dataOutput>COLUMN</dataOutput>
            <datasource>Yellowfin Configuration Database</datasource>
            <errorCode>0</errorCode>
            <formatCode>REPORTANDCHART</formatCode>
            <hitCount>26</hitCount>
            <lastModifiedDate>2016-03-29</lastModifiedDate>
            <lastRunDuration>0</lastRunDuration>
            <lastRunStatus>RUN_NOERROR</lastRunStatus>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Loaded Report: 56401 Successfully</messages>
            <messages>Generating DOCX Report</messages>
            <messages>Request Contains No ReportFilter Records.</messages>
            <messages>Report Run Successfully</messages>
            <messages>Web Service Request Complete</messages>
            <preRunFilterString><![CDATA[<div class="rptFilterLogicText">
<span class="rptFilterLogicIdentifier">Active Session Start</span>
Is Not Null
<span class="rptFilterLogicIdentifier"></span>
</div>]]></preRunFilterString>
            <private>false</private>
            <reportDescription/>
            <reportId>56401</reportId>
            <reportName>Active Sessions</reportName>
            <reportTemplate>REPORTANDCHART</reportTemplate>
            <reportUUID>594d4da4-1b58-44d3-bf4f-11456a42f68c</reportUUID>
            <reportUsage>27</reportUsage>
            <sessionId>9b4a5e7182d359795d176d56378ac0f2</sessionId>
            <statusCode>SUCCESS</statusCode>
            <subCategory>Admin Reports</subCategory>
            <tags>No tags</tags>
            <viewName>NEW VIEW</viewName>
         </return>
      </ns2:remoteReportCallResponse>
   </S:Body>
</S:Envelope>  


手順

Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。

  • 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの呼び出しを実行するための基礎的なリクエストです。

    ReportServiceRequest rsr = new ReportServiceRequest();
      
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
     
    rsr.setReportRequest("DOCX");
  • レポートの保存されているクライアント組織を指定する必要がある場合は、こちらのコードを追加します。


    rsr.setOrgRef("org1");      // search for the report in this client org
  • DOCX書式に変換するレポートを指定します。


    rsr.setReportId(60712);
  • リクエストを構成したら、呼び出しを実行します。

    ReportServiceResponse rs=rsc.remoteReportCall(rsr);

    レポートwebサービスを初期化します。実行方法の詳細は、こちらを参照してください。


  • 返される応答には、StatusCode、ReportID、BinaryDataなどのパラメーターが含まれます。(より詳細な情報は、上記応答パラメーターの表を参照してください)


完成例

以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。

  1. コードをコピーして、「ws_docxreport.jsp」として保存します。
  2. root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
  3. 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
  4. インターネットブラウザから、「http://<host>:<port>/ws_docxreport.jsp」を実行します。

/*              ws_docxreport.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("DOCX");
    rsr.setOrgRef("1");
    rsr.setReportId(60712);
    rsr.setReportClientReferenceId("1");
    ReportServiceResponse rs=rsc.remoteReportCall(rsr);
    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());
    }
%>

PDFリクエストは、指定されたレポートを実行し、PDF書式で返します。


リクエスト要素

以下の要素は、こちらのリクエストとともに渡されます。

リクエスト要素データ型説明

LoginId

String

Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。

このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。

Password

String

上記アカウントのパスワードです。

OrgId

Integer

Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。

ReportRequestStringwebサービス関数です。「PDF」に設定します。
ReportIdIntegerPDF書式で返すレポートを指定するための内部IDです。
ReportUserIdStringオプション設定。レポートユーザーのIDです。これは、ユーザーの詳細情報によりレポートを実行することで、アクセスフィルターを通して、ユーザーがアクセスできるデータのみを表示します。


リクエストの例

以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。

<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>PDF</reportRequest>
            <reportId>56401</reportId>
            </arg0>
      </web:remoteReportCall>
   </soapenv:Body>
</soapenv:Envelope>


応答要素

応答には、これらの主要なパラメーターが含まれます。

応答要素データ型説明取得コード
ReportIdInteger指定したレポートのIDです。getReportId()

ReportName

String

指定したレポートの名前です。

getReportName()

HitCount

Integer

指定したレポートがアクセスされた回数です。

getHitCount()

FormatCode

String

指定したレポートの書式コードです。

getFormatCode()

BinaryData

String

Base64でエンコードされたPDFのバイナリーチャンクです。

getBinaryData()

ContentType

String

このオブジェクトのMIMEコンテンツタイプです。値は「application/pdf」です。

getContentType()


応答の例

サービスは、今回のSOAPの例に基づき、以下の応答を返します。

<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>
            <binaryData>JVBERi0xLjQKJeLjz9MKNCAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDI4OT4+
c3RyZWFtCnic7VNNSwMxEI1 . . .</binaryData>
            <canDrill>false</canDrill>
            <category>Audit Reports</category>
            <contentType>application/pdf</contentType>
            <dashboardEnabled>true</dashboardEnabled>
            <dataOutput>COLUMN</dataOutput>
            <datasource>Yellowfin Configuration Database</datasource>
            <errorCode>0</errorCode>
            <formatCode>REPORTANDCHART</formatCode>
            <hitCount>25</hitCount>
            <lastModifiedDate>2018-07-02</lastModifiedDate>
            <lastRunDuration>0</lastRunDuration>
            <lastRunStatus>RUN_NOERROR</lastRunStatus>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Loaded Report: 56401 Successfully</messages>
            <messages>Generating PDF Report</messages>
            <messages>Request Contains No ReportFilter Records.</messages>
            <messages>Report Run Successfully</messages>
            <messages>Web Service Request Complete</messages>
            <preRunFilterString><![CDATA[<div class="rptFilterLogicText">
<span class="rptFilterLogicIdentifier">Active Session Start</span>
Is Not Null
<span class="rptFilterLogicIdentifier"></span>
</div>]]></preRunFilterString>
            <private>false</private>
            <reportDescription/>
            <reportId>56401</reportId>
            <reportName>Active Sessions</reportName>
            <reportTemplate>REPORTANDCHART</reportTemplate>
            <reportUUID>594d4da4-1b58-44d3-bf4f-11456a42f68c</reportUUID>
            <reportUsage>100</reportUsage>
            <sessionId>bb2175f6da398640f670ff666c40fcfa</sessionId>
            <statusCode>SUCCESS</statusCode>
            <subCategory>Admin Reports</subCategory>
            <tags>No tags</tags>
            <viewName>NEW VIEW</viewName>
         </return>
      </ns2:remoteReportCallResponse>
   </S:Body>
</S:Envelope>


手順

Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。

  • 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの呼び出しを実行するための基礎的なリクエストです。

    ReportServiceRequest rsr = new ReportServiceRequest();
      
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
     
    rsr.setReportRequest("PDF");
  • レポートの保存されているクライアント組織を指定する必要がある場合は、こちらのコードを追加します。


    rsr.setOrgRef("org1");      // search for the report in this client org
  • PDF書式で参照するレポートを指定します。


    rsr.setReportId(60712);
  • リクエストを構成したら、呼び出しを実行します。

    ReportServiceResponse rs=rsc.remoteReportCall(rsr);

    レポートwebサービスを初期化します。実行方法の詳細は、こちらを参照してください。


  • 返される応答には、レポートに関連するパラメーターが含まれます。(より詳細な情報は、上記応答パラメーターの表を参照してください)


完成例

以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。

  1. コードをコピーして、「ws_pdfreport.jsp」として保存します。
  2. root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
  3. 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
  4. インターネットブラウザから、「http://<host>:<port>/ws_pdfreport.jsp」を実行します。

/*              ws_pdfreport.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("PDF");
    rsr.setOrgRef("1");
    rsr.setReportId(60712);
    rsr.setReportClientReferenceId("1");
 
    ReportServiceResponse rs=rsc.remoteReportCall(rsr);
 
    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());
    }
%>

こちらのリクエストは、指定されたレポートを実行し、CSV書式(カンマ区切り値)で返します。


リクエスト要素

以下の要素は、こちらのリクエストとともに渡されます。

リクエスト要素データ型説明

LoginId

String

Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。

このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。

Password

String

上記アカウントのパスワードです。

OrgId

Integer

Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。

ReportRequestStringwebサービス関数です。「CSV」に設定します。
ReportIdIntegerCSV書式で返すレポートを指定するための内部IDです。
ReportUserIdStringオプション設定。レポートユーザーのIDです。これは、ユーザーの詳細情報によりレポートを実行することで、アクセスフィルターを通して、ユーザーがアクセスできるデータのみを表示します。


リクエストの例

以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。

<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>CSV</reportRequest>
            <reportId>56401</reportId>
            </arg0>
      </web:remoteReportCall>
   </soapenv:Body>
</soapenv:Envelope>


応答要素

応答には、これらの主要なパラメーターが含まれます。

応答要素データ型説明取得コード
ReportIdInteger指定したレポートのIDです。getReportId()

ReportName

String

指定したレポートの名前です。

getReportName()

HitCount

Integer

指定したレポートがアクセスされた回数です。

getHitCount()

FormatCode

String

指定したレポートの書式コードです。

getFormatCode()

BinaryData

String

Base64でエンコードされたCSVのバイナリーチャンクです。

getBinaryData()

ContentType

String

このオブジェクトのMIMEコンテンツタイプです。値は「text/comma-separated-values」です。

getContentType()


応答の例

サービスは、今回のSOAPの例に基づき、以下の応答を返します。

<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>
            <binaryData>Tm8gcmVzdWx0cyByZXR1cm5lZC4K</binaryData>
            <canDrill>false</canDrill>
            <category>Audit Reports</category>
            <contentType>text/comma-separated-values</contentType>
            <dashboardEnabled>true</dashboardEnabled>
            <dataOutput>COLUMN</dataOutput>
            <datasource>Yellowfin Configuration Database</datasource>
            <errorCode>0</errorCode>
            <formatCode>REPORTANDCHART</formatCode>
            <hitCount>26</hitCount>
            <lastModifiedDate>2018-07-02</lastModifiedDate>
            <lastRunDuration>0</lastRunDuration>
            <lastRunStatus>RUN_NOERROR</lastRunStatus>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Loaded Report: 56401 Successfully</messages>
            <messages>Generating CSV Report</messages>
            <messages>Request Contains No ReportFilter Records.</messages>
            <messages>Report Run Successfully</messages>
            <messages>Web Service Request Complete</messages>
            <preRunFilterString><![CDATA[<div class="rptFilterLogicText">
<span class="rptFilterLogicIdentifier">Active Session Start</span>
Is Not Null
<span class="rptFilterLogicIdentifier"></span>
</div>]]></preRunFilterString>
            <private>false</private>
            <reportDescription/>
            <reportId>56401</reportId>
            <reportName>Active Sessions</reportName>
            <reportTemplate>REPORTANDCHART</reportTemplate>
            <reportUUID>594d4da4-1b58-44d3-bf4f-11456a42f68c</reportUUID>
            <reportUsage>100</reportUsage>
            <sessionId>6f95db60d17d24138a5faf23190f5a6e</sessionId>
            <statusCode>SUCCESS</statusCode>
            <subCategory>Admin Reports</subCategory>
            <tags>No tags</tags>
            <viewName>NEW VIEW</viewName>
         </return>
      </ns2:remoteReportCallResponse>
   </S:Body>
</S:Envelope>


手順

Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。

  • 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの呼び出しを実行するための基礎的なリクエストです。

    ReportServiceRequest rsr = new ReportServiceRequest();
      
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
     
    rsr.setReportRequest("CSV");
  • レポートの保存されているクライアント組織を指定する必要がある場合は、こちらのコードを追加します。


    rsr.setOrgRef("org1");      // search for the report in this client org
  • CSV書式で参照するレポートを指定します。


    rsr.setReportId(60712);
  • リクエストを構成したら、呼び出しを実行します。

    ReportServiceResponse rs=rsc.remoteReportCall(rsr);

    レポートwebサービスを初期化します。実行方法の詳細は、こちらを参照してください。


  • 返される応答には、レポートに関連するパラメーターが含まれます。(より詳細な情報は、上記応答パラメーターの表を参照してください)


完成例

以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。

  1. コードをコピーして、「ws_csvreport.jsp」として保存します。
  2. root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
  3. 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
  4. インターネットブラウザから、「http://<host>:<port>/ws_csvreport.jsp」を実行します。

/*              ws_csvreport.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("CSV");
    rsr.setOrgRef("1");
    rsr.setReportId(60712);
    rsr.setReportClientReferenceId("1");
    ReportServiceResponse rs=rsc.remoteReportCall(rsr);
    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());
    }
%>

リクエストは、指定されたレポートを実行し、テキスト書式で返します。


リクエスト要素

以下の要素は、こちらのリクエストとともに渡されます。

リクエスト要素データ型説明

LoginId

String

Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。

このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。

Password

String

上記アカウントのパスワードです。

OrgId

Integer

Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。

ReportRequestStringwebサービス関数です。「TEXT」に設定します。
ReportIdIntegerTEXT書式で返すレポートを指定するための内部IDです。
ReportUserIdStringオプション設定。レポートユーザーのIDです。これは、ユーザーの詳細情報によりレポートを実行することで、アクセスフィルターを通して、ユーザーがアクセスできるデータのみを表示します。


リクエストの例

以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。

<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>TEXT</reportRequest>
            <reportId>60712</reportId>
            </arg0>
      </web:remoteReportCall>
   </soapenv:Body>
</soapenv:Envelope>


応答要素

応答には、これらの主要なパラメーターが含まれます。

応答要素データ型説明取得コード
ReportIdInteger指定したレポートのIDです。getReportId()

ReportName

String

指定したレポートの名前です。

getReportName()

HitCount

Integer

指定したレポートがアクセスされた回数です。

getHitCount()

FormatCode

String

指定したレポートの書式コードです。

getFormatCode()

BinaryData

String

Base64でエンコードされたTEXTのバイナリーチャンクです。

getBinaryData()

ContentType

String

このオブジェクトのMIMEコンテンツタイプです。値は「text/tab-separated-values」です。

getContentType()


応答の例

サービスは、今回のSOAPの例に基づき、以下の応答を返します。

<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>
            <binaryData>Tm90IGZvciBSZS1TYWxlIExpY2VuY2UsLCwKVG9wIE4sQ29tcGFueSBOYW1lLERlbW9ncmFwaGlj
LFN1bSBJbnZvaWNlZCAoUHJlZiBDdXJyZW5jeSkKIlRvcCBOIEFnZW5jaWVzICIsQmFyZ2FpbiBU
cmlwcyxBZHZlbnR1cmUsIiQxMCw4NTYiCiJUb3AgTiBBZ2VuY2llcyAiLEJhcmdhaW4gVHJpcHMs
RmFtaWx5LCIkMjk1LDgyNyIKIlRvcCBOIEFnZW5jaWVzICIsQmFyZ2FpbiBUcmlwcyxMdXh1cnks
IiQxLDAzMiwwNTYiCiJUb3AgTiBBZ2VuY2llcyAiLEJhcmdhaW4gVHJpcHMsUmVsYXhhdGlvbiwi
JDgwLDY2MCIKIlRvcCBOIEFnZW5jaWV . . .</binaryData>
            <canDrill>false</canDrill>
            <category>Tutorial</category>
            <contentType>text/tab-separeted-values</contentType>
            <dashboardEnabled>true</dashboardEnabled>
            <dataOutput>COLUMN</dataOutput>
            <datasource>Ski Team</datasource>
            <errorCode>0</errorCode>
            <formatCode>REPORTANDCHART</formatCode>
            <hitCount>5</hitCount>
            <lastModifiedDate>2017-06-26</lastModifiedDate>
            <lastRunDuration>0</lastRunDuration>
            <lastRunStatus>RUN_NOERROR</lastRunStatus>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Loaded Report: 60712 Successfully</messages>
            <messages>Generating TEXT Report</messages>
            <messages>Request Contains No ReportFilter Records.</messages>
            <messages>AGENCYNAME (FilterId: 60723 ) Requires User Prompt</messages>
            <messages>Report Run Successfully</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>
            <reportId>60712</reportId>
            <reportName>Agency Benchmark</reportName>
            <reportTemplate>REPORTANDCHART</reportTemplate>
            <reportUUID>c83357db-8aef-4ec7-ab72-fce34de9ee77</reportUUID>
            <reportUsage>0</reportUsage>
            <sessionId>0b549fb1c8361edb2b83dee81227e460</sessionId>
            <statusCode>SUCCESS</statusCode>
            <subCategory>Marketing &amp; Booking</subCategory>
            <tags>No tags</tags>
            <viewName>New View</viewName>
         </return>
      </ns2:remoteReportCallResponse>
   </S:Body>
</S:Envelope>


手順

Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。

  • 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの呼び出しを実行するための基礎的なリクエストです。

    ReportServiceRequest rsr = new ReportServiceRequest();
      
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
     
    rsr.setReportRequest("TEXT");
  • レポートの保存されているクライアント組織を指定する必要がある場合は、こちらのコードを追加します。


    rsr.setOrgRef("org1");      // search for the report in this client org
  • TEXT書式で参照するレポートを指定します。


    rsr.setReportId(60712);
  • リクエストを構成したら、呼び出しを実行します。

    ReportServiceResponse rs=rsc.remoteReportCall(rsr);

    レポートwebサービスを初期化します。実行方法の詳細は、こちらを参照してください。


  • 返される応答には、レポートに関連するパラメーターが含まれます。(より詳細な情報は、上記応答パラメーターの表を参照してください)


完成例

以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。

  1. コードをコピーして、「ws_textreport.jsp」として保存します。
  2. root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
  3. 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
  4. インターネットブラウザから、「http://<host>:<port>/ws_textreport.jsp」を実行します。

/*              ws_textreport.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("TEXT");
    rsr.setOrgRef("1");
    rsr.setReportId(60712);
    rsr.setReportClientReferenceId("1");
    ReportServiceResponse rs=rsc.remoteReportCall(rsr);
    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());
    }
%>

webサービスは、デフォルトではなく、印刷可能な書式でレポートを返します。


リクエスト要素

以下の要素は、こちらのリクエストとともに渡されます。

リクエスト要素データ型説明

LoginId

String

Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。

このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。

Password

String

上記アカウントのパスワードです。

OrgId

Integer

Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。

ReportRequestStringwebサービス関数です。「PRINT」に設定します。
ReportIdInteger印刷可能な書式で返すレポートを指定するための内部IDです。
ReportUserIdStringオプション設定。レポートユーザーのIDです。これは、ユーザーの詳細情報によりレポートを実行することで、アクセスフィルターを通して、ユーザーがアクセスできるデータのみを表示します。


リクエストの例

以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。

<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>PRINT</reportRequest>
            <reportId>56401</reportId>
            </arg0>
      </web:remoteReportCall>
   </soapenv:Body>
</soapenv:Envelope>


応答要素

応答には、これらの主要なパラメーターが含まれます。

応答要素データ型説明取得コード

Chart

ReportChart[]

HTMLレポート応答に付加される、複数のグラフビットマップを含むReportChartオブジェクトの配列です。

getCharts()

ReportBinaryObject

ReportBinaryObject[]

BLOB、およびCLOBを含む、ReportBinaryObjectオブジェクトの配列です。

getBinaryObjects()

ReportStyles

String

CSSスタイルです。

getReportStyles()

Breadcrumbs

Breadcrumb[]

Breadcrumbオブジェクトの配列です。

getBreadcrumbs()

SeriesSelection

SeriesSelection[]

SeriesSelectionオブジェクトの配列です。

getSeriesSelections()

TimeAggregationSelection

TimeAggregationSelection[]

TimeAggregationSelectionオブジェクトの配列です。

getTimeAggregationSelection()

ReportTabSelection

ReportTabSelection[]

ReportTabSelectionオブジェクトの配列です。

getReportTabSelection()

ReportPageSelection

ReportPageSelection[]

ReportPageSelectionオブジェクトの配列です。

getReportPageSelection()

TimeSliderSelection

TimeSliderSelection[]

TimeSliderSelectionオブジェクトの配列です。

getTimeSliderSelection()

SortableColumns

SortableTableColumn[]

SortableTableColumnオブジェクトの配列です。

getSortableColumns()

SelectedSortColumn

Integer

並べかえに使用するカラム(列)です。このインデックスは、レポート内のカラム(列)インデックスに適用されます。

getSelectedSortColumn()

SelectedSortOrder

Integer

並べかえに使用するカラム(列)の並べかえ順序です(0が昇順、1が降順です)。

getSelectedSortOrder()

DrillCode

String

レポートで使用可能な場合の、ドリルタイプです。

getDrillCode()

RelatedReports

RelatedReport[]

RelatedReportオブジェクトの配列です。これは、メインレポートにタブ化、またはマルチ表示されるレポートです。

getRelatedReports()

BinaryData

String

Base64でエンコードされた、HTMLドキュメントのバイナリーチャンクです。

getBinaryData()

Private


レポートが非公開、または公開のどちらであるかを定義します。

getPrivate()

ContentType

String

返されるオブジェクトのMIME ContentTypeです。値は「text / html」です。

getContentType()

CanDrill

Boolean

レポートのドリル可否です。

getCanDrill()

GoogleMaps

GMap

GMapオブジェクトの配列です。

getGoogleMaps()

応答の例

サービスは、今回のSOAPの例に基づき、以下の応答を返します。

<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>
            <binaryData>PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KLm11bHRpV2lkZ2V0Q2FudmFzRWRpdG9yIHsKCXBvc2l0
aW9uOiByZWxhdGl2ZTsKfQoKLm11bHRp . . .</binaryData>
            <canDrill>false</canDrill>
            <category>Audit Reports</category>
            <contentType>text/html</contentType>
            <dashboardEnabled>true</dashboardEnabled>
            <dataOutput>COLUMN</dataOutput>
            <datasource>Yellowfin Configuration Database</datasource>
            <drillCode>NODRILL</drillCode>
            <errorCode>0</errorCode>
            <formatCode>REPORTANDCHART</formatCode>
            <hitCount>30</hitCount>
            <lastModifiedDate>2018-07-02</lastModifiedDate>
            <lastRunDuration>0</lastRunDuration>
            <lastRunStatus>RUN_NOERROR</lastRunStatus>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Loaded Report: 56401 Successfully</messages>
            <messages>Generating HTML Report</messages>
            <messages>Request Contains No ReportFilter Records.</messages>
            <messages>Report Run Successfully</messages>
            <messages>Web Service Request Complete</messages>
            <preRunFilterString><![CDATA[<div class="rptFilterLogicText">
<span class="rptFilterLogicIdentifier">Active Session Start</span>
Is Not Null
<span class="rptFilterLogicIdentifier"></span>
</div>]]></preRunFilterString>
            <private>false</private>
            <relatedReports/>
            <reportDescription/>
            <reportId>56401</reportId>
            <reportName>Active Sessions</reportName>
            <reportStyle>td.rpthdrcol {
   position: relative;
}
img.rptcolmenu {
   position: absolute;
   right: 5px;
   top: 0;
   bottom: 0;
   margin: auto 0;
   cursor: pointer;
}
td.rpthdrcol div.rptdata {
   padding-right: 20px;
}
td.reportChartCell {
   vertical-align: top;
}
div.reportChart {
   position: relative;
   display: inline-block;
}
img.reportChart {
   position: absolute;
   left: 0;
   top: 0;
}
.
.
.
table.rpt56401sectionsummary {
   margin-bottom: 20px;
}
.printpagebreak {
   PAGE-BREAK-BEFORE: always;
}</reportStyle>
            <reportTemplate>REPORTANDCHART</reportTemplate>
            <reportUUID>594d4da4-1b58-44d3-bf4f-11456a42f68c</reportUUID>
            <reportUsage>100</reportUsage>
            <selectedSortColumn>-1</selectedSortColumn>
            <selectedSortOrder>0</selectedSortOrder>
            <sessionId>7fc9ad31786cfd1ca10605c301551534</sessionId>
            <sortableColumns/>
            <sortableColumns/>
            <sortableColumns/>
            <statusCode>SUCCESS</statusCode>
            <subCategory>Admin Reports</subCategory>
            <tags>No tags</tags>
            <viewName>NEW VIEW</viewName>
         </return>
      </ns2:remoteReportCallResponse>
   </S:Body>
</S:Envelope>


手順

Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。

  • 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの呼び出しを実行するための基礎的なリクエストです。

    ReportServiceRequest rsr = new ReportServiceRequest();
      
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
     
    rsr.setReportRequest("PRINT");
  • レポートの保存されているクライアント組織を指定する必要がある場合は、こちらのコードを追加します。


    rsr.setOrgRef("org1");      // search for the report in this client org
  • 印刷可能な書式に変換するレポートを指定します。


    rsr.setReportId(60712);
  • リクエストを構成したら、呼び出しを実行します。

    ReportServiceResponse rs=rsc.remoteReportCall(rsr);

    レポートwebサービスを初期化します。実行方法の詳細は、こちらを参照してください。


  • 返される応答には、レポートに関連するパラメーターが含まれます。(より詳細な情報は、上記応答パラメーターの表を参照してください)


完成例

以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。

  1. コードをコピーして、「ws_printreport.jsp」として保存します。
  2. root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
  3. 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
  4. インターネットブラウザから、「http://<host>:<port>/ws_printreport.jsp」を実行します。

/*              ws_printreport.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("PRINT");
    rsr.setReportId(60712);
    ReportServiceResponse rs=rsc.remoteReportCall(rsr);
     
    if ("SUCCESS".equals(rs.getStatusCode())) {
         
        %> <xmp> <%
          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);   
            %></xmp><%
        //out.write("Success");
    } else {
        out.write("Failure");
        out.write(" Code: " + rs.getErrorCode());
    }
%>