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

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

These web services will allow you to manage configuration settings in Yellowfin, as well as enter an admin mode.


Basic Configuration Functions

The following set of web services can be used to configure update system and customer configuration settings in Yellowfin.

Anchor
saveconfiguration
saveconfiguration

 

Response Example

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

Expand
titleSAVECONFIGURATION

This function updates the system configuration settings in Yellowfin. This works by changing the setting details directly in the Configuration table in Yellowfin’s database, however only the general system settings are affected, not any custom settings. Yellowfin determines these by checking the ConfigTypeCode column for the value “SYSTEM”. Therefore, this mainly effects the default organization.

Once the database table has been updated, you will need to restart Yellowfin for these changes to take effect.  


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 "SAVECONFIGURATION".

ParametersString[]Array of strings. This parameter is used to pass the configuration settings. The first string should be the content for configCode, and the second is for configData of Configuration table.
ClientAdministrationClientOrgThis optional parameter is used to specify a particular client organization whose configurations are to be updated. However, if one is not specified, then the configuration settings will be applied to the default org. It must be noted, however, that the majority of the configuration settings are global and cannot be set up for a particular client.

 

Below are the mandatory parameters that you need to set in the AdministrationClientOrg object to create a new user:

ParameterData TypeDescription

clientReferenceIdClientReferenceId

String

The unique ID used to identify a client.



Request Example

Below is a SOAP XML example for this request:

Code Block
languagexml

 

 

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
Code Block
languagexml
 

 

 

Instructions

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

if ("SUCCESS".equals(rs.getStatusCode()) ) {
<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>
            
out.write("<br>Success");
<function>SAVECONFIGURATION</function>
            
}
<parameters>Simple_Authentication</parameters>
            <parameters>true</parameters>  
else
 
{
   
         
out.write("<br>Failure");
</arg0>
      </web:remoteAdministrationCall>
   
out.write(" Code: " + rs.getErrorCode()); }
</soapenv:Body>
</soapenv:Envelope>
Expand
titleStep-by-step instructions
Define the request for this function, which includes logging in as the admin user and specifying the web service call to perform:
Code Block
languagejava
themeConfluence
AdministrationServiceRequest rsr = new AdministrationServiceRequest();
 
rsr.setLoginId("admin@yellowfin.com.au");      	
rsr.setPassword("test");  
rsr.setOrgId(1);
rsr.setFunction("SAVECONFIGURATION");

Pass the configuration setting to be updated in the Parameters object. The code example below sets Yellowfin's authentication method to Simple.

Code Block
languagejava
rsr.setParameters(new String[]{"SIMPLE_AUTHENTICATION","TRUE"});
Once the request is configured, perform the call:
Code Block
languagejava
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);

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

 

Add the following code to retrieve the response. The response will contain the StatusCode. (See details in the Response Parameters table above.)
Code Block
languagejava

 

 

 

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_saveconfiguration.jsp.
  2. Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
  3. Adjust the host, port, and admin user details according to your environment.
  4. Run http://<host>:<port>/ws_saveconfiguration.jsp from your Internet browser.

 

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:

Code Block
languagexml
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
Code Block
languagejava
themeEclipse
<%        	
/*<ns2:remoteAdministrationCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
          	ws_SAVECONFIGURATION.jsp<return>
            <errorCode>0</errorCode>
          	*/
%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="com.hof.util.*, java.util.*, java.text.*" %>
<%@ page import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%
 
/*<messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Web Service Request Complete</messages>
           	
	This example sets Yellowfin authentication method to Simple.
 <sessionId>15359eb5b3d7d2c63c6f43affe5f3b45</sessionId>
         That means, once Yellowfin has been restarted, the <statusCode>SUCCESS</statusCode>
    LOGINUSERNOPASSWORD call can be used to log users into Yellowfin with no password provided.
*/
 
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();
  </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:

Expand
titleStep-by-step instructions
  • Define the request for this function, which includes logging in as the admin user and specifying the web service call to perform:

    Code Block
    languagejava
    themeConfluence
    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
     
    rsr.setLoginId("admin@yellowfin.com.au");      	
// provide your Yellowfin webservices admin account
  • 
    rsr.setPassword("test");  
// set to the password of the account above
  • 
    rsr.setOrgId(1);
    rsr.setFunction("SAVECONFIGURATION");
