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
titleGETEXPORTDEPENDENCIES

This function returns all the dependencies of a specific content. The ContentResource object is used to specify the content with the help of the resource ID (which can be retrieved using the GETCONTENT call). For instance if a report is the defined content type, then the response will display its dependencies, such as the report category, sub category, data source, view, etc.

 

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

OrgRefStringThis optional parameter can be used to specify a client org. ID.
ContentResourcesContentResourceObject containing metadata of the content whose dependencies are to be retrieved. See table below.

 

The following parameters are specified in the ContentResource object to call this function:

ContentResource Element

Data Type

Description

ResourceIDIntegerMandatory parameter to provide internal ID of the content.
ResourceTypeString

Mandatory parameter to specify the content type. Could be one of:

  • RPTCATEGORY
  • RPTSUBCATEGORY
  • DATASOURCE
  • VIEW
  • GROUP
  • REPORT
  • ETLPROCESS
 ResourceUUIDString This optional parameter can be used to provide the UUID of the content. 

 

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>GETEXPORTDEPENDENCIES</function>
            <contentResources>
               <resourceId>56169</resourceId>
               <resourceType>VIEW</resourceType>
            </contentResources>          
         </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
ContentResourcesContentResource[]Object array containing metadata of the specified artifact's dependencies.

 

 

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>
            <contentResources>
               <resourceDescription/>
               <resourceId>54701</resourceId>
               <resourceName>Yellowfin Configuration Database</resourceName>
               <resourceOrgId>1</resourceOrgId>
               <resourceType>DATASOURCE</resourceType>
            </contentResources>
            <errorCode>0</errorCode>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Web Service Request Complete</messages>
            <sessionId>97d7f893d787daf2806a13cdfa6f09d3</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
    rsr.setLoginId("admin@yellowfin.com.au"); 
    rsr.setPassword("test"); 
    rsr.setOrgId(1);
    rsr.setFunction("GETEXPORTDEPENDENCIES");
  • You may even identify a specific client organization:

    Code Block
    languagejava
    rsr.setOrgRef("org1");
    
  • Using a ContentResource object, specify details of the content whose dependencies are to be retrieved:

    Code Block
    languagejava
    ContentResource[] cr = new ContentResource[1];
     
    cr[0] = new ContentResource();
    cr[0].setResourceId(70307);
    cr[0].setResourceType("GROUP");
    cr[0].setResourceOrgId(1);



  • Then set this object in the request:

    Code Block
    languagejava
    rsr.setContentResources(cr);



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

 

  • The response will contain the following elements: StatusCode and ContentResource. (See details 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_ getexportdependencies.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_ getexportdependencies.jsp from your Internet browser.

 

Code Block
languagejava
themeEclipse
<%   	
/*    	ws_getexportdependecies.jsp           	*/
%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="com.hof.util.*, java.util.*, java.text.*" %>
<%@ page import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%@ page import="java.nio.file.Files" %>
<%@ page import="java.io.PrintWriter" %>
<%
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
rsr.setOrgId(1);
rsr.setFunction("GETEXPORTDEPENDENCIES");
 
ContentResource[] cr = new ContentResource[1];
 
cr[0] = new ContentResource();
cr[0].setResourceId(70307);
cr[0].setResourceType("GROUP");
cr[0].setResourceOrgId(1);
 
rsr.setContentResources(cr);
 
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
        	out.write("<br>Success");
        	ContentResource[] crs = rs.getContentResources();
        	out.write("<table>");
        	out.write("<tr><td> id </td><td> type </td><td> UUID </td></tr>");
        	for (ContentResource c: crs) {
                    	out.write("<tr>");
                    	out.write("<td>" + c.getResourceId() + "</td><td>" + c.getResourceType() + "</td><td>" + c.getResourceUUID() + "</td>");
                    	out.write("</tr>");
   }
} else {
        	out.write("Failure");
        	out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

 

 

Main Import Functions

 

Expand
titleGETIMPORTCONTENT

This function reads a provided YFX or XML file and places specific content from it into ContentResource object that can be imported.

 

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

OrgRefStringThis optional parameter can be used to specify a client org. ID.
ParameterString[]

This array contains strings with details of content that is to be imported from a file. The first string is a byte array of UTF-8 string. The second is the file type, that is "YFX" or "XML".

 

 

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
ContentResourcesContentResource[]Object array containing details of Yellowfin's content to be imported.

 

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
    rsr.setLoginId("admin@yellowfin.com.au"); 
    rsr.setPassword("test"); 
    rsr.setOrgId(1);
    rsr.setFunction("GETIMPORTCONTENT");
  • Specify the file containing data that is to be imported:

    Code Block
    languagejava
    Path path = Paths.get("/Applications/Yellowfin 7.4/qwerty.yfx"); 
    
    byte[] data = Files.readAllBytes(path);
    byte[] encodeBase64 = java.util.Base64.getEncoder().encode(data);
    String f = new String(encodeBase64, "UTF-8");
  • Provide the extension of this file, i.e. either YFX or XML:

    Code Block
    languagejava
    rsr.setParameters(new String[]{f,"YFX"});
  • 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. 

 

  • The response will contain the following elements: StatusCode and ContentResource. (See details 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_ getimportcontent.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_ getimportcontent.jsp from your Internet browser.

 

Code Block
languagejava
themeEclipse
<%   	
/*    	ws_getimportcontent.jsp                    	*/
%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="com.hof.util.*, java.util.*, java.text.*" %>
<%@ page import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%@ page import="java.nio.file.Files" %>
<%@ page import="java.nio.file.Paths" %>
<%@ page import="java.nio.file.Path" %>
 
<%
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("GETIMPORTCONTENT");
 
Path path = Paths.get("/Applications/Yellowfin 7.4/qwerty.yfx"); 		// existing file
 
byte[] data = Files.readAllBytes(path);
byte[] encodeBase64 = java.util.Base64.getEncoder().encode(data);
String f = new String(encodeBase64, "UTF-8");
 
rsr.setParameters(new String[]{f,"YFX"});
 
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
 
if ("SUCCESS".equals(rs.getStatusCode()) ) {
        	ContentResource[] cr = rs.getContentResources();
        	out.write("<br>Success");
        	for (ContentResource o : cr){
                    	out.write("<br><br>resourceType: " + o.getResourceType());
                    	out.write("<br>resourceCode: " + o.getResourceCode());
                    	out.write("<br>resourceName: " + o.getResourceName());
                    	out.write("<br>resourceDescription: " + o.getResourceDescription());
                    	out.write("<br>resourceOrgId: " + o.getResourceOrgId());
                    	out.write("<br>resourceId: " + o.getResourceId());
                    	out.write("<br>resourceUUID: " + o.getResourceUUID());
        	}
} else {
        	out.write("Failure");
        	out.write(" Code: " + rs.getErrorCode());
}
%>


 


 

...

Yellowfin's Content Translation functionality allows users to translate content, such as reports, views, dashboards, etc. from a previously configured language. Click here to learn more about this feature and the translation process involved. The following web services relate to this functionality.

Note: You must have this funtionality enabled in your instance, to call these web servicesEnsure that you have defined other languages in Yellowfin before exporting translatable content.

 

Expand
titleEXPORTTRANSLATIONALL

This web service exports translatable content across all active views, reports, and dashboards.

 

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

  

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>EXPORTTRANSLATIONALL</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
ContentTypeStringType of the export file. For example, text/comma-separated-values
FileNameStringGenerated file name.
BinaryDataStringBase64 encoded string with translated data.

 

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>
            <binaryData>77u/VVVJRCxUZXh0IFR5cGUsS2V5LE9yaWdpbmFsIFRleHQs ... </binaryData>
            <contentType>text/comma-separated-values</contentType>
            <errorCode>0</errorCode>
            <fileName>Translations - 10 Mar 2018.csv</fileName>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Web Service Request Complete</messages>
            <sessionId>4a19aa468b23ab18d3aee5c7121bcacd</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
    rsr.setLoginId("admin@yellowfin.com.au"); 
    rsr.setPassword("test"); 
    rsr.setOrgId(1);
    rsr.setFunction("EXPORTTRANSLATIONALL");
  • 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. 

 

  • The response will contain the following elements: StatusCode, BinaryData, FileName and ContentType. (See details 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_ exporttranslationall.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_ exporttranslationall.jsp from your Internet browser.

 

Code Block
languagejava
themeEclipse
<%   	
/*    	ws_exporttranslationall.jsp             	*/
%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="com.hof.util.*, java.util.*, java.text.*" %>
<%@ page import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%@ page import="java.nio.file.Files" %>
<%@ page import="java.io.PrintWriter" %>
<%
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("EXPORTTRANSLATIONALL");
 
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
        	
        	if ("SUCCESS".equals(rs.getStatusCode()) ) {
                    	out.write("<br>Success");
                    	
                    	//response.setBinaryData(Base64.encodeBytes(pdf.getData()));
                    	
                    	String Base64encoded = rs.getBinaryData();
                    	Base64encoded = Base64encoded.replace("\n", "").replace("\r", "");
                    	
                    	byte[] bytes = Base64encoded.getBytes();
                    	byte[] decoded = java.util.Base64.getDecoder().decode(bytes);
                    	
                    	String text = new String(decoded, "UTF-8");
                    	PrintWriter writer = new PrintWriter("/Applications/Yellowfin 7.4/" + rs.getFileName(), "UTF-8");
                    	writer.println(text);
                    	writer.close();
        	}
        	else {
        	out.write("<br>Failure");
        	out.write(" Code: " + rs.getErrorCode());
        	}       	
%>


 


 

Define the request for this function, which includes logging in as the admin user and specifying the web service call to perform:
Expand
titleTESTIMPORTCONTENTIMPORTTRANSLATION

This function imports content from a YFX or XML file and then tests or validates ita translation CSV file into Yellowfin. This file is generated during the content translation process when specified content is export. Along with other details, the file contains columns for other specified languages. Add the translated content in their designated column and use this function to import the file back into the system.

 

 

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

OrgRefBinaryDataStringThis optional parameter can be used to specify a client org. ID.
ParameterString[]

This array contains strings with details of the content to be imported and validated. The first string is a byte array of UTF-8 string. The second is the file type, that is "YFX" or "XML".

ImportOptionsImportOption[]This optional parameter can be used to define how content should be imported.

  

Request Example

[]Array containing bytes that represent a translation CSV file.

  

Request Example

Below is a SOAP XML example for 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>
         <!--Optional:-->
         <arg0>
            <loginId>admin@yellowfin.com.au</loginId>
        	<password>test</password>
            <orgId>1</orgId>
            <function>TESTIMPORTCONTENT</function>
            <parameters>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0i ... </parameters>
            <parameters>XML</parameters>
            <importOption><function>IMPORTTRANSLATION</function>
			<binaryData>-17</binaryData>
			<binaryData>-69</binaryData>
			<binaryData>-65</binaryData>
			<binaryData>85</binaryData>
			<binaryData>85</binaryData>
				...
		</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

The status relates to whether the file import was successfull or not.

 

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/">
   	      	<optionIndex>0</optionIndex><return>
                    	<optionKey>OPTION</optionKey><errorCode>0</errorCode>
            <messages>Successfully Authenticated       	<optionValue>REPLACE</optionValue>User: admin@yellowfin.com.au</messages>
          	  <messages>Web Service Request  	<optionIndex>1<Complete</optionIndex>messages>
                    	<optionKey>EXISTING</optionKey><sessionId>11c466874bfbcdb80f5d250c97ffbd03</sessionId>
                    	<optionValue>70279</optionValue><statusCode>SUCCESS</statusCode>
             </importOption>
          </arg0>return>
      </webns2:remoteAdministrationCall>remoteAdministrationCallResponse>
   </soapenvS:Body>
</soapenvS: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
ImportIssuesImportIssue[]Object array containing issues faced while importing the file.
ContentResourcesContentResource[]Object array containing details of Yellowfin's content to be imported.

 

Response Example

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

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
    rsr.setLoginId("admin@yellowfin.com.au"); 
    rsr.setPassword("test"); 
    rsr.setOrgId(1);
    rsr.setFunction("IMPORTTRANSLATION");
  • Specify the translation CSV file to be imported:

    Code Block
    language
xml
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:remoteAdministrationCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
         <return>
            <contentResources>
               <resourceDescription>months, 6/3/2018 8:53 AM</resourceDescription>
               <resourceId>70279</resourceId>
           	<resourceName>My Report 1000</resourceName>
           	<resourceType>REPORT</resourceType>
               <resourceUUID>fd3794b3-62c0-4cf8-bac0-755e68d9c41e</resourceUUID>
            </contentResources>
            <errorCode>0</errorCode>
        	<importIssues>
           	<issueElements>
              	<messageKey>error.reports.import.view</messageKey>
              	<renderedMessage>View has not been selected.</renderedMessage>
           	</issueElements>
           	<issueElements>
                  <messageKey>error.reports.import.category</messageKey>
              	<renderedMessage>Folder has not been selected.</renderedMessage>
           	</issueElements>
           	<resource>
                  <resourceDescription>months, 6/3/2018 8:53 AM</resourceDescription>
             	 <resourceId>70279</resourceId>
              	<resourceName>My Report 1000</resourceName>
                  <resourceType>REPORT</resourceType>
                  <resourceUUID>fd3794b3-62c0-4cf8-bac0-755e68d9c41e</resourceUUID>
           	</resource>
            </importIssues>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Web Service Request Complete</messages>
            <sessionId>ab398569ce36672e9d776c3dae3804d6</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
Code Block
languagejava
themeConfluence
rsr.setLoginId("admin@yellowfin.com.au"); 
rsr.setPassword("test"); 
rsr.setOrgId(1);
rsr.setFunction("TESTIMPORTCONTENT");
  • Specify the file containing data that is to be imported:

    Code Block
    languagejava
    Path path = Paths.get("/Applications/Yellowfin 7.4/qwerty.yfx"); 
    
    byte[] data = Files.readAllBytes(path);
    byte[] encodeBase64 = java.util.Base64.getEncoder().encode(data);
    String f = new String(encodeBase64, "UTF-8");
  • Provide the extension of this file, i.e. either YFX or XML:

    Code Block
    languagejava
    rsr.setParameters(new String[]{f,"YFX"});
    • java
      Path path = Paths.get("/Applications/Yellowfin 7.4/Translations - 8 Mar 2018.csv"); // existing file
      byte[] data = Files.readAllBytes(path);
       
      rsr.setBinaryData(data);
    • 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. 

     

    • The response will contain the following elements: StatusCode. (See details 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_ importtranslation.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_ importtranslation.jsp from your Internet browser.

     

    Code Block
    languagejava
    themeEclipse
    <%   	
    /*    	ws_importtranslation.jsp                   	*/
    %>
    <%@ page language="java" contentType="text/html; charset=UTF-8" %>
    <%@ page import="com.hof.util.*, java.util.*, java.text.*" %>
    <%@ page import="com.hof.web.form.*" %>
    <%@ page import="com.hof.mi.web.service.*" %>
    <%@ page import="java.nio.file.Files" %>
    <%@ page import="java.nio.file.Paths" %>
    <%@ page import="java.nio.file.Path" %>
    <%
     
    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");                   
    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. 

     

    Then test the imported content:

    Code Block
    languagejava
    if ("SUCCESS".equals(rs.getStatusCode()) ) {
            	out.write("<br>Success");
            	
            	ContentResource[] crs = rs.getContentResources();
            	
            	ImportIssue[] ImportIssues = rs.getImportIssues();
            	out.write("<br>Import Issues: " + (ImportIssues!=null?ImportIssues.length:"no issues"));
            	
            	out.write("<table>");
            	out.write("<tr><td> ResourceId </td><td> ResourceType </td><td> ResourceName </td><td> ResourceUUID </td></tr>");
            	for (ContentResource c: crs) {
                        	out.write("<tr>");
                        	out.write("<td>" + c.getResourceId() + "</td><td>" + c.getResourceType() + "</td><td>" + c.getResourceName() + "</td><td>" + c.getResourceUUID() + "</td>");
                        	out.write("</tr>");
       }
    } else {
            	out.write("Failure");
            	out.write(" Code: " + rs.getErrorCode());
    }
    
    
  • The response will contain the following elements: StatusCode, ImportIssues and ContentResources. (See details 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_ testimportcontent.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_ testimportcontent.jsp from your Internet browser.

     

    Code Block
    languagejava
    themeEclipse
    <%   	
    /*    	ws_testimportcontent.jsp                  	*/
    %>
    <%@ page language="java" contentType="text/html; charset=UTF-8" %>
    <%@ page import="com.hof.util.*, java.util.*, java.text.*" %>
    <%@ page import="com.hof.web.form.*" %>
    <%@ page import="com.hof.mi.web.service.*" %>
    <%@ page import="java.nio.file.Files" %>
    <%@ page import="java.nio.file.Paths" %>
    <%@ page import="java.nio.file.Path" %>
    <%
    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("TESTIMPORTCONTENT");
     
    Path path = Paths.get("/Applications/Yellowfin 7.4/www.yfx"); 			// existing file
     
    byte[] data = Files.readAllBytes(path);
    byte[] encodeBase64 = java.util.Base64.getEncoder().encode(data);
    String f = new String(encodeBase64, "UTF-8");
     
    rsr.setParameters(new String[]{f,"YFX"});
     
    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
     
    if ("SUCCESS".equals(rs.getStatusCode()) ) {
            	out.write("<br>Success");
            	
            	ContentResource[] crs = rs.getContentResources();
            	
            	ImportIssue[] ImportIssues = rs.getImportIssues();
            	out.write("<br>Import Issues: " + (ImportIssues!=null?ImportIssues.length:"no issues"));
            	
            	out.write("<table>");
            	out.write("<tr><td> ResourceId </td><td> ResourceType </td><td> ResourceName </td><td> ResourceUUID </td></tr>");
            	for (ContentResource c: crs) {
                 // set the password of the  	out.write("<tr>account above
    rsr.setOrgId(1);
    rsr.setFunction("IMPORTTRANSLATION");
     
    Path path = Paths.get("/Applications/Yellowfin 7.4/Translations - 8             	out.write("<td>" + c.getResourceId() + "</td><td>" + c.getResourceType() + "</td><td>" + c.getResourceName() + "</td><td>" + c.getResourceUUID() + "</td>");Mar 2018.csv"); 		// existing file
     
    byte[] data = Files.readAllBytes(path);
     
    rsr.setBinaryData(data);
     
    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
            	if ("SUCCESS".equals(rs.getStatusCode()) ) {
                        	out.write("</tr><br>Success");
            	}
    }         	else {
            	out.write("Failure<br>Failure");
            	out.write(" Code: " + rs.getErrorCode());
            	}       	
    %>
    
    

     


     

     

     

    Tips & Tricks

    • The basic function for exporting is GETCONTENT that returns content details in the ContentResource object, which can further be used with other web service calls to import, export or validate content.
    • Instead of searching for dependencies manually, use the GETEXPORTDEPENDENCIES to get a list of dependencies, and then pass them to another call.
    • To retrieve a Yellowfin get an XML file with Yellowfin content, create an array of ContentResource objects and call the EXPORTCONTENT function. You can proceed to import this file in another Yellowfin environment as well.

     

    Limitations

    Currently the a few content types of content cannot be imported via web services:  images, themes, storyboards, users and user groups.

    ...