This web service is used to retrieve users' avatar images. If an avatar image is not set up for a user in Yellowfin, then no image will be retrieved for that user. This service requires the users' internal IDs (that is, their IP ID).
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 "GETAVATARS". |
Parameters | String[] | An array containing the internal IDs (or IpId) of Yellowfin users’ whose avatars you want to retrieve. Each ID must be passed as a String, even though it's an Integer. |
Request Example
Below is a SOAP XML example for this request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/"> <soapenv:Header/> <soapenv:Body> <web:remoteAdministrationCall> <arg0> <loginId>admin@yellowfin.com.au</loginId> <password>test</password> <orgId>1</orgId> <function>GETAVATARS</function> <parameters> <string>13000</string> </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:
|
binaryAttachments | Contains avatar images for the specified users. |
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:
Start with a basic request for this function, which includes logging in as the admin user and specifying the web service call to perform:
AdministrationServiceRequest rsr = new AdministrationServiceRequest(); rsr.setLoginId("admin@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(1); rsr.setFunction("GETAVATARS");
You can specify the users' IP IDs:
rsr.setParameters(new String[] {"5","13073"});
Once the request is configured, perform the call:
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
Initialize the Administration web service. Click here to learn how to do this.
The response will contain a StatusCode element, along with a BinaryAttachment array.
To get the first image, use the following:
byte[] data = response.getBinaryAttachments[0].getData();
Complete Example
Below is a full example of this web service call. To use it for yourself, carry out the following the steps:
- Copy the code and save it as ws_ getavatars.jsp.
- Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
- Adjust the host, port, and admin user according to your environment.
- Run http://<host>:<port>/ws_ getavatars.jsp from your Internet browser.
<% /* ws_getavatars.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.*" %> <html> <body> <% 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("GETAVATARS"); rsr.setParameters(new String[] {"5","13073"}); AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode()) ) { ReportBinaryObject[] objects = rs.getBinaryAttachments(); if (objects != null) { byte[] data,encodeBase64; String base64Encoded; for(ReportBinaryObject o: objects){ data = o.getData(); if (data != null){ encodeBase64 = java.util.Base64.getEncoder().encode(data); base64Encoded = new String(encodeBase64, "UTF-8"); if (base64Encoded != null) out.write("<br>"); %> <img src="data:image/jpg;base64,<%=base64Encoded%>" alt="No image"> <% } } } } else { out.write("Failure"); out.write(" Code: " + rs.getErrorCode()); } %> </body> </html>
This web service is used to upload an avatar image for a specified user. The image should be an array of bytes in UTF-8 which you could convert to a String value.
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 "SETAVATARIMAGE". |
Person | AdministrationPerson | This object contains details of the user whose avatar is to be changed. See table below. |
Parameters | String[] | An array containing a single element representing the avatar image to be uploaded. The image should be an array of bytes in UTF-8 format, which could be converted to a String. |
These are the main parameters that you must set in the AdministrationPerson object for this web service call:
AdministrationPerson Element | Data Type | Description |
---|---|---|
IpId | Integer | Provide the internal Yellowfin IP ID of the user. This value is stored in the Person parameter's IpId field in Yellowfin's database. |
Request Example
Below is a SOAP XML example for this request:
Response Parameters
The returned response will contain the following parameter:
Response Element | Data Type | Description |
---|---|---|
StatusCode | String | Status of the web service call. Possible values include:
|
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:
Start with a basic request for this function, which includes logging in as the admin user and specifying the web service call to perform:
AdministrationServiceRequest rsr = new AdministrationServiceRequest(); rsr.setLoginId("admin@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(1); rsr.setFunction("SETAVATARIMAGE");
You can specify the user by providing their IP ID:
AdministrationPerson ap = new AdministrationPerson(); ap.setIpId(5); rsr.setPerson(ap);
Select the image file, by using the java.nio.file library:
Path path = Paths.get("D:/TMP/fish.jpg"); // existing image file byte[] data = Files.readAllBytes(path); byte[] encodeBase64 = java.util.Base64.getEncoder().encode(data); String img = new String(encodeBase64, "UTF-8"); rsr.setParameters(new String[] {img});
Once the request is configured, perform the call:
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
Initialize the Administration web service. Click here to learn how to do this.
The response will contain a StatusCode element.
Complete Example
Below is a full example of this web service call. To use it for yourself, carry out the following the steps:
- Copy the code and save it as ws_ setavatarimage.jsp.
- Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
- Adjust the host, port, and admin user according to your environment.
- Run http://<host>:<port>/ws_ setavatarimage.jsp from your Internet browser.
<% /* ws_SETAVATARIMAGE.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"); // change to be the password of the account above rsr.setOrgId(1); rsr.setFunction("SETAVATARIMAGE"); AdministrationPerson ap = new AdministrationPerson(); ap.setIpId(5); rsr.setPerson(ap); Path path = Paths.get("D:/TMP/fish.jpg"); // existing image file byte[] data = Files.readAllBytes(path); byte[] encodeBase64 = java.util.Base64.getEncoder().encode(data); String img = new String(encodeBase64, "UTF-8"); rsr.setParameters(new String[] {img}); AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode()) ) { out.write("<br>Success"); } else { out.write("Failure"); out.write(" Code: " + rs.getErrorCode()); } %>
Favourting Items
This web service call returns all reports marked as favourite by a specific user.
Request Parameters
The following parameters should be passed with this request:
Request Element | Data Type | Description |
---|---|---|
LoginId | String | An admin account to connect to Yellowfin web services. This can be the user ID or the email address, depending on the Logon ID method. This account must have the “web services” role enabled, and must belong to the default (i.e. primary) org. |
Password | String | Password of the above account. |
OrgId | Integer | Default (i.e. primary) organization ID within Yellowfin. Always set this to 1. |
Function | String | Web service function. Set this to "GETFAVOURITES". |
Person | AdministrationPerson | This object contains details of the user. See table below. |
These are the main parameters that you must set in the AdministrationPerson object for this web service call:
AdministrationPerson Element | Data Type | Description |
---|---|---|
UserId | String | ID of the user whose favourite reports are to be fetched. This value could be the user ID or user's email address, depending on the Logon ID method. |
Request Example
Below is a SOAP XML example for this request:
Response Parameters
The returned response will contain the following parameter:
Response Element | Data Type | Description |
---|---|---|
StatusCode | String | Status of the web service call. Possible values include:
|
Person | Full details of the user. | |
Reports | An array of the user's favourite reports. |
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:
Start with a basic request for this function, which includes logging in as the admin user and specifying the web service call to perform:
AdministrationServiceRequest rsr = new AdministrationServiceRequest(); rsr.setLoginId("admin@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(1); rsr.setFunction("GETFAVOURITES");
You can specify the user to fetch their favourite reports:
AdministrationPerson ap = new AdministrationPerson(); ap.setUserId("test.user@yellowfin.com.au"); rsr.setPerson(ap);
Once the request is configured, perform the call:
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
Initialize the Administration web service. Click here to learn how to do this.
The response will contain the StatusCode, Person and Reports parameters. See the Response Parameter table above for details on these.
Complete Example
Below is a full example of this web service call. To use it for yourself, carry out the following the steps:
- Copy the code and save it as ws_ getfavourites.jsp.
- Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
- Adjust the host, port, and admin user according to your environment.
- Run http://<host>:<port>/ws_ getfavourites.jsp from your Internet browser.
<% /* ws_getfavourites.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("GETFAVOURITES"); AdministrationPerson ap = new AdministrationPerson(); ap.setUserId("test.user@yellowfin.com.au"); rsr.setPerson(ap); AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode()) ) { out.write("<br>Success"); AdministrationReport[] reports = rs.getReports(); if (reports != null) for(AdministrationReport r: reports){ out.write("<br>Report Name: " + r.getReportName()); } } else { out.write("Failure"); out.write(" Code: " + rs.getErrorCode()); } %>
This returns a specified user's inbox reports. These are reports which have been distributed to the user.
Request Parameters
The following parameters should be passed with this request:
Request Element | Data Type | Description |
---|---|---|
LoginId | String | An admin account to connect to Yellowfin web services. This can be the user ID or the email address, depending on the Logon ID method. This account must have the “web services” role enabled, and must belong to the default (i.e. primary) org. |
Password | String | Password of the above account. |
OrgId | Integer | Default (i.e. primary) organization ID within Yellowfin. Always set this to 1. |
Function | String | Web service function. Set this to "GETINBOX". |
Person | AdministrationPerson | This object contains details of the user. See table below. |
These are the main parameters that you must set in the AdministrationPerson object for this web service call:
AdministrationPerson Element | Data Type | Description |
---|---|---|
UserId | String | ID of the user whose inbox reports are to be fetched. This value could be the user ID or user's email address, depending on the Logon ID method. |
Request Example
Below is a SOAP XML example for this request:
Response Parameters
The returned response will contain the following parameter:
Response Element | Data Type | Description |
---|---|---|
StatusCode | String | Status of the web service call. Possible values include:
|
Person | Full details of the user. | |
Reports | An array of the user's inbox reports. |
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:
Start with a basic request for this function, which includes logging in as the admin user and specifying the web service call to perform:
AdministrationServiceRequest rsr = new AdministrationServiceRequest(); rsr.setLoginId("admin@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(1); rsr.setFunction("GETINBOX");
You can specify the user to fetch their favourite reports:
AdministrationPerson ap = new AdministrationPerson(); ap.setUserId("test.user@yellowfin.com.au"); rsr.setPerson(ap);
Once the request is configured, perform the call:
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
Initialize the Administration web service. Click here to learn how to do this.
The response will contain the StatusCode, Person and Reports parameters. See the Response Parameter table above for details on these.
Complete Example
Below is a full example of this web service call. To use it for yourself, carry out the following the steps:
- Copy the code and save it as ws_ getinbox.jsp.
- Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
- Adjust the host, port, and admin user according to your environment.
- Run http://<host>:<port>/ws_ getinbox.jsp from your Internet browser.
<% /* ws_getinbox.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("GETINBOX"); AdministrationPerson ap = new AdministrationPerson(); ap.setUserId("test.user@yellowfin.com.au"); rsr.setPerson(ap); AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode()) ) { out.write("<br>Success"); AdministrationReport[] reports = rs.getReports(); if (reports != null) for(AdministrationReport r: reports){ out.write("<br>Report Name: " + r.getReportName()); } } else { out.write("Failure"); out.write(" Code: " + rs.getErrorCode()); } %>
This web service checks whether or not a particular report is marked as a specific user's favourite. Both the user and the report would need to be specified here, the latter by providing the Report ID. This ID can be retrieved from Yellowfin database's Report Header table. You can even use the GETIDFORUUID web service call to retrieve the Report ID.
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 "ISREPORTFAVOURITE". |
Person | AdministrationPerson | This object contains details of the user. See table below. |
ReportId | Integer | The report ID to check whether the report is the user's favourite. |
These are the main parameters that you must set in the AdministrationPerson object for this web service call:
AdministrationPerson Element | Data Type | Description |
---|---|---|
UserId | String | ID of the user whose inbox reports are to be fetched. This value could be the user ID or user's email address, depending on the Logon ID method. |
Request Example
Below is a SOAP XML example for this request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/"> <soapenv:Header/> <soapenv:Body> <web:remoteAdministrationCall> <arg0> <loginId>admin@yellowfin.com.au</loginId> <password>test</password> <orgId>1</orgId> <function>ISREPORTFAVOURITE</function> <reportId>61131</reportId> <person> <userId>admin@yellowfin.com.au</userId> </person> </arg0> </web:remoteAdministrationCall> </soapenv:Body> </soapenv:Envelope>
Response Parameters
The returned response will contain the following parameter:
Response Element | Data Type | Description |
---|---|---|
StatusCode | String | Status of the web service call. Possible values include:
|
Response Example
The service will return the below response, according to our SOAP example:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:remoteAdministrationCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/"> <return> <errorCode>0</errorCode> <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages> <messages>Web Service Request Complete</messages> <sessionId>fa69d19c0f6a6ffa9b3d1a19ec92abd9</sessionId> <statusCode>FAILURE</statusCode> </return> </ns2:remoteAdministrationCallResponse> </S:Body> </S:Envelope>
Instructions
See below for step-by-step instructions on how to perform this call, using a Java example:
Start with a basic request for this function, which includes logging in as the admin user and specifying the web service call to perform:
AdministrationServiceRequest rsr = new AdministrationServiceRequest(); rsr.setLoginId("admin@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(1); rsr.setFunction("ISREPORTFAVOURITE");
You can identify the user for whom to check the report's favourite status:
AdministrationPerson ap = new AdministrationPerson(); ap.setUserId("test.user@yellowfin.com.au"); rsr.setPerson(ap);
Specify which report to check the favourite status for:
rsr.setReportId(61131);
Once the request is configured, perform the call:
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
Initialize the Administration web service. Click here to learn how to do this.
The response will contain the StatusCode. See the Response Parameter table above for details on this.
Complete Example
Below is a full example of this web service call. To use it for yourself, carry out the following the steps:
- Copy the code and save it as ws_ isreportfavourite.jsp.
- Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
- Adjust the host, port, and admin user according to your environment.
- Run http://<host>:<port>/ws_ isreportfavourite.jsp from your Internet browser.
<% /* ws_isreportfavourite.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("ISREPORTFAVOURITE"); AdministrationPerson ap = new AdministrationPerson(); ap.setUserId("test.user@yellowfin.com.au"); rsr.setPerson(ap); rsr.setReportId(61131); AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode()) ) { out.write("<br>Success"); } else { out.write("Failure"); out.write(" Code: " + rs.getErrorCode()); } %>
Also, ADDTOFAVORITES. This web service call marks a particular report as the specified user's favourite. Both the user and the report would need to be specified here, the latter by providing the report ID. Use the GETIDFORUUID web service call to retrieve the report ID, or fetch it from the database (this value is stored in the Report Header table).
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 "ADDTOFAVOURITES" or "ADDTOFAVORITES". |
Person | AdministrationPerson | This object contains details of the user. See table below. |
ReportId | Integer | The ID of the report that is to be added as a favourite of the user's. |
These are the main parameters that you must set in the AdministrationPerson object for this web service call:
AdministrationPerson Element | Data Type | Description |
---|---|---|
UserId | String | ID of the user to add the report as their favourite. This value could be the user ID or user's email address, depending on the Logon ID method. |
Request Example
Below is a SOAP XML example for this request:
Response Parameters
The returned response will contain the following parameter:
Response Element | Data Type | Description |
---|---|---|
StatusCode | String | Status of the web service call. Possible values include:
|
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:
Start with a basic request for this function, which includes logging in as the admin user and specifying the web service call to perform:
AdministrationServiceRequest rsr = new AdministrationServiceRequest(); rsr.setLoginId("admin@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(1); rsr.setFunction("ADDTOFAVOURITES");
You can identify the user for whom to check the report's favourite status:
AdministrationPerson ap = new AdministrationPerson(); ap.setUserId("test.user@yellowfin.com.au"); rsr.setPerson(ap);
Specify which report to check the favourite status for:
rsr.setReportId(61131);
Once the request is configured, perform the call:
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
Initialize the Administration web service. Click here to learn how to do this.
The response will contain the StatusCode. See the Response Parameter table above for details on this.
Complete Example
Below is a full example of this web service call. To use it for yourself, carry out the following the steps:
- Copy the code and save it as ws_ addtofavourites.jsp.
- Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
- Adjust the host, port, and admin user according to your environment.
- Run http://<host>:<port>/ws_ addtofavourites.jsp from your Internet browser.
/* ws_addtofavourites.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("ADDTOFAVORITES"); AdministrationPerson ap = new AdministrationPerson(); ap.setUserId("test.user@yellowfin.com.au"); rsr.setPerson(ap); rsr.setReportId(56361); AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode()) ) { out.write("<br>Success"); } else { out.write("Failure"); out.write(" Code: " + rs.getErrorCode()); } %>
Also, ADDTOFAVORITES. This web service call marks a particular report as the specified user's favourite. Both the user and the report would need to be specified here, the latter by providing the report ID. Use the GETIDFORUUID web service call to retrieve the report ID, or fetch it from the database (this value is stored in the Report Header table).
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 "ADDTOFAVOURITES" or "ADDTOFAVORITES". |
Person | AdministrationPerson | This object contains details of the user. See table below. |
ReportId | Integer | The ID of the report that is to be added as a favourite of the user's. |
These are the main parameters that you must set in the AdministrationPerson object for this web service call:
AdministrationPerson Element | Data Type | Description |
---|---|---|
UserId | String | ID of the user to add the report as their favourite. This value could be the user ID or user's email address, depending on the Logon ID method. |
Request Example
Below is a SOAP XML example for this request:
Response Parameters
The returned response will contain the following parameter:
Response Element | Data Type | Description |
---|---|---|
StatusCode | String | Status of the web service call. Possible values include:
|
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:
Start with a basic request for this function, which includes logging in as the admin user and specifying the web service call to perform:
AdministrationServiceRequest rsr = new AdministrationServiceRequest(); rsr.setLoginId("admin@yellowfin.com.au"); rsr.setPassword("test"); rsr.setOrgId(1); rsr.setFunction("ADDTOFAVOURITES");
You can identify the user for whom to check the report's favourite status:
AdministrationPerson ap = new AdministrationPerson(); ap.setUserId("test.user@yellowfin.com.au"); rsr.setPerson(ap);
Specify which report to check the favourite status for:
rsr.setReportId(61131);
Once the request is configured, perform the call:
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
Initialize the Administration web service. Click here to learn how to do this.
The response will contain the StatusCode. See the Response Parameter table above for details on this.
Complete Example
Below is a full example of this web service call. To use it for yourself, carry out the following the steps:
- Copy the code and save it as ws_ addtofavourites.jsp.
- Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
- Adjust the host, port, and admin user according to your environment.
- Run http://<host>:<port>/ws_ addtofavourites.jsp from your Internet browser.
/* ws_addtofavourites.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("ADDTOFAVORITES"); AdministrationPerson ap = new AdministrationPerson(); ap.setUserId("test.user@yellowfin.com.au"); rsr.setPerson(ap); rsr.setReportId(56361); AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode()) ) { out.write("<br>Success"); } else { out.write("Failure"); out.write(" Code: " + rs.getErrorCode()); } %>