rsr.setParameters(new String[]{"

  • Pass the configuration setting to be updated in the Parameters object. The code example below sets Yellowfin's authentication method to Simple.

    Code Block
    languagejava
    rsr.setParameters(new String[]{"SIMPLE_AUTHENTICATION","TRUE"});

  • Once the request is configured, perform the call:

    Code Block
    languagejava
    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
  • Initialize the Administration web service. Click here to learn how to do this. 

 

  • Add the following code to retrieve the response. The response will contain the StatusCode. (See details in the Response Parameters table above.)

    Code Block
    languagejava
    if ("SUCCESS".equals(rs.getStatusCode()) ) {
                  	out.write("<br>Success");
                  	}
                  	else {
                  	out.write("<br>Failure");
                  	out.write(" Code: " + rs.getErrorCode());
                  	}     
%>
  •  

 

 

Expand
titleSAVECUSTOMPARAMETER

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_saveconfiguration.jsp.
  2. Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
  3. Adjust the host, port, and admin user details according to your environment.
  4. Run http://<host>:<port>/ws_saveconfiguration.jsp from your Internet browser.

 

Code Block
languagejava
themeEclipse
<%        	
/*          	ws_SAVECONFIGURATION.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.*" %>
<%
 
/*          	
	This example sets Yellowfin authentication method to Simple.
    That means, once Yellowfin has been restarted, the
    LOGINUSERNOPASSWORD call can be used to log users into Yellowfin with no password provided.
*/
 
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 webservices admin account
rsr.setPassword("test");                        // set to the password of the account above

This function updates the custom configuration settings in Yellowfin. The custom parameters are those that can be applied to a client organization. This works by changing the details directly in the Configuration table in Yellowfin’s database. Yellowfin determines which settings to change by checking the ConfigTypeCode column for the value “CUSTOM”.

Once the database table has been updated, you will need to restart Yellowfin for these changes to take affect. 

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 " SAVECUSTOMPARAMETER".

ParametersString[]Array of strings. Set the first string to the value of configCode, and the second to that of the configData column of the Configuration table.ClientAdministrationClientOrgThis optional parameter is used to specify a particular client organization whose configurations are to be updated. However, if one is not specified, then the configuration settings will be applied to the default org.

 

Below are the mandatory parameters that you need to set in the AdministrationClientOrg object to create a new user:

ParameterData TypeDescription

ClientReferenceId

String

The unique ID used to identify a client organization.

Request Example

Below is a SOAP XML example for this request:

Code Block
languagexml

 

 

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:

Code Block
languagexml
 

 

 

Instructions

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

AdministrationServiceRequest rsr = new AdministrationServiceRequest(); rsr.setLoginId("admin@yellowfin.com.au"); rsr.setPassword("test");

rsr.setOrgId(1);
rsr.setFunction("
SAVECUSTOMPARAMETER
SAVECONFIGURATION");

Pass the configuration setting to be updated in the Parameters object. The code example below sets Yellowfin's authentication method to 'Simple'.


 
rsr.setParameters(new String[]{"SIMPLE_AUTHENTICATION","TRUE"});
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. 

 

Add the following code to retrieve the response. The response will contain the StatusCode. (See details in the Response Parameters table above.)

 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
              	out.write("<br>Success");
              	}
              	else {
              	out.write("<br>Failure");
              	out.write(" Code: " + rs.getErrorCode());
              	}             	
%>
Expand
titleStep-by-step instructions
Define the request for this function, which includes logging in as the admin user and specifying the web service call to perform:
Code Block
languagejava
themeConfluence
Code Block
languagejava
Code Block
languagejava
Code Block
languagejava

 


 

Anchor
savecustomparameter
savecustomparameter

 

Below are the mandatory parameters that you need to set in the AdministrationClientOrg object to create a new user:

Request Example

Below is a SOAP XML example for this request:

 

 

Response Parameters

The returned response will contain these parameters:

 

Response Example

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

Expand
titleSAVECUSTOMPARAMETER

This function updates the custom configuration settings in Yellowfin. The custom parameters are those that can be applied to a client organization. This works by changing the details directly in the Configuration table in Yellowfin’s database. Yellowfin determines which settings to change by checking the ConfigTypeCode column for the value “CUSTOM”.

Once the database table has been updated, you will need to restart Yellowfin for these changes to take affect. 


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 " SAVECUSTOMPARAMETER".

ParametersString[]Array of strings. Set the first string to the value of configCode, and the second to that of the configData column of the Configuration table.
ClientAdministrationClientOrgThis optional parameter is used to specify a particular client organization whose configurations are to be updated. However, if one is not specified, then the configuration settings will be applied to the default org.

 

Below are the mandatory parameters that you need to set in the AdministrationClientOrg object to create a new user:

ParameterData TypeDescription

ClientReferenceId

String

The unique ID used to identify a client organization.



Request Example

Below is a SOAP XML example for this request:

Code Block
languagexml
<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>

 

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_savecustomparameter.jsp.
  2. Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
  3. Adjust the host, port, and admin user details according to your environment.
  4. Run http://<host>:<port>/ws_savecustomparameter.jsp from your Internet browser.

 

Code Block
languagejava
themeEclipse
<%        	
/*          	ws_savecustomparameter.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.*" %>
<%
 
/*          	
	This example set Yellowfin authentication method to Simple.
    That means, once Yellowfin has been restarted,
    LOGINUSERNOPASSWORD call can be used to log users into Yellowfin with no password provided.
*/
 
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");            <function>SAVECUSTOMPARAMETER</function>
            // change to the password of the account above
rsr.setOrgId(1);
rsr.setFunction("SAVECUSTOMPARAMETER");
 
rsr.setParameters(new String[]{"SIMPLE_AUTHENTICATION","TRUE"});
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {<parameters>Simple_Authentication</parameters>
            <parameters>true</parameters>      
              	out.write("<br>Success");</arg0>
      </web:remoteAdministrationCall>
        	}
              	else {
              	out.write("<br>Failure");
              	out.write(" Code: " + rs.getErrorCode());</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:

Code Block
languagexml
<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  	
%>

 

 

Expand
titleLOADCONFIGURATION
User: admin@yellowfin.com.au</messages>
            <messages>Web Service Request Complete</messages>
            <sessionId>471080457c1359cbf09c29cd348f97d1</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:

Expand
titleStep-by-step instructions
  • Define the request for this function, which includes logging in as the admin user and specifying the web service call to perform:

    Code Block
    languagejava
    themeConfluence
    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
     
    rsr.setLoginId("admin@yellowfin.com.au"); 
    rsr.setPassword("test");   
    rsr.setOrgId(1);
    rsr.setFunction("SAVECUSTOMPARAMETER"); 


  • Pass the configuration setting to be updated in the Parameters object. The code example below sets Yellowfin's authentication method to 'Simple'.

    Code Block
    languagejava
    rsr.setParameters(new String[]{"SIMPLE_AUTHENTICATION","TRUE"});


  • Once the request is configured, perform the call:

    Code Block
    languagejava
    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);

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

 

  • Add the following code to retrieve the response. The response will contain the StatusCode. (See details in the Response Parameters table above.)

    Code Block
    languagejava
    if ("SUCCESS".equals(rs.getStatusCode()) ) {
                  	out.write("<br>Success");
                  	}
                  	else {
                  	out.write("<br>Failure");
                  	out.write(" Code: " + rs.getErrorCode());
                  	}     

     

 

 

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_savecustomparameter.jsp.
  2. Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
  3. Adjust the host, port, and admin user details according to your environment.
  4. Run http://<host>:<port>/ws_savecustomparameter.jsp from your Internet browser.

 

Code Block
languagejava
themeEclipse
<%        	
/*

This web service retrieves the current system configuration details of Yellowfin. This is done by specifying a ConfigCode element; the system then fetches the values saved in that element’s corresponding ConfigData column of the Configuration table in Yellowfin’s database. Note that only system (and not custom) parameters are loaded, as Yellowfin checks for values that contain “SYSTEM” in the ConfigTypeCode column.

For instance, using this you can verify if simple authentication is enabled, that allows users to log in without a password.

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 "LOADCONFIGURATION".

ParametersString[]Array of strings. This is used to pass the value of the ConfigCode element.
ClientAdministrationClientOrgThis optional parameter is used to specify a particular client organization whose configurations are to be updated. However, if one is not specified, then the configuration settings will be applied to the default org.
ParameterData TypeDescription

ClientReferenceId

String

The unique ID used to identify a client organization.

Code Block
languagexml

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS
  • FAILURE

BinaryData

String

Contains the configData value of the specified Configuration.configCode element (from Yellowfin's Configuration database). Null will be returned if no such ConfigCode is found in the Configuration table.

Code Block
languagexml
 

 

 

Instructions

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

if ("SUCCESS".equals(rs.getStatusCode()) ) {
          
out.write("<br>Success"); String data = rs.getBinaryData();
	ws_savecustomparameter.jsp                 
out.write("<br>ConfigData:
 
"
 
+
 
data);
   */
%>
<%@ page language="java" contentType="text/html; 
} else { out.write("<br>Failure");
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.*" %>
<%
 
/*          	
	This example set Yellowfin authentication method to 
out.write(" Code: " + rs.getErrorCode()); }

 

Expand
titleStep-by-step instructions
Code Block
languagejava
themeEclipse
Define the request for this function, which includes logging in as the admin user and specifying the web service call to perform:
Code Block
languagejava
themeConfluence
AdministrationServiceRequest rsr = new AdministrationServiceRequest();
 
rsr.setLoginId("admin@yellowfin.com.au"); 
rsr.setPassword("test");   
rsr.setOrgId(1);
rsr.setFunction("LOADCONFIGURATION"); 

Pass the configuration setting to be updated in the Parameters object. The code example below sets Yellowfin's authentication method to 'Simple'.

Code Block
languagejava
rsr.setParameters(new String[]{"SIMPLE_AUTHENTICATION"});
Once the request is configured, perform the call:
Code Block
languagejava
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);

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

 

Add the following code to retrieve the response. (See the response that is returned in the Response Parameters table above.)
Code Block
languagejava

 

 

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_loadconfiguration.jsp.
  2. Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
  3. Adjust the host, port, and admin user details according to your environment.
  4. Run http://<host>:<port>/ws_loadconfiguration.jsp from your Internet browser.

 

<%        	
/*          	ws_loadconfiguration.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 webservices admin account
rsr.setPassword("test");Simple.
    That means, once Yellowfin has been restarted,
    LOGINUSERNOPASSWORD call can be used to log users into Yellowfin with no password provided.
*/
 
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");                        // change to the password of the account above
rsr.setOrgId(1);
rsr.setFunction("SAVECUSTOMPARAMETER");
 
rsr.setParameters(new String[]{"SIMPLE_AUTHENTICATION","TRUE"});
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
              	out.write("<br>Success");
              	}
              	else {
                 	out.write("<br>Failure");
      	// change to be the password of the account above
rsr.setOrgId(1);
rsr.setFunction("LOADCONFIGURATION");
 
rsr.setParameters(new String[]{"SIMPLE_AUTHENTICATION"});
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
 	out.write(" Code: " + rs.getErrorCode());
              	}             	out.write("<br>Success");
String data = rs.getBinaryData();
              	out.write("<br>ConfigData: " + data);
              	}
