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

Error rendering macro 'rw-search'

null

Versions Compared

Key

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

...

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 affects effects the default organization.

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


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 providedspecified, then the configuration settings will be applied to the default org. will be used. 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

clientReferenceId

String

The unique ID used to identify a client.



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>
            <function>LISTDATASOURCES</function>               
         </arg0>
      </web:remoteAdministrationCall>
   </soapenv:Body>
</soapenv:Envelope>

 

 

Response Parameters

The returned response will contain these parameters:

Object array containing all available data sources.

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS
  • FAILURE
DataSourcesAdministrationDataSource[]

 

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:

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(new Integer(1));
    
    rsr.setFunction("LISTDATASOURCESSAVECONFIGURATION");


  • Provide the new licence for your instance. The licence will be a byte array; you can encode it to Base64 and use the util method to convert itPass the configuration setting to be updated in the Parameters object. The code example below sets Yellowfin's authentication method to Simple.

    Code Block
    languagejava
    byte[] lic = com.hof.util.Base64.decode("Base64 Encoded String of licence file");
    rsr.setBinaryData(licrsr.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_listdatasources 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_listdatasourcessaveconfiguration.jsp from your Internet browser.

 

Code Block
languagejava
themeEclipse
<%        	
/*          	ws_listdatasourcesSAVECONFIGURATION.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.*" %>
<%
 
AdministrationServiceResponse rs = null;
AdministrationServiceRequest rsr = new AdministrationServiceRequest();
AdministrationServiceService ts/*          	
	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 rssbsadminService = (AdministrationServiceSoapBindingStub) tss_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
rsr.setOrgId(new Integer(1));
rsr.setFunction("LISTDATASOURCESSAVECONFIGURATION");
 
rsr.setParameters(new String[]{"SIMPLE_AUTHENTICATION","TRUE"});
AdministrationServiceResponse rs = rssbsadminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {

	out.write("<table>");
    out.write("<tr>");
    out.write("<th>Source ID</th><th>Source Name</th>");
    	out.write("</tr><br>Success");
    for   (AdministrationDataSource administrationDataSource: rs.getDatasources()) {
    	out.write("<tr>");
}
         out.write("<td>" + administrationDataSource.getSourceId() + "</td><td>" + administrationDataSource.getSourceName() + "</td>");
 	else {
          out.write("</tr>");
    }
	out.write("</table><br>Failure");
            
} else {
	out.write(" Code: " + rs.getStatusCodegetErrorCode());
	out.write(rs.toString());
}
%>
              	}             	
%>