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

Objects belonging to a user in a Primary or Client Organization can be retrieved by using the web service calls defined in this section. These are used to retrieve report or dashboard metadata (such as their name, description, ID, etc.). Then links can be provided to access a selected report/dashboard via Yellowfin application (SSO and Session Options).

Note that if you require the actual data of a report (such as its HTML, or PDF), then you should use Yellowfin's Report web services.

 

Retrieving Report Objects

The following web service calls are related to obtaining or managing user reports.

 

Retrieves report metadata for a specified report ID, and a user who requires it. The user can be identified using the AdministrationPerson object.

Keep in mind that each time when you edit a report, Yellowfin changes the report ID whereas the report UUID is always the same for the report. You can use the GETIDFORUUID call to find out what ID corresponds to the report UUID at that moment.

 

Request Parameters

The following parameters should be passed with this request:

Request Element

Data Type

Description

LoginId

String

An admin account to connect to Yellowfin web services. This can be the user ID or the email address, depending on the Logon ID method.

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

Function

String

Web service function. Set this to "GETUSERREPORT".

PersonAdministrationPersonObject containing details of the user. See table below.
OrgRefStringClient organization reference ID. This parameter is not mandatory.
ReportIdIntegerThe unique ID of the report which you want details of. This report should already exist in Yellowfin.

 

These are the main parameters that you must set in the AdministrationPerson object for this web service call:

AdministrationPerson Element

Data Type

Description

UserId

String

To identify the user for whom to retrieve the report. This could be the user ID or email address, depending on the Logon ID method.

 

 

Request Example

Below is a SOAP XML example for this request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:remoteAdministrationCall>
         <arg0>
 		  <loginId>admin@yellowfin.com.au</loginId>
            <password>test</password>
            <orgId>1</orgId>
            <function>GETUSERREPORT</function>
            <reportId>56401</reportId>       
            <person>
                <userId>admin@yellowfin.com.au</userId>              
            </person>       
         </arg0>
      </web:remoteAdministrationCall>
   </soapenv:Body>
</soapenv:Envelope>

 

 

Response Parameters

The returned response will contain these parameters:

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS
  • FAILURE

Person

AdministrationPerson

Full details of the user.

Reports

AdministrationReport[]

An array that contains details of the specified report.

 

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:remoteAdministrationCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
         <return>
            <errorCode>0</errorCode>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Getting user information...</messages>
            <messages>Getting user information...</messages>
            <messages>Web Service Request Complete</messages>
            <person>
               <emailAddress>admin@yellowfin.com.au</emailAddress>
               <firstName>System</firstName>
               <initial/>
               <ipId>5</ipId>
               <languageCode>EN</languageCode>
               <lastName>Administrator</lastName>
               <roleCode>YFADMIN</roleCode>
               <salutationCode/>
               <status>ACTIVE</status>
               <timeZoneCode>AUSTRALIA/SYDNEY</timeZoneCode>
               <userId>admin@yellowfin.com.au</userId>
            </person>
            <reports>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2016-03-29T00:00:00+11:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <publishDate>2016-03-23T00:00:00+11:00</publishDate>
               <reportCategory>Audit Reports</reportCategory>
               <reportDescription/>
               <reportId>56401</reportId>
               <reportName>Active Sessions</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORTANDCHART</reportTemplate>
               <reportUUID>594d4da4-1b58-44d3-bf4f-11456a42f68c</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>4</usage>
               <viewDescription>Yellowfin Usage Audit</viewDescription>
               <viewId>56169</viewId>
               <viewName>NEW VIEW</viewName>
            </reports>
            <sessionId>3a4f9969aa278c03fa4cb891a87d6f36</sessionId>
            <statusCode>SUCCESS</statusCode>
         </return>
      </ns2:remoteAdministrationCallResponse>
   </S:Body>
</S:Envelope>

 

 

Instructions

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

  • Start with a basic request for this function, which includes logging in as the admin user and specifying the web service call to perform:

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(1);
    
    rsr.setFunction("GETUSERREPORT");
  • Specify the user for whom to retrieve the report:

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
    
  • You may even identify a specific client organization:

    rsr.setOrgRef("org1");
    
  • Provide the report ID. Ensure this ID belongs to an existing report.

    rsr.setReportId(70292); 
  • Once the request is configured, perform the call:

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
    

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

 

  • 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

    Person

    AdministrationPerson

    Full details of the user.

    Reports

    AdministrationReport[]

    An array that contains details of the specified report.

  • You can then retrieve the report:

    AdministrationReport[] rpts = rs.getReports();
    AdministrationReport report = rpts[0]; 			// getting the metadata of the first report
    

 

 

 