else {
              	out.write("<br>Failure");
              	out.write(" Code: " + rs.getErrorCode());
}             	
%>

 

 

Expand
titleLOADCUSTOMPARAMETER

%>

 


 

Anchor
loadconfiguration
loadconfiguration

Expand
titleLOADCONFIGURATION

This web service retrieves the current system configuration details of Yellowfin. This is done by specifying a ConfigCode element; the system then fetches the values saved in that element’s corresponding ConfigData column of the Configuration table in Yellowfin’s database. Note that only system (and not custom) parameters are loaded, as Yellowfin checks for values that contain “SYSTEM” in the ConfigTypeCode column.

For instance, using this you can verify if simple authentication is enabled, that allows users to log in without a password.


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 "LOADCONFIGURATION".

ParametersString[]Array of strings. This is used to pass the value of the ConfigCode element.
ClientAdministrationClientOrgThis optional parameter is used to specify a particular client organization whose configurations are to be updated. However, if one is not specified, then the configuration settings will be applied to the default org.

 

Below are the mandatory parameters that you need to set in the AdministrationClientOrg object to create a new user:

ParameterData TypeDescription

ClientReferenceId

String

The unique ID used to identify a client organization.


 

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

BinaryData

String

Contains the configData value of the specified Configuration.configCode element (from Yellowfin's Configuration database). Null will be returned if no such ConfigCode is found in the Configuration table.

 

Instructions

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

Expand
titleStep-by-step instructions
  • Define the request for this function, which includes logging in as the admin user and specifying the web service call to perform:

    Code Block
    languagejava
    themeConfluence
    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
     
    rsr.setLoginId("admin@yellowfin.com.au"); 
    rsr.setPassword("test");   
    rsr.setOrgId(1);
    rsr.setFunction("LOADCONFIGURATION"); 


  • Pass the configuration setting to be updated in the Parameters object. The code example below sets Yellowfin's authentication method to 'Simple'.

    Code Block
    languagejava
    rsr.setParameters(new String[]{"SIMPLE_AUTHENTICATION"});


  • Once the request is configured, perform the call:

    Code Block
    languagejava
    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);

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

 

  • Add the following code to retrieve the response. (See the response that is returned in the Response Parameters table above.)

    Code Block
    languagejava
    if ("SUCCESS".equals(rs.getStatusCode()) ) {
                  	out.write("<br>Success");
    				String data = rs.getBinaryData();
                  	out.write("<br>ConfigData: " + data);
                  	}
    else {
                  	out.write("<br>Failure");
                  	out.write(" Code: " + rs.getErrorCode());
    }       

     

 

 

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_loadconfiguration.jsp.
  2. Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
  3. Adjust the host, port, and admin user details according to your environment.
  4. Run http://<host>:<port>/ws_loadconfiguration.jsp from your Internet browser.

 

