Like what you see? Have a play with our trial version.

Error rendering macro 'rw-search'

null

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

This section covers the overall administrative report web services.

 

 

 

This function is used to test whether or not the report web services is working.

 

Request Elements

The following elements will be passed with this request:

Request Element

Data Type

Description

LoginId

String

Yellowfin web services administrator user Id. This can be the user ID or the email address, depending on the Logon ID method.

This Yellowfin account must have the “web services” role enabled, and must belong to the Default (i.e. Primary) Org.

Password

String

Password of the above account.

OrgId

Integer

Default (i.e. Primary) organization ID within Yellowfin. Always set this to 1.

ReportRequest

String

Web services function. Set this to "TEST".

OrgRef

String

Client Org Internal Reference Id (optional).

 

 

Request Example

The following SOAP example shows the parameters that you can pass to this call:

<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>

 

 

Response Elements

The response returned will contain these parameters:

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS
  • FAILURE

 

 

Response Example

The service will return the below response, according to our SOAP example:

<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>
            <dashboardEnabled>false</dashboardEnabled>
            <errorCode>0</errorCode>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Connection Tested Successfully</messages>
            <messages>Unknown Or Unsupported Request: TEST</messages>
            <messages>Web Service Request Complete</messages>
            <private>false</private>
            <sessionId>f78fe29edb19bbfe45626c2203249f4b</sessionId>
            <statusCode>SUCCESS</statusCode>
         </return>
      </ns2:remoteReportCallResponse>
   </S:Body>
</S:Envelope>

 

 

Instructions

See below for step-by-step instructions on how to perform this call, using a Java example:

  • Here's a basic request to perform this call, which includes logging in as the admin user and specifying the web service call to perform:

    ReportServiceRequest rsr = new ReportServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
    
    rsr.setReportRequest("TEST");
  • If you need to specify a particular client org:

    rsr.setOrgRef("org1");      // search for the report in this client org
  • Once the request is configured, carry out the call:

    ReportServiceResponse rs=rsc.remoteReportCall(rsr);

    Initialize the Report web service. Click here to learn how to do this. 

 

  • The response returned will contain the StatusCode parameter. Refer to the Response Parameter table for details.

 


Complete Example

Below is a full example of this function. To use it for yourself, carry out the following the steps:

  1. Copy the code and save it as ws_test_reportservices.jsp.
  2. Put the file in the root folder, which is Yellowfin/appserver/webapps/ROOT.
  3. Adjust host, port, and admin user to add details according to your environment.
  4. Run http://<host>:<port>/ws_test_reportservices.jsp from your Internet browser.

 