Complete Example

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

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

 

<%            
/*              ws_getuserreport.jsp              */
%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="com.hof.util.*, java.util.*, java.text.*" %> 
<%@ page import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%
AdministrationServiceService s_adm = new AdministrationServiceServiceLocator("localhost",8080, "/services/AdministrationService", false);        // adjust host and port number
AdministrationServiceSoapBindingStub adminService = (AdministrationServiceSoapBindingStub) s_adm.getAdministrationService();
AdministrationServiceRequest rsr = new AdministrationServiceRequest();

rsr.setLoginId("admin@yellowfin.com.au");          // provide your Yellowfin web services admin account
rsr.setPassword("test");                           // set to the password of the above account
rsr.setOrgId(1);

rsr.setFunction("GETUSERREPORT");
rsr.setOrgRef("org1");
AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("admin@yellowfin.com.au");  			
rsr.setPerson(ap);
 
rsr.setReportId(70297);								//existing report id. ReportId field of ReportHeader table (Yellowifn database)


AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);

if ("SUCCESS".equals(rs.getStatusCode()) ) {
	out.write("Success<br>");

	// get the report details:
	AdministrationReport[] rpts = rs.getReports();
	for (AdministrationReport r: rpts){
		out.write("<br>Report Name: " + r.getReportName());
		out.write("<br>Description: " + r.getReportDescription());
		out.write("<br>Category: " + r.getReportCategory());
		out.write("<br>Subcategory: " + r.getReportSubCategory());
	}
} else {
	out.write("Failure");
	out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

This function retrieves the metadata of all the reports of a specified user. The user can be identified using the AdministrationPerson object.

If a client organization is specifed, then all the reports from there will be retrieved, otherwise all the reports from the default organization will be obtained.

 

Request Parameters

The following parameters should be passed with this request:

Request Element

Data Type

Description

LoginId

String

An admin account to connect to Yellowfin web services. This can be the user ID or the email address, depending on the Logon ID method.

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

Function

String

Web service function. Set this to "GETALLUSERREPORTS".

PersonAdministrationPersonObject containing details of the user. See table below.
OrgRefStringClient organization reference ID. This parameter is not mandatory.

 

These are the main parameters that you must set in the AdministrationPerson object for this web service call:

AdministrationPerson Element

Data Type

Description

UserId

String

To identify the user for whom to retrieve the reports. This could be the user ID or email address, depending on the Logon ID method.

 

 

Request Example

Below is a SOAP XML example for this request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:remoteAdministrationCall>
         <arg0>
 		  <loginId>admin@yellowfin.com.au</loginId>
            <password>test</password>
            <orgId>1</orgId>
            <function>GETALLUSERREPORTS</function>
            <person>
                <userId>binish.sheikh@yellowfin.com.au</userId>              
            </person>       
         </arg0>
      </web:remoteAdministrationCall>
   </soapenv:Body>
</soapenv:Envelope>

 

 

Response Parameters

The returned response will contain these parameters:

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS
  • FAILURE

Person

AdministrationPerson

Full details of the user.

Reports

AdministrationReport[]

An array that contains details of the specified report.

 

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:remoteAdministrationCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
         <return>
            <errorCode>0</errorCode>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Getting user information...</messages>
            <messages>Getting user information...</messages>
            <messages>Web Service Request Complete</messages>
            <person>
               <emailAddress>binish.sheikh@yellowfin.com.au</emailAddress>
               <firstName>Binish</firstName>
               <ipId>13000</ipId>
               <lastName>Sheikh</lastName>
               <roleCode>YFREPORTCONSUMER</roleCode>
               <status>ACTIVE</status>
               <timeZoneCode>AUSTRALIA/BRISBANE</timeZoneCode>
               <userId>binish.sheikh@yellowfin.com.au</userId>
            </person>
            <reports>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2016-03-29T00:00:00+11:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <publishDate>2016-03-23T00:00:00+11:00</publishDate>
               <reportCategory>Audit Reports</reportCategory>
               <reportDescription/>
               <reportId>56401</reportId>
               <reportName>Active Sessions</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORTANDCHART</reportTemplate>
               <reportUUID>594d4da4-1b58-44d3-bf4f-11456a42f68c</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>4</usage>
               <viewDescription>Yellowfin Usage Audit</viewDescription>
               <viewId>56169</viewId>
               <viewName>NEW VIEW</viewName>
            </reports>
            <reports>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>ROW</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2016-03-29T00:00:00+11:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <publishDate>2016-03-23T00:00:00+11:00</publishDate>
               <reportCategory>Audit Reports</reportCategory>
               <reportDescription/>
               <reportId>56398</reportId>
               <reportName>System Startup</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORT</reportTemplate>
               <reportUUID>0866847b-03cc-43ef-9612-2f52467cac8c</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>4</usage>
               <viewDescription>Yellowfin Usage Audit</viewDescription>
               <viewId>56169</viewId>
               <viewName>NEW VIEW</viewName>
            </reports>
            <reports>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>9</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2016-04-13T00:00:00+10:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <publishDate>2016-04-13T00:00:00+10:00</publishDate>
               <reportCategory>Audit Reports</reportCategory>
               <reportDescription/>
               <reportId>57703</reportId>
               <reportName>Top N Data Sources by Report Usage</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORTANDCHART</reportTemplate>
               <reportUUID>e0669303-77ab-459e-bb98-d2fa73851b83</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>0</usage>
               <viewDescription>Yellowfin Usage Audit</viewDescription>
               <viewId>56169</viewId>
               <viewName>NEW VIEW</viewName>
            </reports>
            <reports>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2016-04-13T00:00:00+10:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <publishDate>2016-04-13T00:00:00+10:00</publishDate>
               <reportCategory>Audit Reports</reportCategory>
               <reportDescription/>
               <reportId>57911</reportId>
               <reportName>Top N Longest Avg Report Rows</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORTANDCHART</reportTemplate>
               <reportUUID>f75a2389-39d8-497b-8fb2-5d1a3fc6d605</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>0</usage>
               <viewDescription>Yellowfin Usage Audit</viewDescription>
               <viewId>56169</viewId>
               <viewName>NEW VIEW</viewName>
            </reports>
            <sessionId>c4919cd467b887a60fd4449eaa3ab9a1</sessionId>
            <statusCode>SUCCESS</statusCode>
         </return>
      </ns2:remoteAdministrationCallResponse>
   </S:Body>
</S:Envelope>

 

 

Instructions

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

  • Start with a basic request for this function, which includes logging in as the admin user and specifying the web service call to perform:

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(1);
    
    rsr.setFunction("GETALLUSERREPORTS");
  • Specify the user for whom to retrieve the report:

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
    
  • You may even identify a specific client organization to search for reports only in that organization:

    rsr.setOrgRef("org1");
    
  • Once the request is configured, perform the call:

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
    

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

 

  • 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

    Person

    AdministrationPerson

    Full details of the user.

    Reports

    AdministrationReport[]

    An array that contains details of all reports.

 

 

 

Complete Example

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

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

 

<%            
/*              ws_getuserreport.jsp              */
%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="com.hof.util.*, java.util.*, java.text.*" %> 
<%@ page import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%
AdministrationServiceService s_adm = new AdministrationServiceServiceLocator("localhost",8080, "/services/AdministrationService", false);        // adjust host and port number
AdministrationServiceSoapBindingStub adminService = (AdministrationServiceSoapBindingStub) s_adm.getAdministrationService();
AdministrationServiceRequest rsr = new AdministrationServiceRequest();

rsr.setLoginId("admin@yellowfin.com.au");          // provide your Yellowfin web services admin account
rsr.setPassword("test");                           // set to the password of the above account
rsr.setOrgId(1);
rsr.setFunction("GETALLUSERREPORTS");
rsr.setOrgRef("org1");
AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("admin@yellowfin.com.au");  			
rsr.setPerson(ap);

AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
if ("SUCCESS".equals(rs.getStatusCode()) ) {
	out.write("Success<br>" + rs.getReports().length + " reports retrieved");
	
	// get the report details:
	AdministrationReport[] rpts = rs.getReports();
	for (AdministrationReport r: rpts){
		out.write("<br><br>Report Name: " + r.getReportName());
		out.write("<br>Description: " + r.getReportDescription());
		out.write("<br>Category: " + r.getReportCategory());
		out.write("<br>Subcategory: " + r.getReportSubCategory());
	}
} else {
	out.write("Failure");
	out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

This function returns all reports with comments, that are accessible to a specified user. Use the AdministrationPerson object to specify the user.

If a client organization is specifed, then all the commented reports from there will be retrieved, otherwise reports from the default organization will be obtained.

 

Request Parameters

The following parameters should be passed with this request:

Request Element

Data Type

Description

LoginId

String

An admin account to connect to Yellowfin web services. This can be the user ID or the email address, depending on the Logon ID method.

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

Function

String

Web service function. Set this to "GETREPORTSWITHCOMMENTS".

PersonAdministrationPersonObject containing details of the user. See table below.
OrgRefStringClient organization reference ID. This parameter is not mandatory.

 

These are the main parameters that you must set in the AdministrationPerson object for this web service call:

AdministrationPerson Element

Data Type

Description

UserId

String

To identify the user for whom to retrieve the reports. This could be the user ID or email address, depending on the Logon ID method.

 

 

Request Example

Below is a SOAP XML example for this request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:remoteAdministrationCall>
         <arg0>
 		  <loginId>admin@yellowfin.com.au</loginId>
            <password>test</password>
            <orgId>1</orgId>
            <function>GETREPORTSWITHCOMMENTS</function>
            <person>
                <userId>admin@yellowfin.com.au</userId>              
            </person>       
         </arg0>
      </web:remoteAdministrationCall>
   </soapenv:Body>
</soapenv:Envelope>

 

Response Parameters

The returned response will contain these parameters:

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS
  • FAILURE

Person

AdministrationPerson

Full details of the user.

Reports

AdministrationReport[]

An array that contains details of the commented report.

 

 

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:remoteAdministrationCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
         <return>
            <errorCode>0</errorCode>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Getting user information...</messages>
            <messages>Getting user information...</messages>
            <messages>Web Service Request Complete</messages>
            <person>
               <emailAddress>admin@yellowfin.com.au</emailAddress>
               <firstName>System</firstName>
               <initial/>
               <ipId>5</ipId>
               <languageCode>EN</languageCode>
               <lastName>Administrator</lastName>
               <roleCode>YFADMIN</roleCode>
               <salutationCode/>
               <status>ACTIVE</status>
               <timeZoneCode>AUSTRALIA/SYDNEY</timeZoneCode>
               <userId>admin@yellowfin.com.au</userId>
            </person>
            <reports>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2017-06-26T00:00:00+10:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <lastRunTime>0</lastRunTime>
               <publishDate>2014-08-20T00:00:00+10:00</publishDate>
               <reportCategory>Tutorial</reportCategory>
               <reportDescription>Drill Anywhere report to compare invoicing figures by different categories.</reportDescription>
               <reportId>61025</reportId>
               <reportName>Invoice vs. Estimate</reportName>
               <reportSubCategory>Marketing &amp; Booking</reportSubCategory>
               <reportTemplate>REPORTANDCHART</reportTemplate>
               <reportUUID>879d3175-1d40-4495-a4d4-45a24e781e53</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>1</usage>
               <viewDescription>Ski Team</viewDescription>
               <viewId>70103</viewId>
               <viewName>New View</viewName>
            </reports>
            <sessionId>5504cc102037ca2193083902900abf75</sessionId>
            <statusCode>SUCCESS</statusCode>
         </return>
      </ns2:remoteAdministrationCallResponse>
   </S:Body>
</S:Envelope>

 

 

Instructions

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

  • Start with a basic request for this function, which includes logging in as the admin user and specifying the web service call to perform:

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(1);
    
    rsr.setFunction("GETREPORTSWITHCOMMENTS");
  • Specify the user for whom to retrieve the report:

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
    
  • Once the request is configured, perform the call:

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
    

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

 

  • 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

    Person

    AdministrationPerson

    Full details of the user.

    Reports

    AdministrationReport[]

    An array that contains details of commented reports.

 

 

 

Complete Example

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

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

 

<%            
/*              ws_getreportswithcomments.jsp              */
%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="com.hof.util.*, java.util.*, java.text.*" %> 
<%@ page import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%
AdministrationServiceService s_adm = new AdministrationServiceServiceLocator("localhost",8080, "/services/AdministrationService", false);        // adjust host and port number
AdministrationServiceSoapBindingStub adminService = (AdministrationServiceSoapBindingStub) s_adm.getAdministrationService();
AdministrationServiceRequest rsr = new AdministrationServiceRequest();

rsr.setLoginId("admin@yellowfin.com.au");          // provide your Yellowfin web services admin account
rsr.setPassword("test");                           // set to the password of the above account
rsr.setOrgId(1);
rsr.setFunction("GETREPORTSWITHCOMMENTS");
rsr.setOrgRef("org1");
AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("admin@yellowfin.com.au");  			
rsr.setPerson(ap);

AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
if ("SUCCESS".equals(rs.getStatusCode()) ) {
	out.write("Success<br>" + rs.getReports().length + " reports retrieved");
	
	// get the report details:
	AdministrationReport[] rpts = rs.getReports();
	for (AdministrationReport r: rpts){
		out.write("<br><br>Report Name: " + r.getReportName());
		out.write("<br>Description: " + r.getReportDescription());
		out.write("<br>Category: " + r.getReportCategory());
		out.write("<br>Subcategory: " + r.getReportSubCategory());
	}
} else {
	out.write("Failure");
	out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

This function returns draft report (thta is, reports that were modified and not saved or activated) that are accessible to a specified user. Use the AdministrationPerson object to specify the user.

 

Request Parameters

The following parameters should be passed with this request:

Request Element

Data Type

Description

LoginId

String

An admin account to connect to Yellowfin web services. This can be the user ID or the email address, depending on the Logon ID method.

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

Function

String

Web service function. Set this to "GETUSERDRAFTREPORTS".

PersonAdministrationPersonObject containing details of the user. See table below.
OrgRefStringClient organization reference ID. This parameter is not mandatory.

 

These are the main parameters that you must set in the AdministrationPerson object for this web service call:

AdministrationPerson Element

Data Type

Description

UserId

String

To identify the user for whom to retrieve the draft reports. This could be the user ID or email address, depending on the Logon ID method.

 

 

Request Example

Below is a SOAP XML example for this request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:remoteAdministrationCall>
         <arg0>
 		  <loginId>admin@yellowfin.com.au</loginId>
            <password>test</password>
            <orgId>1</orgId>
            <function>GETUSERDRAFTREPORTS</function>
            <person>
                <userId>admin@yellowfin.com.au</userId>              
            </person>       
         </arg0>
      </web:remoteAdministrationCall>
   </soapenv:Body>
</soapenv:Envelope>

 

 

Response Parameters

The returned response will contain these parameters:

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS
  • FAILURE

Person

AdministrationPerson

Full details of the user.

Reports

AdministrationReport[]

An array that contains details of the draft reports.

 

 

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:remoteAdministrationCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
         <return>
            <errorCode>0</errorCode>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Getting user information...</messages>
            <messages>Getting user information...</messages>
            <messages>Web Service Request Complete</messages>
            <person>
               <emailAddress>admin@yellowfin.com.au</emailAddress>
               <firstName>System</firstName>
               <initial/>
               <ipId>5</ipId>
               <languageCode>EN</languageCode>
               <lastName>Administrator</lastName>
               <roleCode>YFADMIN</roleCode>
               <salutationCode/>
               <status>ACTIVE</status>
               <timeZoneCode>AUSTRALIA/SYDNEY</timeZoneCode>
               <userId>admin@yellowfin.com.au</userId>
            </person>
            <reports>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2018-02-16T00:00:00+11:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <reportCategory>Audit Reports</reportCategory>
               <reportDescription>Ski Team, 16/2/2018 12:09 PM</reportDescription>
               <reportId>70079</reportId>
               <reportName>Draft Report</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORT</reportTemplate>
               <reportUUID>df0be222-2819-466c-9118-203f9d75acb9</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>0</usage>
               <viewDescription>Ski Team</viewDescription>
               <viewId>70103</viewId>
               <viewName>New View</viewName>
            </reports>
            <reports>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2018-02-19T00:00:00+11:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <reportCategory>Audit Reports</reportCategory>
               <reportDescription>Ski Team, 19/2/2018 5:37 PM</reportDescription>
               <reportId>70284</reportId>
               <reportName>Draft Report</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORT</reportTemplate>
               <reportUUID>2fe4814b-98da-4c35-ab65-43c0916449fa</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>40</usage>
               <viewDescription>Ski Team</viewDescription>
               <viewId>70103</viewId>
               <viewName>New View</viewName>
            </reports>
            <reports>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2018-02-20T00:00:00+11:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <reportCategory>Audit Reports</reportCategory>
               <reportDescription>Ski Team, 20/2/2018 10:56 AM</reportDescription>
               <reportId>70299</reportId>
               <reportName>Draft Report</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORTANDCHART</reportTemplate>
               <reportUUID>1180e1db-a01c-478e-9d32-55276000abcc</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>100</usage>
               <viewDescription>Ski Team</viewDescription>
               <viewId>70103</viewId>
               <viewName>New View</viewName>
            </reports>
            <reports>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2018-02-22T00:00:00+11:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <reportCategory>Audit Reports</reportCategory>
               <reportDescription>Ski Team, 22/2/2018 5:19 PM</reportDescription>
               <reportId>70336</reportId>
               <reportName>Draft Report</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORT</reportTemplate>
               <reportUUID>52da336a-b35b-42a6-be64-8e53d598fbe4</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>0</usage>
               <viewDescription>Ski Team</viewDescription>
               <viewId>70103</viewId>
               <viewName>New View</viewName>
            </reports>
            <sessionId>da91fe1685c8cb4496d8c8374c57035b</sessionId>
            <statusCode>SUCCESS</statusCode>
         </return>
      </ns2:remoteAdministrationCallResponse>
   </S:Body>
</S:Envelope>

 

 

Instructions

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

  • Start with a basic request for this function, which includes logging in as the admin user and specifying the web service call to perform:

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(1);
    
    rsr.setFunction("GETUSERDRAFTREPORTS");
  • Specify the user for whom to retrieve the report:

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
    
  • Once the request is configured, perform the call:

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
    

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

 

  • 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

    Person

    AdministrationPerson

    Full details of the user.

    Reports

    AdministrationReport[]

    An array that contains details of draft reports.

 

 

 

Complete Example

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

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

 

<%            
/*              ws_getdraftreports.jsp              */
%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="com.hof.util.*, java.util.*, java.text.*" %> 
<%@ page import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%
AdministrationServiceService s_adm = new AdministrationServiceServiceLocator("localhost",8080, "/services/AdministrationService", false);        // adjust host and port number
AdministrationServiceSoapBindingStub adminService = (AdministrationServiceSoapBindingStub) s_adm.getAdministrationService();
AdministrationServiceRequest rsr = new AdministrationServiceRequest();

rsr.setLoginId("admin@yellowfin.com.au");          // provide your Yellowfin web services admin account
rsr.setPassword("test");                           // set to the password of the above account
rsr.setOrgId(1);
rsr.setFunction("GETUSERDRAFTREPORTS");
//rsr.setOrgRef("org1");
AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("admin@yellowfin.com.au");  			
rsr.setPerson(ap);

AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
if ("SUCCESS".equals(rs.getStatusCode()) ) {
	out.write("Success<br>" + rs.getReports().length + " reports retrieved");
	
	// get the report details:
	AdministrationReport[] rpts = rs.getReports();
	for (AdministrationReport r: rpts){
		out.write("<br><br>Report Name: " + r.getReportName());
		out.write("<br>Description: " + r.getReportDescription());
		out.write("<br>Category: " + r.getReportCategory());
		out.write("<br>Subcategory: " + r.getReportSubCategory());
	}
} else {
	out.write("Failure");
	out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

This function deletes a specified user report. The report can be identified with either the report ID or the report UUID. Use the AdministrationPerson object to specify the user.

 

Request Parameters

The following parameters should be passed with this request:

Request Element

Data Type

Description

LoginId

String

An admin account to connect to Yellowfin web services. This can be the user ID or the email address, depending on the Logon ID method.

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

Function

String

Web service function. Set this to "GETUSERDRAFTREPORTS".

PersonAdministrationPersonObject containing details of the user. See table below.
OrgRefStringClient organization reference ID. This parameter is not mandatory.
ReportIdIntegerThe unique ID of the report to delete. This should already exist in the system.
ParametersString[]Or instead of the ReportId parameter, use this to pass an element with the report UUID.

 

These are the main parameters that you must set in the AdministrationPerson object for this web service call:

AdministrationPerson Element

Data Type

Description

UserId

String

To identify the user whose report to delete. This could be the user ID or email address, depending on the Logon ID method.

 

 

Request Example

Below is a SOAP XML example for this request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:remoteAdministrationCall>
         <arg0>
 		  <loginId>admin@yellowfin.com.au</loginId>
            <password>test</password>
            <orgId>1</orgId>
            <function>DELETEREPORT</function>
            <reportId>56398</reportId>
            <person>
                <userId>binish.sheikh@yellowfin.com.au</userId>              
            </person>       
         </arg0>
      </web:remoteAdministrationCall>
   </soapenv:Body>
</soapenv:Envelope>

 

 

Response Parameters

The returned response 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:remoteAdministrationCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
         <return>
            <errorCode>0</errorCode>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Web Service Request Complete</messages>
            <sessionId>61860d8760ecb216bdf3f455f66c3b14</sessionId>
            <statusCode>SUCCESS</statusCode>
         </return>
      </ns2:remoteAdministrationCallResponse>
   </S:Body>
</S:Envelope>

 

 

Instructions

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

  • Start with a basic request for this function, which includes logging in as the admin user and specifying the web service call to perform:

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(1);
    
    rsr.setFunction("DELETEREPORT");
  • Specify the user for whom to delete the report:

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
    
  • Specifiy which report to delete, by either providing its ID:

    rsr.setReportId(71081);
    


    or pass the report UUID:

    rsr.setParameters(new String[] {"0ac13905-aa14-4887-9718-44c29b11311b"});
    



  • Once the request is configured, perform the call:

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
    

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

 

  • 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

 

 

 

Complete Example

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

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

 

<%            
/*              ws_deletereport.jsp              */
%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="com.hof.util.*, java.util.*, java.text.*" %> 
<%@ page import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%
AdministrationServiceService s_adm = new AdministrationServiceServiceLocator("localhost",8080, "/services/AdministrationService", false);        // adjust host and port number
AdministrationServiceSoapBindingStub adminService = (AdministrationServiceSoapBindingStub) s_adm.getAdministrationService();
AdministrationServiceRequest rsr = new AdministrationServiceRequest();

rsr.setLoginId("admin@yellowfin.com.au");          // provide your Yellowfin web services admin account
rsr.setPassword("test");                           // set to the password of the above account
rsr.setOrgId(1);
rsr.setFunction("DELETEREPORT");
//rsr.setOrgRef("org1");
AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("admin@yellowfin.com.au");  			
rsr.setPerson(ap);
 
//pass the report ID:
rsr.setReportId(71081);

//or the report UUID:
rsr.setParameters(new String[] {"0ac13905-aa14-4887-9718-44c29b11311b"});


AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
if ("SUCCESS".equals(rs.getStatusCode()) ) {
	out.write("<br>Report has been deleted.");
} else {
	out.write("Failure");
	out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

 

 

Retrieving Dashboard Objects

The following web service calls are related to obtaining or managing user dashboards.

 

This web service call will return the metadata of all the published dashboards for a specified user. It also treats each sub tab within a dashboard as separate tabs so that if there is a dashboard with 2 sub tabs, GETUSERTABS call retrieves 2 AdministrationReportGroup objects for the dashboard. To get the parent dashboard metadata, do GETUSERPARENTTABS call.

You can provide a dashboard tab/subtab Id to retrieve a specific dashboard tab/subtab data via request.setDashboardTabId(<Integer>).

Requires user Id. User Id should be passed via AdministrationPerson object.

The dashboard reports metadata will not be retrieved. If you need reports metadata, do GETUSERTABSWITHREPORTS call.

 

Request Parameters

The following parameters should be passed with this request:

Request Element

Data Type

Description

LoginId

String

An admin account to connect to Yellowfin web services. This can be the user ID or the email address, depending on the Logon ID method.

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

Function

String

Web service function. Set this to "GETUSERREPORT".

PersonAdministrationPersonObject containing details of the user. See table below.
OrgRefStringClient organization reference ID. This parameter is not mandatory.
ReportIdIntegerThe unique ID of the report which you want details of. This report should already exist in Yellowfin.

 

These are the main parameters that you must set in the AdministrationPerson object for this web service call:

AdministrationPerson Element

Data Type

Description

UserId

String

To identify the user for whom to retrieve the report. This could be the user ID or email address, depending on the Logon ID method.

 

 

Request Example

Below is a SOAP XML example for this request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:remoteAdministrationCall>
         <arg0>
 		  <loginId>admin@yellowfin.com.au</loginId>
            <password>test</password>
            <orgId>1</orgId>
            <function>GETUSERREPORT</function>
            <reportId>56401</reportId>       
            <person>
                <userId>admin@yellowfin.com.au</userId>              
            </person>       
         </arg0>
      </web:remoteAdministrationCall>
   </soapenv:Body>
</soapenv:Envelope>

 

 

Response Parameters

The returned response will contain these parameters:

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS
  • FAILURE

Person

AdministrationPerson

Full details of the user.

Reports

AdministrationReport[]

An array that contains details of the specified report.

 

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:remoteAdministrationCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
         <return>
            <errorCode>0</errorCode>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Getting user information...</messages>
            <messages>Getting user information...</messages>
            <messages>Web Service Request Complete</messages>
            <person>
               <emailAddress>admin@yellowfin.com.au</emailAddress>
               <firstName>System</firstName>
               <initial/>
               <ipId>5</ipId>
               <languageCode>EN</languageCode>
               <lastName>Administrator</lastName>
               <roleCode>YFADMIN</roleCode>
               <salutationCode/>
               <status>ACTIVE</status>
               <timeZoneCode>AUSTRALIA/SYDNEY</timeZoneCode>
               <userId>admin@yellowfin.com.au</userId>
            </person>
            <reports>
               <authoringMode>JAVA</authoringMode>
               <averageRunTime>0</averageRunTime>
               <birtData/>
               <chartTypeCode/>
               <dashboardEnabled>true</dashboardEnabled>
               <dataOutput>COLUMN</dataOutput>
               <deliveryMode/>
               <executionObject/>
               <lastModifiedDate>2016-03-29T00:00:00+11:00</lastModifiedDate>
               <lastModifierId>5</lastModifierId>
               <lastModifierName>System Administrator</lastModifierName>
               <publishDate>2016-03-23T00:00:00+11:00</publishDate>
               <reportCategory>Audit Reports</reportCategory>
               <reportDescription/>
               <reportId>56401</reportId>
               <reportName>Active Sessions</reportName>
               <reportSubCategory>Admin Reports</reportSubCategory>
               <reportTemplate>REPORTANDCHART</reportTemplate>
               <reportUUID>594d4da4-1b58-44d3-bf4f-11456a42f68c</reportUUID>
               <roleCode>OPERATIONAL</roleCode>
               <sourceName/>
               <usage>4</usage>
               <viewDescription>Yellowfin Usage Audit</viewDescription>
               <viewId>56169</viewId>
               <viewName>NEW VIEW</viewName>
            </reports>
            <sessionId>3a4f9969aa278c03fa4cb891a87d6f36</sessionId>
            <statusCode>SUCCESS</statusCode>
         </return>
      </ns2:remoteAdministrationCallResponse>
   </S:Body>
</S:Envelope>

 

 

Instructions

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

  • Start with a basic request for this function, which includes logging in as the admin user and specifying the web service call to perform:

    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(1);
    
    rsr.setFunction("GETUSERREPORT");
  • Specify the user for whom to retrieve the report:

    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
    
  • You may even identify a specific client organization:

    rsr.setOrgRef("org1");
    
  • Provide the report ID. Ensure this ID belongs to an existing report.

    rsr.setReportId(70292); 
  • Once the request is configured, perform the call:

    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
    

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

 

  • 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

    Person

    AdministrationPerson

    Full details of the user.

    Reports

    AdministrationReport[]

    An array that contains details of the specified report.

  • You can then retrieve the report:

    AdministrationReport[] rpts = rs.getReports();
    AdministrationReport report = rpts[0]; 			// getting the metadata of the first report
    

 

 

 

Complete Example

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

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

 

<%            
/*              ws_getuserreport.jsp              */
%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="com.hof.util.*, java.util.*, java.text.*" %> 
<%@ page import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%
AdministrationServiceService s_adm = new AdministrationServiceServiceLocator("localhost",8080, "/services/AdministrationService", false);        // adjust host and port number
AdministrationServiceSoapBindingStub adminService = (AdministrationServiceSoapBindingStub) s_adm.getAdministrationService();
AdministrationServiceRequest rsr = new AdministrationServiceRequest();

rsr.setLoginId("admin@yellowfin.com.au");          // provide your Yellowfin web services admin account
rsr.setPassword("test");                           // set to the password of the above account
rsr.setOrgId(1);

rsr.setFunction("GETUSERREPORT");
rsr.setOrgRef("org1");
AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("admin@yellowfin.com.au");  			
rsr.setPerson(ap);
 
rsr.setReportId(70297);								//existing report id. ReportId field of ReportHeader table (Yellowifn database)


AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);

if ("SUCCESS".equals(rs.getStatusCode()) ) {
	out.write("Success<br>");

	// get the report details:
	AdministrationReport[] rpts = rs.getReports();
	for (AdministrationReport r: rpts){
		out.write("<br>Report Name: " + r.getReportName());
		out.write("<br>Description: " + r.getReportDescription());
		out.write("<br>Category: " + r.getReportCategory());
		out.write("<br>Subcategory: " + r.getReportSubCategory());
	}
} else {
	out.write("Failure");
	out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

  • No labels