Code Block
languagejava
themeEclipse
<%        	
/*          	ws_loadconfiguration.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 webservices admin account
rsr.setPassword("test");                                                    	// change to be the password of the account above
rsr.setOrgId(1);
rsr.setFunction("LOADCONFIGURATION");
 
rsr.setParameters(new String[]{"SIMPLE_AUTHENTICATION"});
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
              	out.write("<br>Success");
String data = rs.getBinaryData();
              	out.write("<br>ConfigData: " + data);
              	}
else {
              	out.write("<br>Failure");
              	out.write(" Code: " + rs.getErrorCode());
}             	
%>

 


 

Anchor
loadcustomparameter
loadcustomparameter

Expand
titleLOADCUSTOMPARAMETER

This web service retrieves the custom configuration details of Yellowfin. This is done by specifying a ConfigCode element; the system then fetches the values saved in that element’s corresponding ConfigData column of the Configuration table in Yellowfin’s database. Only custom parameters are loaded, as Yellowfin checks for values that contain “CUSTOM” in the ConfigTypeCode column.

For instance, using this you can verify if simple authentication is enabled, that allows users to log in without a password.


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 " LOADCUSTOMPARAMETER".

ParametersString[]Array of strings. This is used to pass the value of the ConfigCode element.
ClientAdministrationClientOrgThis optional parameter is used to specify a particular client organization whose configurations are to be updated. However, if one is not specified, then the configuration settings will be applied to the default org.

 

Below are the mandatory parameters that you need to set in the AdministrationClientOrg object to create a new user:

ParameterData TypeDescription

ClientReferenceId

String

The unique ID used to identify a client organization.


 

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

BinaryData

String

Contains the configData value of the specified Configuration.configCode element (from Yellowfin's Configuration database). Null will be returned if no such ConfigCode is found in the Configuration table.

 

Instructions

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

Expand
titleStep-by-step instructions
  • Define the request for this function, which includes logging in as the admin user and specifying the web service call to perform:

    Code Block
    languagejava
    themeConfluence
    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
     
    rsr.setLoginId("admin@yellowfin.com.au"); 
    rsr.setPassword("test");   
    rsr.setOrgId(1);
    rsr.setFunction("LOADCONFIGURATION"); 


  • Pass the configuration setting to be updated in the Parameters object. The code example below sets Yellowfin's authentication method to 'Simple'.

    Code Block
    languagejava
    rsr.setParameters(new String[]{"SIMPLE_AUTHENTICATION"});


  • Once the request is configured, perform the call:

    Code Block
    languagejava
    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);

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

 

  • Add the following code to retrieve the response. (See the response that is returned in the Response Parameters table above.)

    Code Block
    languagejava
    if ("SUCCESS".equals(rs.getStatusCode()) ) {
                  	out.write("<br>Success");
    				String data = rs.getBinaryData();
                  	out.write("<br>ConfigData: " + data);
                  	}
    else {
                  	out.write("<br>Failure");
                  	out.write(" Code: " + rs.getErrorCode());
    }   

     

 

 

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_loadcustomparameter.jsp.
  2. Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
  3. Adjust the host, port, and admin user details according to your environment.
  4. Run http://<host>:<port>/ws_loadcustomparameter.jsp from your Internet browser.

 

Code Block
languagejava
themeEclipse
/*          	ws_loadcustomparameter.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 account above
rsr.setOrgId(1);
rsr.setFunction("LOADCUSTOMPARAMETER");
 
rsr.setParameters(new String[]{"SIMPLE_AUTHENTICATION"});
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
              	out.write("<br>Success");
String data = rs.getBinaryData();
              	out.write("<br>ConfigData: " + data);
              	}
else {
              	out.write("<br>Failure");
              	out.write(" Code: " + rs.getErrorCode());
}             	
%>

 


 




Admin Mode Functions

The below web services allow users to enter or leave the “Admin” mode. The admin mode can be set up with a specific set of user role permissions, which will be applied to all the users when the mode is enabled.

The web services below provide more detail on what happens when this mode is enabled or disabled.

Anchor
enableadminmode
enableadminmode

Expand
titleENABLEADMINMODE

This web service enables the Admin mode on a Yellowfin instance. You can use this service to pass a set of user permissions to be applied to all user roles. Doing so will change every user’s permissions to the one defined in this function, including currently active users, and those who log in after calling this function.

This means that if a user has only the basic “report consumer” role with read-only access, you can use this function to change their active session permissions and grant them full report access, including deleting reports. Similarly, you can use this web service to make Yellowfin non-editable, by removing the report writing functionality from all active users’ roles.

To set up these role functions, you’ll need to specify the function code and access level.  Any functions not in the list will use the existing access levels for that role. Specifying no access level is the same as disabling a function.

In case of a cluster setup, this function can be set to notify specific nodes in the cluster to enable the admin mode, by using the Parameters request element.

Once this mode is entered, all new sessions will apply the permissions set in the mode. To return to the original user permissions for all active sessions, as well as future logins, simply disable this mode by passing the DISABLEADMINMODE.

If you already have the admin mode enabled, and want to set new access levels, then you will need to first disable the mode, and then enable it again with the updated access levels, since this mode can only be enabled if it is not already active.


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 " ENABLEADMINMODE".

RoleFunctionList

Map<String, String>A list of role function names mapped to their access levels. These will be the role functions enabled in the admin mode. For each function code, provide an access level, using the CRUD notion. If the access level is not provided, the function will not be included. See the AdministrationFunction object definition for possible values.
ParametersString[]This is used in case of a cluster set up. This array is used to pass either a “true” or “TRUE” String to signal all nodes in the cluster to enable the admin mode. If no value is passed here, it will be set to false by default, thereby not enabling the admin mode.

 


Request Example

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

Code Block
languagexml
<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>
            <orgRef>org1</orgRef>
            <function>ENABLEADMINMODE</function>
            <parameters>true</parameters>
            <roleFunctionList>
            	<key>MIREPORT</key>
            	<value>CRUD</value>
            </roleFunctionList>
         </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 Elements

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

Code Block
languagexml
<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>517ce15c32a079dc1528424c03d86691</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:

Expand
titleStep-by-step instructions
  • Define the request for this function, which includes logging in as the admin user and specifying the web service call to perform:

    Code Block
    languagejava
    themeConfluence
    AdministrationServiceRequest asr = new AdministrationServiceRequest();
    
    
    asr.setLoginId("admin@yellowfin.com.au");
    asr.setPassword("test");
    asr.setOrgId(new Integer(1));
    asr.setFunction("ENABLEADMINMODE");


  • In case of a cluster set up, alert all the other nodes in the cluster to enable the admin mode:

    Code Block
    languagejava
    asr.setParameters(new String[] { "true" });


  • Set the required role functions for the admin role. For each role function name, specify its access level:

    Code Block
    languagejava
    Map<String, String> roleFunctionList = new HashMap<>();
    
    roleFunctionList.put("SYSTEMINFO", "");
    roleFunctionList.put("REPORTDASHBOARD", "R");
    roleFunctionList.put("DASHPUBLIC", "R");
    roleFunctionList.put("MIREPORT", "R");
    roleFunctionList.put("STORYBOARD", "R");



  • Add the list to the request:

    Code Block
    languagejava
    asr.setRoleFunctionList(roleFunctionList);



  • Once the request is configured, perform the call:

    Code Block
    languagejava
    AdministrationServiceResponse rs = rssbs.remoteAdministrationCall(asr);

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

 

  • The response returned will contain the StatusCode parameter. (See the response that is returned in the Response Parameters table above.)

     

 

 

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_enableadminmode.jsp.
  2. Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
  3. Adjust the host, port, and admin user details according to your environment.
  4. Run http://<host>:<port>/ws_enableadminmode.jsp from your Internet browser.

 

Code Block
languagejava
themeEclipse
<%@ 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.*" %>
<%
/*
Enable Admin Mode
Enables administrative mode with the list of functions in roleFunctionList.
A parameter is set to indicate this should notify the cluster.
*/
 