<%           
/*              ws_test_reportservices.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("TEST");
	rsr.setOrgRef("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());
	} 
%>

 


 

This web services retrieves details of a specified report.

 

Request Elements

The following elements will be passed with this request:

Request Element

Data Type

Description

LoginId

String

Yellowfin web services administrator user Id. This can be the user ID or the email address, depending on the Logon ID method.

This Yellowfin account must have the “web services” role enabled, and must belong to the Default (i.e. Primary) Org.

Password

String

Password of the above account.

OrgId

Integer

Default (i.e. Primary) organization ID within Yellowfin. Always set this to 1.

ReportRequest

String

Web services function. Set this to "INFO".

OrgRef

String

Client Org internal reference ID (optional).

ReportIdIntegerYou can provide a report ID to search for a particular report.


 

Request Example

The following SOAP example shows the parameters that you can pass to this call:

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

 

 

Response Elements

The response returned will contain these parameters:

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS
  • FAILURE
ReportNameStringName of the specified report.
ReportDescriptionStringDescription of the specified report.
ReportUUIDIntegerUnique ID (or UUID) of the specified report.
HitCountIntegerNumber of times the report was accessed.
FormatCodeStringFormat code of the report.
AverageRunTimeIntegerAverage run time of the report.
CategoryStringCategory where report is present.
SubCategoryStringSub category of the report.
ReportUsageIntegerThe number of times the report has been used or accessed.
ViewNameStringName of the view.
DatasourceStringName of the data source.
AuthorStringUser who created the report.
AuthoringModeStringMode in which the report was created.
ReportTemplateStringTemplate of the report.
DataOutputStringData output. E.g. column.
DashboardEnabledBooleanTrue if the dashboard is enabled.
LastModifiedDateDateDate the report was last modified.

 

 

Response Example

The service will return the below response, according to our SOAP example:

<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>
            <dashboardEnabled>true</dashboardEnabled>
            <dataOutput>COLUMN</dataOutput>
            <datasource>Ski Team</datasource>
            <errorCode>0</errorCode>
            <formatCode>REPORTANDCHART</formatCode>
            <hitCount>0</hitCount>
            <lastModifiedDate>2017-06-26</lastModifiedDate>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Loaded Report: 60712 Successfully</messages>
            <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>
            <reportId>60712</reportId>
            <reportName>Agency Benchmark</reportName>
            <reportTemplate>REPORTANDCHART</reportTemplate>
            <reportUUID>c83357db-8aef-4ec7-ab72-fce34de9ee77</reportUUID>
            <reportUsage>0</reportUsage>
            <sessionId>900e9dfabd21bdef75410fa88fe501dd</sessionId>
            <statusCode>SUCCESS</statusCode>
            <subCategory>Marketing &amp; Booking</subCategory>
            <tags>No tags</tags>
            <viewName>New View</viewName>
         </return>
      </ns2:remoteReportCallResponse>
   </S:Body>
</S:Envelope>

 

 

Instructions

See below for step-by-step instructions on how to perform this call, using a Java example:

  • Here's a basic request to perform this call, which includes logging in as the admin user and specifying the web service call to perform:

    ReportServiceRequest rsr = new ReportServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
    
    rsr.setReportRequest("INFO");
  • If you need to specify the client org where the report exists, add this to your code:

    rsr.setOrgRef("org1");      // search for the report in this client org
  • You can even specify which report's comment to change the status of:

    rsr.setReportId(60712);



  • You may even specify the report client Reference ID or session ID:

    rsr.setReportClientReferenceId("1");
    rsr.setSessionId("18607a5670842650d512976b5d7ccddd");
  • Once the request is configured, carry out the call:

    ReportServiceResponse rs=rsc.remoteReportCall(rsr);

    Initialize the Report web service. Click here to learn how to do this. 

 

  • The response returned will contain the StatusCode parameter, along with other report specific parameters. Refer to the Response Parameter table above for details.

 


Complete Example

Below is a full example of this function. To use it for yourself, carry out the following the steps:

  1. Copy the code and save it as ws_info_report.jsp.
  2. Put the file in the root folder, which is Yellowfin/appserver/webapps/ROOT.
  3. Adjust host, port, and admin user to add details according to your environment.
  4. Run http://<host>:<port>/ws_info_report.jsp from your Internet browser.

 

<%           
/*              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())) {
		  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());
	} 
%>

 


 

This web service retrieves the result data of a specified report, as well as the report's metadata. The report's result will be in a raw, preformatted format. This result will be stored in an array of ReportRow objects, which each such object representing a result row. Therefore, for each of the rows, an array of strings containing the data in each column of the result data will be present.

Note: It is up to the web services client to convert this data from the string representation into the data type for each particular column. The data types for each column can be obtained with the SCHEMA function.

For example, here is a Role Population report that contains two columns and specifies the number of users assigned to each user role:

User RolePopulation
System Administrator1
Consumer & Collaborator5
Report Content Writer4

This web service will return a ReportRow object for each of the user role, which every object containing two data strings: one containing the name of the role, and the other displaying its user population.

 

 

Request Elements

The following elements will be passed with this request:

Request Element

Data Type

Description

LoginId

String

Yellowfin web services administrator user Id. This can be the user ID or the email address, depending on the Logon ID method.

This Yellowfin account must have the “web services” role enabled, and must belong to the Default (i.e. Primary) Org.

Password

String

Password of the above account.

OrgId

Integer

Default (i.e. Primary) organization ID within Yellowfin. Always set this to 1.

ReportRequest

String

Web services function. Set this to "RESULTSET".

OrgRef

String

Client Org internal reference ID (optional).

ReportIdIntegerID of the report whose result data is to be viewed.


 

Request Example

The following SOAP example shows the parameters that you can pass to this call:

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

 

 

Response Elements

The response returned will contain these parameters:

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS
  • FAILURE
ResultsReportRow[]An array of object containing the result of the report's data set.
ReportNameStringName of the specified report.
ReportDescriptionStringDescription of the specified report.
ReportIdIntegerUnique ID of the specified report.
ReportUUIDStringThe UUID of the specified report.
HitCountIntegerNumber of times the report was accessed.
FormatCodeStringFormat code of the report.
AverageRunTimeIntegerAverage run time of the report.
CategoryStringCategory where report is present.
SubCategoryStringSub category of the report.
ReportUsageIntegerThe number of times the report has been used or accessed.
ViewNameStringName of the view.
DatasourceStringName of the data source.
AuthorStringUser who created the report.
AuthoringModeStringMode in which the report was created.
ReportTemplateStringTemplate of the report.
DataOutputStringData output. E.g. column.
DashboardEnabledBooleanTrue if the dashboard is enabled.
LastModifiedDateDateDate the report was last modified.

 

 

Response Example

The service will return the below response, according to our SOAP example:

<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>Audit Reports</category>
            <dashboardEnabled>true</dashboardEnabled>
            <dataOutput>COLUMN</dataOutput>
            <datasource>Yellowfin Configuration Database</datasource>
            <errorCode>0</errorCode>
            <formatCode>REPORTANDCHART</formatCode>
            <hitCount>4</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>Returning RAW Resultset</messages>
            <messages>Request Contains No ReportFilter Records.</messages>
            <messages>Report Run Successfully</messages>
            <messages>Web Service Request Complete</messages>
            <private>false</private>
            <reportDescription/>
            <reportId>58511</reportId>
            <reportName>Role Population</reportName>
            <reportTemplate>REPORTANDCHART</reportTemplate>
            <reportUUID>00c65743-15f8-4f93-ace1-e3d4d2b956eb</reportUUID>
            <reportUsage>7</reportUsage>
            <results>
               <dataValue>System Administrator</dataValue>
               <dataValue>1</dataValue>
            </results>
            <results>
               <dataValue>Consumer &amp; Collaborator</dataValue>
               <dataValue>5</dataValue>
            </results>
            <sessionId>c958af74f677c4b1f575bd728d3b25d0</sessionId>
            <statusCode>SUCCESS</statusCode>
            <subCategory>User Access</subCategory>
            <tags>No tags</tags>
            <viewName>NEW VIEW</viewName>
         </return>
      </ns2:remoteReportCallResponse>
   </S:Body>
</S:Envelope>

 

 

Instructions

See below for step-by-step instructions on how to perform this call, using a Java example:

  • Here's a basic request to perform this call, which includes logging in as the admin user and specifying the web service call to perform:

    ReportServiceRequest rsr = new ReportServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
    
    rsr.setReportRequest("RESULTSET");
  • Specify the report to get its result set:

    rsr.setReportId(60712);



  • You may even specify the report client Reference ID:

    rsr.setReportClientReferenceId("1");
  • Once the request is configured, carry out the call:

    ReportServiceResponse rs=rsc.remoteReportCall(rsr);

    Initialize the Report web service. Click here to learn how to do this. 

 

  • The response returned will contain the StatusCode and Results parameters, along with other report specific parameters. Refer to the Response Parameter table above for details.

 


Complete Example

Below is a full example of this function. To use it for yourself, carry out the following the steps:

  1. Copy the code and save it as ws_resultset.jsp.
  2. Put the file in the root folder, which is Yellowfin/appserver/webapps/ROOT.
  3. Adjust host, port, and admin user, and report details according to your environment.
  4. Run http://<host>:<port>/ws_resultset.jsp from your Internet browser.

 

<%           
/*              ws_resultset.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("RESULTSET");
	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());
	} 

	
%>

 


 

This web service is similar to the RESULTSET one, however it returns the raw result set using the formatters from the report. 

 

Request Elements

The following elements will be passed with this request:

Request Element

Data Type

Description

LoginId

String

Yellowfin web services administrator user Id. This can be the user ID or the email address, depending on the Logon ID method.

This Yellowfin account must have the “web services” role enabled, and must belong to the Default (i.e. Primary) Org.

Password

String

Password of the above account.

OrgId

Integer

Default (i.e. Primary) organization ID within Yellowfin. Always set this to 1.

ReportRequest

String

Web services function. Set this to "FORMATTEDRESULTSET".

OrgRef

String

Client Org internal reference ID (optional).

ReportIdIntegerID of the report whose result data is to be viewed.


 

Request Example

The following SOAP example shows the parameters that you can pass to this call:

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

 

 

Response Elements

The response returned will contain these parameters:

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS
  • FAILURE
ResultsReportRow[]An array of object containing the result of the report's data set.
ReportNameStringName of the specified report.
ReportDescriptionStringDescription of the specified report.
ReportIdIntegerUnique ID of the specified report.
ReportUUIDStringThe UUID of the specified report.
HitCountIntegerNumber of times the report was accessed.
FormatCodeStringFormat code of the report.
AverageRunTimeIntegerAverage run time of the report.
CategoryStringCategory where report is present.
SubCategoryStringSub category of the report.
ReportUsageIntegerThe number of times the report has been used or accessed.
ViewNameStringName of the view.
DatasourceStringName of the data source.
AuthorStringUser who created the report.
AuthoringModeStringMode in which the report was created.
ReportTemplateStringTemplate of the report.
DataOutputStringData output. E.g. column.
DashboardEnabledBooleanTrue if the dashboard is enabled.
LastModifiedDateDateDate the report was last modified.

 

 

Response Example

The service will return the below response, according to our SOAP example:

<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>Audit Reports</category>
            <dashboardEnabled>true</dashboardEnabled>
            <dataOutput>COLUMN</dataOutput>
            <datasource>Yellowfin Configuration Database</datasource>
            <errorCode>0</errorCode>
            <formatCode>REPORTANDCHART</formatCode>
            <hitCount>5</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>Returning RAW Resultset</messages>
            <messages>Request Contains No ReportFilter Records.</messages>
            <messages>Report Run Successfully</messages>
            <messages>Web Service Request Complete</messages>
            <private>false</private>
            <reportDescription/>
            <reportId>58511</reportId>
            <reportName>Role Population</reportName>
            <reportTemplate>REPORTANDCHART</reportTemplate>
            <reportUUID>00c65743-15f8-4f93-ace1-e3d4d2b956eb</reportUUID>
            <reportUsage>9</reportUsage>
            <results>
               <dataValue>System Administrator</dataValue>
               <dataValue>1</dataValue>
            </results>
            <results>
               <dataValue>Consumer &amp; Collaborator</dataValue>
               <dataValue>5</dataValue>
            </results>
            <sessionId>1e4f0c8ee07d24a5500f952a459b1652</sessionId>
            <statusCode>SUCCESS</statusCode>
            <subCategory>User Access</subCategory>
            <tags>No tags</tags>
            <viewName>NEW VIEW</viewName>
         </return>
      </ns2:remoteReportCallResponse>
   </S:Body>
</S:Envelope>

 

Instructions

See below for step-by-step instructions on how to perform this call, using a Java example:

  • Here's a basic request to perform this call, which includes logging in as the admin user and specifying the web service call to perform:

    ReportServiceRequest rsr = new ReportServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
    
    rsr.setReportRequest("FORMATTEDRESULTSET");
  • Specify the report to get its formatted result set:

    rsr.setReportId(60712);



  • You may even specify the report client Reference ID:

    rsr.setReportClientReferenceId("1");
  • Once the request is configured, carry out the call:

    ReportServiceResponse rs=rsc.remoteReportCall(rsr);

    Initialize the Report web service. Click here to learn how to do this. 

 

  • The response returned will contain the StatusCode and Results parameters, along with other report specific parameters. Refer to the Response Parameter table above for details.

 


Complete Example

Below is a full example of this function. To use it for yourself, carry out the following the steps:

  1. Copy the code and save it as ws_resultset.jsp.
  2. Put the file in the root folder, which is Yellowfin/appserver/webapps/ROOT.
  3. Adjust host, port, and admin user, and report details according to your environment.
  4. Run http://<host>:<port>/ws_resultset.jsp from your Internet browser.

 

<%           
/*              ws_resultset.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("FORMATTEDRESULTSET");
	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());
	}
	
%>

 


 

Report Comment Management

The web services in this section are related to user comments on Yellowfin reports.

 

This function is used to set the status of a report comment. The status options include: OPEN, EDITED, RESOLVED and DELETED.

 

Request Elements

The following elements will be passed with this request:

Request Element

Data Type

Description

LoginId

String

Yellowfin web services administrator user Id. This can be the user ID or the email address, depending on the Logon ID method.

This Yellowfin account must have the “web services” role enabled, and must belong to the Default (i.e. Primary) Org.

Password

String

Password of the above account.

OrgId

Integer

Default (i.e. Primary) organization ID within Yellowfin. Always set this to 1.

ReportRequest

String

Web services function. Set this to "COMMENTSTATUS".

ReportComment

ReportComment

Object containing details of the report comment whose status is to be set. See table below.

OrgRef

String

Client Org Internal Reference Id (optional). Use this to search for the report in the referenced Client Org. If this is not set, then the report will be searched in the default (primary) org.

ReportIdIntegerYou can provide a report ID to search for a particular report.

 

These are the mandatory parameters that you need to set in the ReportComment object for this function:

ReportComment Element

Data Type

Description

Retrieval Code

CommentId

Integer

ID of comment

getCommentId()

StatusCode

String

Provide the new status. The status option include: OPEN, EDITED, RESOLVED and DELETED.

getStatusCode()

 

Request Example

The following SOAP example shows the parameters that you can pass to this call:

<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>
            	<statusCode>OPEN</statusCode>
            </reportComment>
         </arg0>
      </web:remoteReportCall>
   </soapenv:Body>
</soapenv:Envelope>

 

 

Response Elements

The response returned will contain these parameters:

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS
  • FAILURE

 

 

Response Example

The service will return the below response, according to our SOAP example:

<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>
            <dashboardEnabled>false</dashboardEnabled>
            <errorCode>0</errorCode>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Web Service Request Complete</messages>
            <private>false</private>
            <sessionId>6dc344c3e5dee88864998f4acc17d676</sessionId>
            <statusCode>SUCCESS</statusCode>
         </return>
      </ns2:remoteReportCallResponse>
   </S:Body>
</S:Envelope>

 

 

Instructions

See below for step-by-step instructions on how to perform this call, using a Java example:

  • Here's a basic request to perform this call, which includes logging in as the admin user and specifying the web service call to perform:

    ReportServiceRequest rsr = new ReportServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
    
    rsr.setReportRequest("COMMENTSTATUS");

 

  • If you need to specify the client org where the report exists, add this to your code:

    rsr.setOrgRef("org1");      // search for the report in this client org



  • This function requires a ReportComment object to specify the new status to be given to the report:

    ReportComment rc=new ReportComment();
  • You can even specify which report's comment to change the status of:

    rc.setReportId(60712);



  • Specify which comment to change the status of, and the new status option:

    rc.setCommentId(12345);
    rc.setStatusCode("OPEN");
  • Pass the 'rc' object to the request:

    rsr.setReportComment(rc);
  • Once the request is configured, carry out the call:

    ReportServiceResponse rs=rsc.remoteReportCall(rsr);

    Initialize the Report web service. Click here to learn how to do this. 

 

  • The response returned will contain the StatusCode parameter. Refer to the Response Parameter table above for details.

 


Complete Example

Below is a full example of this function. To use it for yourself, carry out the following the steps:

  1. Copy the code and save it as ws_commentstatus.jsp.
  2. Put the file in the root folder, which is Yellowfin/appserver/webapps/ROOT.
  3. Adjust host, port, and admin user to add details according to your environment.
  4. Run http://<host>:<port>/ws_commentstatus.jsp from your Internet browser.

 

<%           
/*              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 = 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());
	} 
%>

 


 

 

 

 

 

 

 

 

Dashboard Management

The web services in this section related to dashboard management.

 

This function retrieves a specified dashboard tab's definition or metadata.

 

Request Elements

The following elements will be passed with this request:

Request Element

Data Type

Description

LoginId

String

Yellowfin web services administrator user Id. This can be the user ID or the email address, depending on the Logon ID method.

This Yellowfin account must have the “web services” role enabled, and must belong to the Default (i.e. Primary) Org.

Password

String

Password of the above account.

OrgId

Integer

Default (i.e. Primary) organization ID within Yellowfin. Always set this to 1.

ReportRequest

String

Web services function. Set this to "LOADDASHBOARDTAB".

OrgRef

String

Optional parameter to specify an internal reference ID of a Client Org.

DashboardTabIdIntegerAn internal ID to specify the dashboard that is to be loaded.


 

Request Example

The following SOAP example shows the parameters that you can pass to this call:

<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>LOADDASHBOARDTAB</reportRequest>
            <dashboardTabId>61251</dashboardTabId>
         </arg0>
      </web:remoteReportCall>
   </soapenv:Body>
</soapenv:Envelope>

 

 

Response Elements

The response returned will contain these parameters:

Response ElementData TypeDescription
StatusCodeStringStatus of the web service call. Possible values include:
  • SUCCESS
  • FAILURE
DashboardDashboardDefinitionObject containing metadata of the specified dashboard and its subtabs.

 

 

Response Example

The service will return the below response, according to our SOAP example:

<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>
               <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>
                .
				.
				.
               <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>
               <longDescription/>
               <owner>0</owner>
               <parentGroupId>0</parentGroupId>
               <shortDescription>Sales Performance</shortDescription>
               <startDate>2017-06-26T00:00:00+10:00</startDate>
               <statusCode>OPEN</statusCode>
               <styleCode>TWO</styleCode>
               <tabId>61251</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>03742b3ded4615ea3c6830654dc20aef</sessionId>
            <statusCode>SUCCESS</statusCode>
         </return>
      </ns2:remoteReportCallResponse>
   </S:Body>
</S:Envelope>

 

 

Instructions

See below for step-by-step instructions on how to perform this call, using a Java example:

  • Here's a basic request to perform this call, which includes logging in as the admin user and specifying the web service call to perform:

    ReportServiceRequest rsr = new ReportServiceRequest();
     
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
    
    rsr.setReportRequest("LOADPARENTDASHBOARDTAB");
  • If you need to specify the client org where the report exists, add this to your code:

    rsr.setOrgRef("org1");      // search for the report in this client org



  • Specify which dashboard tab's details to fetch:

    rsr.setDashboardTabId(70080);



  • Once the request is configured, carry out the call:

    ReportServiceResponse rs=rsc.remoteReportCall(rsr);

    Initialize the Report web service. Click here to learn how to do this. 

 

  • The response returned will contain the following parameters: StatusCode, Dashboard, Subtabs. (See the Response Parameters table above for more details.)


Complete Example

Below is a full example of this function. To use it for yourself, carry out the following the steps:

  1. Copy the code and save it as ws_loadparentdashboardtab.jsp.
  2. Put the file in the root folder, which is Yellowfin/appserver/webapps/ROOT.
  3. Adjust host, port, and admin user to add details according to your environment.
  4. Run http://<host>:<port>/ws_loadparentdashboardtab.jsp from your Internet browser.

 

/*				ws_loadparentdashboardtab.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("LOADPARENTDASHBOARDTAB");
	rsr.setOrgRef("1");
	rsr.setReportId(60712);
	rsr.setAlterationCommand("drill-down|60712");
	rsr.setReportClientReferenceId("1");
	rsr.setDashboardTabId(70080);
	
	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());
	} 
%>

  


 

This function retrieves a specific dashboard's parent tab's definition or metadata.

 

Request Elements

The following elements will be passed with this request:

Request Element

Data Type

Description

LoginId

String

Yellowfin web services administrator user Id. This can be the user ID or the email address, depending on the Logon ID method.

This Yellowfin account must have the “web services” role enabled, and must belong to the Default (i.e. Primary) Org.

Password

String

Password of the above account.

OrgId

Integer

Default (i.e. Primary) organization ID within Yellowfin. Always set this to 1.

ReportRequest

String

Web services function. Set this to "LOADPARENTDASHBOARDTAB".

OrgRef

String

Optional parameter to specify an internal reference ID of a Client Org.

DashboardTabIdIntegerAn internal ID to specify the dashboard that is to be loaded.
SessionIdInteger(Optional) To specify a previous session by its ID.
LanguageCode (Optional) To specify a language.
ReportsOption (Optional) A list of email addresses to send the report to.


 

Request Example

The following SOAP example shows the parameters that you can pass to this call:

<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>LOADPARENTDASHBOARDTAB</reportRequest>
            <dashboardTabId>61251</dashboardTabId>
         </arg0>
      </web:remoteReportCall>
   </soapenv:Body>
</soapenv:Envelope>

 

 

Response Elements

The response returned will contain these parameters:

Response ElementData TypeDescription
StatusCodeStringStatus of the web service call. Possible values include:
  • SUCCESS
  • FAILURE
DashboardDashboardDefinitionObject containing metadata of the specified dashboard and its subtabs.

 

 

Response Example

The service will return the below response, according to our SOAP example:

<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>
                  <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>

Instructions

See below for step-by-step instructions on how to perform this call, using a Java example:

  • Here's a basic request to perform this call, which includes logging in as the admin user and specifying the web service call to perform:

    ReportServiceRequest rsr = new ReportServiceRequest();
     
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
    
    rsr.setReportRequest("LOADPARENTDASHBOARDTAB");
  • If you need to specify the client org where the report exists, add this to your code:

    rsr.setOrgRef("org1");      // search for the report in this client org



  • Specify which dashboard tab's details to fetch:

    rsr.setDashboardTabId(70080);



  • Once the request is configured, carry out the call:

    ReportServiceResponse rs=rsc.remoteReportCall(rsr);

    Initialize the Report web service. Click here to learn how to do this. 

 

  • The response returned will contain the following parameters: StatusCode, Dashboard, Subtabs. (See the Response Parameters table above for more details.)


Complete Example

Below is a full example of this function. To use it for yourself, carry out the following the steps:

  1. Copy the code and save it as ws_loadparentdashboardtab.jsp.
  2. Put the file in the root folder, which is Yellowfin/appserver/webapps/ROOT.
  3. Adjust host, port, and admin user to add details according to your environment.
  4. Run http://<host>:<port>/ws_loadparentdashboardtab.jsp from your Internet browser.

 

/*				ws_loadparentdashboardtab.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("LOADPARENTDASHBOARDTAB");
	rsr.setOrgRef("1");
	rsr.setReportId(60712);
	rsr.setAlterationCommand("drill-down|60712");
	rsr.setReportClientReferenceId("1");
	rsr.setDashboardTabId(70080);
	
	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());
	} 
%>

 


 

  • No labels