AdministrationServiceResponse rs = null;
AdministrationServiceRequest asr = new AdministrationServiceRequest();
AdministrationServiceService ts = new AdministrationServiceServiceLocator("localhost", 8080,
"/services/AdministrationService", false);
AdministrationServiceSoapBindingStub rssbs = (AdministrationServiceSoapBindingStub) ts
.getAdministrationService();
 
asr.setLoginId("admin@yellowfin.com.au");
asr.setPassword("test");
asr.setOrgId(new Integer(1));
asr.setFunction("ENABLEADMINMODE");
asr.setParameters(new String[] { "true" });
 
Map<String, String> roleFunctionList = new HashMap<>();
roleFunctionList.put("SYSTEMINFO", "");
roleFunctionList.put("REPORTDASHBOARD", "R");
roleFunctionList.put("DASHPUBLIC", "R");
roleFunctionList.put("MIREPORT", "R");
roleFunctionList.put("STORYBOARD", "R");
 
asr.setRoleFunctionList(roleFunctionList);
 
rs = rssbs.remoteAdministrationCall(asr);
 
if ("SUCCESS".equals(rs.getStatusCode())) {
for (String message : rs.getMessages()) {
out.write(message + "<BR>");
}
} else {
out.write("Failure");
out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

Anchor
disableadminmode
disableadminmode

Expand
titleDISABLEADMINMODE

This web service disables the admin mode on a Yellowfin instance. Doing so resets the user permissions for active users and future logins, back to the original role permissions. In case of a cluster environment, you will need to use a Parameters request element to pass a “true” or “True” string to notify all the nodes to disable the admin mode. If no value is specified in the element, then by “false/False” will be set by default, and the admin mode will not be disabled.


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 "DISABLEADMINMODE".

ParametersString[]This is used in case of a cluster set up. This array is used to pass either a “true” or “TRUE” string to signal all nodes in the cluster to disable the admin mode. If no value is passed here, it will be set to false by default, thereby not disabling the admin mode.

 


Request Example

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

Code Block
languagexml
<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>
            <orgRef>org1</orgRef>
            <function>DISABLEADMINMODE</function>
            <parameters>true</parameters>   
         </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 Elements

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

Code Block
languagexml
<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>b2aedaafa1350f99c904b88c5daa14e0</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:

Expand
titleStep-by-step instructions
  • Define the request for this function, which includes logging in as the admin user and specifying the web service call to perform:

    Code Block
    languagejava
    themeConfluence
    AdministrationServiceRequest asr = new AdministrationServiceRequest();
    
    
    asr.setLoginId("admin@yellowfin.com.au");
    asr.setPassword("test");
    asr.setOrgId(new Integer(1));
    asr.setFunction("DISABLEADMINMODE");


  • In case of a cluster set up, alert all the other nodes in the cluster to disable the admin mode:

    Code Block
    languagejava
    asr.setParameters(new String[] { "true" });


  • Once the request is configured, perform the call:

    Code Block
    languagejava
    AdministrationServiceResponse rs = rssbs.remoteAdministrationCall(asr);

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

 

  • The response returned will contain the StatusCode parameter. (See the response that is returned in the Response Parameters table above.)

     

 

 

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_disableadminmode.jsp.
  2. Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
  3. Adjust the host, port, and admin user details according to your environment.
  4. Run http://<host>:<port>/ws_disableadminmode.jsp from your Internet browser.

 

Code Block
languagejava
themeEclipse
<%@ 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.*" %>
<%
/*
Disable Admin Mode
Disables administrative mode. A parameter is set to indicate this should notify the cluster.
*/
AdministrationServiceResponse rs = null;
AdministrationServiceRequest asr = new AdministrationServiceRequest();
AdministrationServiceService ts = new AdministrationServiceServiceLocator("localhost", 8080,
"/services/AdministrationService", false);
AdministrationServiceSoapBindingStub rssbs = (AdministrationServiceSoapBindingStub) ts
.getAdministrationService();
asr.setLoginId("admin@yellowfin.com.au");
asr.setPassword("test");
asr.setOrgId(new Integer(1));
asr.setFunction("DISABLEADMINMODE");
asr.setParameters(new String[] { "true" });
rs = rssbs.remoteAdministrationCall(asr);
if ("SUCCESS".equals(rs.getStatusCode())) {
for (String message : rs.getMessages()) {
out.write(message + "<BR>");
}
} else {
out.write("Failure");
out.write(" Code: " + rs.getErrorCode());
}
%>
 

 


 

Anchor
getrolefunctions
getrolefunctions

 

Below are the mandatory parameters that you need to set in the AdministrationClientOrg object to create a new user:

Request Example

Below is a SOAP XML example for this request:

 

 

Response Parameters

The returned response will contain these parameters:

 

Response Example

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

Expand
titleGETROLEFUNCTIONS

This web service will retrieve all of the role functions, and some of their descriptive information, available in Yellowfin. The result is a 2D array of strings representing rows returned from a database query. The columns are:

  • Function Code: The string used to define the function in the database.

  • Function Name: The name of the function as seen in the role administration screen.

  • Function Description:The description of the function as seen in the role administration screen.

  • Uses CRUD: A flag indicating whether this function uses CRUD (Create, Read, Update, Delete) permissions.


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 "GETROLEFUNCTIONS".

ParametersString[]The parameters array is used to pass the password of your database, if one is set.

 


Request Example

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

Code Block
languagexml
<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>
            <orgRef>org1</orgRef>
            <function>GETROLEFUNCTIONS</function>     
         </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

QueryResults

ReportRow[]

Object containing details of the role functions. See table below.


The following parameters will be returned in the ReportRow object:

ReportRow Element

Data Type

Description

Function Code

String

The string used to define the function in the database.

Function Name

String

The name of the function as seen in the role administration screen.

Function Description

String

The description of the function as seen in the role administration screen.

Uses CRUD

String

A flag indicating whether this function uses CRUD (Create, Read, Update, Delete) permissions.


 

Response Elements

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

Code Block
languagexml
 <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>
            <queryResults>
               <dataValue>ACCESSFILTER</dataValue>
               <dataValue>Access Filter</dataValue>
               <dataValue>Allows users to set or change the access filter on a report</dataValue>
               <dataValue>0</dataValue>
            </queryResults>
            <queryResults>
               <dataValue>CONTENTACCESS</dataValue>
               <dataValue>Folder Access</dataValue>
               <dataValue>Allow users to configure content folders.</dataValue>
               <dataValue>0</dataValue>
            </queryResults>
            .
			.
			.
            <queryResults>
               <dataValue>SHOWHEADERFOOTERADMIN</dataValue>
               <dataValue>Header/Footer Admin</dataValue>
               <dataValue>Allow the user to edit the Header and Footer displayed throughout the system.</dataValue>
               <dataValue>0</dataValue>
            </queryResults>
            <sessionId>31e386b7f19b97d6dcdea223f6b2f737</sessionId>
            <statusCode>SUCCESS</statusCode>
         </return>
      </ns2:remoteAdministrationCallResponse>
   </S:Body>
</S:Envelope>



This web service retrieves the custom configuration details of Yellowfin. This is done by specifying a ConfigCode element; the system then fetches the values saved in that element’s corresponding ConfigData column of the Configuration table in Yellowfin’s database. Only custom parameters are loaded, as Yellowfin checks for values that contain “CUSTOM” in the ConfigTypeCode column.

For instance, using this you can verify if simple authentication is enabled, that allows users to log in without a password.

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 " LOADCUSTOMPARAMETER".

ParametersString[]Array of strings. This is used to pass the value of the ConfigCode element.
ClientAdministrationClientOrgThis optional parameter is used to specify a particular client organization whose configurations are to be updated. However, if one is not specified, then the configuration settings will be applied to the default org.
ParameterData TypeDescription

ClientReferenceId

String

The unique ID used to identify a client organization.

Code Block
languagexml

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS
  • FAILURE

BinaryData

String

Contains the configData value of the specified Configuration.configCode element (from Yellowfin's Configuration database). Null will be returned if no such ConfigCode is found in the Configuration table.

Code Block
languagexml
 

 

 

Instructions

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

Expand
titleStep-by-step instructions
  • Define the request for this function, which includes logging in as the admin user and specifying the web service call to perform:

    Code Block
    languagejava
    themeConfluence
    AdministrationServiceRequest rsrasr = new AdministrationServiceRequest();
     
    rsrasr.setLoginId("admin@yellowfin.com.au"); 
    rsrasr.setPassword("test");   
    rsrasr.setOrgId(new Integer(1));
    rsrasr.setFunction("LOADCONFIGURATIONGETROLEFUNCTIONS"); 


  • Provide access to your database by providing its password:Pass the configuration setting to be updated in the Parameters object. The code example below sets Yellowfin's authentication method to 'Simple'.

    Code Block
    languagejava
    rsrasr.setParameters(new String[] { "SIMPLE_AUTHENTICATIONroot" });


  • Once the request is configured, perform the call:

    Code Block
    languagejava
    AdministrationServiceResponse rs = adminServicerssbs.remoteAdministrationCall(rsrasr);

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

 

  • learn how to do this. 

 

  • The response will contain the StatusCode, along with other information. See the Response Parameter table above for details on these. Save all the regular messages from the response.

    Code Block
    languagejava
    for (String message : rs.getMessages()) {
    out.write(message + "<BR>");
    }


  • Also create an HTML table with the role function details. (The column names will appear in the first row and then each row from the database query will be printed out after thatAdd the following code to retrieve the response. (See the response that is returned in the Response Parameters table above.)

    Code Block
    languagejava
    if ("SUCCESS".equals(rs.getStatusCode()) ) {
                  out.write("<table>");
    out.write("<th>Function Code</th>");
    out.write("<th>Function Name</th>");
    out.write("<th>Function Description</th>");
    out.write("<th>Uses CRUD</th>");
    for (ReportRow row : rs.getQueryResults()) {
    	out.write("<tr>");
    	for (String data : row.getDataValue()) {
    		out.write("<th>" + data + "</th>");
    	}
    	out.write("<br>Success</tr>");
    				String data = rs.getBinaryData();
                  	out.write("<br>ConfigData: " + data);
                  	}
    else {
                  	out.write("<br>Failure");
                  	out.write(" Code: " + rs.getErrorCode());
    }   

     

 

 

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_loadcustomparameter.jsp.
  2. Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
  3. Adjust the host, port, and admin user details according to your environment.
  4. Run http://<host>:<port>/ws_loadcustomparameter.jsp from your Internet browser.

 

  • 
    }
    out.write("</table>");



 

 

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_getrolefunctions.jsp.
  2. Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
  3. Adjust the host, port, and admin user details according to your environment.
  4. Run http://<host>:<port>/ws_getrolefunctions.jsp from your Internet browser.

 

Code Block
languagejava
themeEclipse
<%@ 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.*" %>
<%
/*
Get Role Functions			ws_getrolefunctions.jsp
Returns all of the role functions available from the OrgFunction table with descriptions from the OrgReferenceCodeDesc table. Also includes whether the function uses CRUD level access.
*/
AdministrationServiceResponse rs = null;
AdministrationServiceRequest asr = new AdministrationServiceRequest();
AdministrationServiceService ts
Code Block
languagejava
themeEclipse
/*          	ws_loadcustomparameter.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();
AdministrationServiceRequestAdministrationServiceSoapBindingStub rsrrssbs = new AdministrationServiceRequest(AdministrationServiceSoapBindingStub) ts
.getAdministrationService();
 
rsrasr.setLoginId("admin@yellowfin.com.au");      	// provide your Yellowfin web services admin account
rsr
asr.setPassword("test");
asr.setOrgId(new Integer(1));
asr.setFunction("GETROLEFUNCTIONS");
asr.setParameters(new String[] { "root" }); // Database password

rs                // set to the password of the account above
rsr.setOrgId(1);
rsr.setFunction("LOADCUSTOMPARAMETER");
 
rsr.setParameters(new String[]{"SIMPLE_AUTHENTICATION"});
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
              	out.write("<br>Success");
String data = rs.getBinaryData();
              	out.write("<br>ConfigData: " + data);
              	}
else {
              	out.write("<br>Failure");
              	= rssbs.remoteAdministrationCall(asr);
if ("SUCCESS".equals(rs.getStatusCode())) {
for (String message : rs.getMessages()) {
out.write(message + "<BR>");
}
// Create a simple table with the results
out.write("<table>");
out.write("<th>Function Code</th>");
out.write("<th>Function Name</th>");
out.write("<th>Function Description</th>");
out.write("<th>Uses CRUD</th>");
for (ReportRow row : rs.getQueryResults()) {
out.write("<tr>");
for (String data : row.getDataValue()) {
out.write("<th>" + data + "</th>");
}
out.write("</tr>");
}
out.write("</table>");
} else {
out.write("Failure");
out.write(" Code: " + rs.getErrorCode());
}             	
%>