Page History
Anchor | ||||
---|---|---|---|---|
|
User replication involves synchronising each user in the OEM third-party application with a named user in Yellowfin. This allows Yellowfin to identify the user who is logged in, and to apply any restrictions that may be required. Synchronisation Synchronization is usually performed using web service calls from the OEM the third-party application to Yellowfin. This can also be managed manually if users in the OEM the third-party application are generally static.
This section will outline how to create, manipulate, and delete users via web services. It is assumed that the web service is called to mirror user changes immediately after a user modification is made in the OEM third-party application.
Main User Management Functions
Anchor | ||||
---|---|---|---|---|
|
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This function creates a new user account in Yellowfin. Here's a basic request to create a new Yellowfin user:
If you need to create a new user in a specific client organization, add this to your code
Request ParametersThe following elements will be passed with this request:
The ADDUSER function requires AdministrationPerson object where you define the new Yellowfin user details:
These are the mandatory parameters that you need to set in the AdministrationPerson object to create a new user:
Request ExampleThe following SOAP XML example shows the parameters that you can pass to this call:
Code Block | | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
<orgId>1</orgId> |
|
|
|
|
|
|
|
|
<function>ADDUSER</ |
function> |
|
|
|
|
|
|
<person> |
<userId>binish.sheikh@yellowfin.com.au</userId> |
|
|
|
|
|
|
|
|
Other parameters of the AdministrationPerson object are optional.
Pass the 'ap' object to the request:
Code Block | ||
---|---|---|
| ||
rsr.setPerson(ap);
|
Once the request is configured, carry out the call:
Code Block | ||
---|---|---|
| ||
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
|
Initialize the Administration web service. Click here to learn how to do this.
The response returned will contain these parameters:
Response Element | Data Type | Description |
---|---|---|
StatusCode | String | Status of the web service call. Possible values include:
|
Complete Example
Below is a full example of the ADDUSER function. To use it for yourself, carry out the following the steps:
- Copy the code and save it as ws_adduser.jsp.
- Put the file in the root folder, which is Yellowfin/appserver/webapps/ROOT.
- Adjust host, port, admin user and user to add details according to your environment.
- Run http://<host>:<port>/ws_adduser.jsp from your Internet browser.
Code Block | ||
---|---|---|
| ||
<% <emailAddress>binish.sheikh@yellowfin.com.au</emailAddress> <password>admin</password> <firstName>Binish</firstName> <lastName>Sheikh</lastName> <roleCode>YFREPORTCONSUMER</roleCode> /* </person> ws_adduser.jsp </arg0> </web:remoteAdministrationCall> *</ %> <%@ 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");soapenv:Body> </soapenv:Envelope> |
Reponse Parameters
The response returned will contain these parameters:
Response Element | Data Type | Description |
---|---|---|
StatusCode | String | Status of the web service call. Possible values include:
|
Reponse Example
The service will return the below response, according to our SOAP example:
Code Block | ||
---|---|---|
| ||
<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> // provide your<messages>Creating YellowfinNew webUser service admin account rsr.setPassword("test");via Webservices...</messages> <messages>Creating SessionBean for webservices user...</messages> <messages>Looking up // change this to the password of the above account rsr.setOrgId(1); rsr.setFunction("ADDUSER"); AdministrationPerson ap = new AdministrationPerson(); ap.setUserId("john.smith@yellowfin.com.au"); // if Yellowfin authentication option is set to "email address" ap.setFirstName("John"); ap.setLastName("Smith"); ap.setRoleCode("YFREPORTCONSUMER");user...</messages> <messages>Web Service Request Complete</messages> <sessionId>8090cb7879f7d5e72eab9625772c00b5</sessionId> <statusCode>SUCCESS</statusCode> // Yellowfin role codes can be</return> found performing this query against </ns2:remoteAdministrationCallResponse> <// Yellowfin configuration database: SELECT * FROM OrgRole apS:Body> </S:Envelope> |
Instructions
See below for step-by-step instructions on how to perform this call, using a Java example:
Expand | |||||
---|---|---|---|---|---|
| |||||
|
...
Complete ExampleBelow is a full example of the ADDUSER function. |
...
Expand | |||||
---|---|---|---|---|---|
| |||||
This function creates users in bulk. It is similar to the ADDUSER function, however this requires that you pass an array of AdministrationPerson objects. Note: Ensure that you mention the proper name of this function, which is ADDUSERS.
Complete ExampleBelow is a complete example of the ADDUSER function. This example code adds two new Yellowfin users, user1@yellowfin.com.au and user2@yellowfin.com.au, in the default organization. To use it for yourself, carry out the following the steps:
|
...
title | ADDUSERSIGNOREDUPLICATES |
---|
This function allows multiple users to be created, without adding duplicates. It works similarly to the ADDUSERS function, however in this case, if the login ID or email of a potential new user is already in use, or the password isn't supplied, then a 'no exceptions' error will be generated and the user will not be created. The response will contain an array of AdministrationPerson objects with failed users that were not added.
...
Code Block | ||
---|---|---|
| ||
rsr.setFunction("ADDUSERSIGNOREDUPLICATES"); |
...
Code Block | ||
---|---|---|
| ||
AdministrationPerson[] failed_users = rs.getPeople(); |
...
Response Element | Data Type | Description |
---|---|---|
StatusCode | String | Status of the web service call. Possible values include:
|
People | AdministrationPerson[] | Failed users whose accounts were not created. |
|
Anchor | ||||
---|---|---|---|---|
|
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This function creates users in bulk. It is similar to the ADDUSER function, however this requires that you pass an array of AdministrationPerson objects. Request ParametersThe following elements will be passed with this request:
These are the mandatory parameters that you need to set in the AdministrationPerson object to create a new user:
Reponse ParametersThe response returned will contain these parameters:
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java example:
|
...
Expand | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||
This function will delete a specified user from Yellowfin. Note: To remove a user from a client organization, you should perform the REMOVEUSERACCESS call.
The function requires an AdministrationPerson object, which is used to specify which user to delete, by providing their ID (for example, their email address or another type of ID depending on the Login ID method)
Complete ExampleBelow is a complete example of the DELETEUSER function. To use it for yourself, carry out the following the steps:
| ||||||||||||||||||||||||||||||||||||
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
|
Response Element | Data Type | Description |
---|---|---|
StatusCode | String | Status of the web service call. Possible values include:
|
|
Complete Example
Below is a complete example of the ADDUSERS function. This example code adds two new Yellowfin users, user1@yellowfin.com.au and user2@yellowfin.com.au, in the default organization.
To use it for yourself, carry out the following the steps:
- Copy the code and save it as ws_addusers.jsp.
- Put the file in the Yellowfin/appserver/webapps/ROOT folder.
- Adjust the host, port, admin user and users to add details according to your environment.
- Run http://<host>:<port>/ws_addusers.jsp from your Internet browser.
Code Block | ||
---|---|---|
| ||
<%%> <%@ 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"); ws_addusers.jsp */ %> <%@ page language="java" // change to the password of the above account rsr.setOrgId(1); rsr.setFunction("DELETEUSER"); AdministrationPerson apcontentType="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 AdministrationPerson(); ap.setUserId("test@yellowfin.com.au"); rsr.setPerson(ap); AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode() ) ) { out.write("Success"); } else { out.write("Failure"); out.write(" Code: " + rs.getErrorCode() ); } %> |
...
Once a user has been created, the user's details can be retrieved using a web service call. The User ID field in the AdministrationPerson object is used to identify the user. As a result, a populated AdministrationPerson object will be returned. For security reasons, passwords will not be returned and will be NULL. User information can also be validated against the application in this section.
...
Expand | ||
---|---|---|
| ||
This function retrieves an existing Yellowfin user's details. It accepts AdministrationPerson as a parameter where you can provide a user ID (email address or any other ID, depending on the Login ID method) to identify the user. For security reasons, passwords will not be returned and will be NULL. The response will contain the AdministrationPerson object with full user details. Following is an example of this request: Code Block | | |
|
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 above account rsr.setOrgId(1); rsr.setFunction("ADDUSERS"); AdministrationPerson[] ap = new AdministrationPerson[2]; ap[0] = new AdministrationPerson(); ap[0].setUserId("user1@yellowfin.com.au"); ap[0].setFirstName("user1"); ap[0].setLastName("Lastname1"); ap[0].setRoleCode("YFREPORTCONSUMER"); ap[0].setPassword("test"); ap[0].setEmailAddress("user1@yellowfin.com.au"); |
Code Block | ||
---|---|---|
| ||
AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("john.smith@yellowfin.com.au");
rsr.setPerson(ap); |
Code Block | ||
---|---|---|
| ||
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); |
The response will contain the following parameters:
Response Element | Data Type | Description |
---|---|---|
StatusCode | String | Status of the web service call. Possible values include:
|
Person | AdministrationPerson | Object with the user details |
To display the retrieved user details, use the following example:
language | java |
---|
ap[1] = new AdministrationPerson(); ap[1].setUserId("user2@yellowfin.com.au"); ap[1].setFirstName("user2"); ap[1].setLastName("Lastname2"); ap[1].setRoleCode("YFREPORTCONSUMER"); ap[1].setPassword("test"); ap[1].setEmailAddress("user2@yellowfin.com.au"); rsr.setPeople(ap); AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode() ) ) { |
out.write("Success"); } else { out.write("Failure"); |
out.write(" |
Code: " + |
rs. |
getErrorCode() |
);
|
}
%>
|
Anchor | ||||
---|---|---|---|---|
|
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This function allows multiple users to be created, without adding duplicates. It works similarly to the ADDUSERS function, however in this case, if the login ID or email of a potential new user is already in use, or the password isn't supplied, then a 'no exceptions' error will be generated and the user will not be created. The response will contain an array of AdministrationPerson objects with failed users that were not added. Request ParametersThe following elements will be passed with this request:
These are the mandatory parameters that you need to set in the AdministrationPerson object to create a new user:
Reponse ParametersThe response returned will contain these parameters:
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java example:
Complete ExampleBelow is a complete example of the GETUSER function. To use it for yourself, carry out the following the steps:
|
...
|
Anchor | ||||
---|---|---|---|---|
|
Expand | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||
This function will delete a specified user from Yellowfin. Note: To remove a user from a client organization, you should perform the REMOVEUSERACCESS call. Request ElementsThe following elements will be passed with this request:
These are the parameters that you need to set in the AdministrationPerson object:
Request ExampleThe following SOAP example shows the parameters that you can pass to this call:
|
...
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This function will retrieve details of a user by their IP. It accepts the AdministrationPerson object as a parameter, which can be used to identify the user, by providing their IPID (which in the Yellowfin configuration database is the IpId field of the Person table). The response will contain the AdministrationPerson object with the full details of the user. Here is what a basic request for this call:
Once the request is configured, perform the call:
Initialize the Administration web service. Click here to learn how to do this. This call's response will contain these parameters:
Complete ExampleBelow is a complete example of the GETUSERBYIP function. To use it for yourself, first carry out the following the steps:
Reponse ElementsThe response returned will contain these parameters:
Response ExampleThe service will return the below response, according to our SOAP example:
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java example:
|
...
Complete ExampleBelow is a complete example of the DELETEUSER function. To use it for yourself, carry out the following the steps:
|
...
Expand | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||
This functions retrieves details of all the users in a specified client organization. The information is retrieved in an array of AdministrationPerson objects. If a client organization is not specified, then all the users will be retrieved. You can use the setParameters() method to specify a searching criteria for users being retrieved. For security reasons, passwords will not be returned and will be NULL. Here's an example of a request to retrieve users:
Specify a client organization, otherwise all the client organizations will get searched:
Once the request is configured, perform the call: Code Block | | ||||||||||
|
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); |
Initialize the Administration web service. Click here to learn how to do this.
The response will contain the following parameters:
Response Element | Data Type | Description |
---|---|---|
StatusCode | String | Status of the web service call. Possible values include:
|
People | AdministrationPerson[] | Array of objects with the users’ details. |
Complete Example
Below is a complete example of the GETALLUSERS function. To use it for yourself, carry out the following the steps:
- Copy the code and save it as ws_getallusers.jsp.
- Put the file in the Yellowfin/appserver/webapps/ROOT folder.
- Adjust host, port, admin user and searching criteria according to your environment.
- Run http://<host>:<port>/ws_getallusers.jsp from your Internet browser.
Code Block | ||
---|---|---|
| ||
<%
/* ws_getallusers.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");
rsr.setPassword("test");
rsr.setOrgId(1);
rsr.setFunction("GETALLUSERS");
rsr.setOrgRef("org1");
String[] searchingCriteria = new String[] {"John","yellowfin.com.au"};
rsr.setParameters(searchingCriteria);
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
if ("SUCCESS".equals(rs.getStatusCode()) ) {
out.write("Success. " + rs.getPeople().length + " people found.");
} else {
out.write("Failure");
out.write(" Code: " + rs.getErrorCode() );
}
%>
|
...
|
Retrieving & Validating User Information
Once a user has been created, the user's details can be retrieved using a web service call. The User ID field in the AdministrationPerson object is used to identify the user. As a result, a populated AdministrationPerson object will be returned. For security reasons, passwords will not be returned and will be NULL. User information can also be validated against the application in this section.
Anchor | ||||
---|---|---|---|---|
|
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
This function retrieves an existing Yellowfin user's details. It accepts AdministrationPerson as a parameter which you can use to identify the user. The response will contain the AdministrationPerson object with full user details. Request ElementsThe following elements will be passed with this request:
These are the main parameters that you need to set in the AdministrationPerson object for this function:
Request ExampleThe following SOAP example shows the parameters that you can pass to this call:
Reponse ElementsThe response returned will contain these parameters:
Reponse ExampleThe service will return the below response, according to our SOAP example:
|
...
Expand | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||
This function validates a Yellowfin user. It accepts AdministrationPerson as a parameter where you can provide user ID (email address or another ID depending on the Login ID method) and password to identify the user. The response will be SUCCESS if the user with provided details exists. Otherwise the response will return code 25 (COULD_NOT_AUTHENTICATE_USER) if the user is not valid. Here's an example of a basic request to call this function:
If the OrgRef parameter is omitted, the user will be validated against the default (primary) organization.
Once the request is configured, perform the call:
Initialize the Administration web service. Click here to learn how to do this.
Complete ExampleBelow is a complete example of the VALIDATEUSER function. To use it for yourself, carry out the following the steps:
|
...
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java example:
Complete Example Below is a complete example of the GETUSER function. To use it for yourself, carry out the following the steps:
|
Anchor | ||||
---|---|---|---|---|
|
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This functions retrieves details of all the users in a specified client organization. The information is retrieved in an array of AdministrationPerson objects. If a client organization is not specified, then all the users will be retrieved. You can use the setParameters() method to specify a searching criteria for users being retrieved. For security reasons, passwords will not be returned and will be NULL. Request ElementsThe following elements will be passed with this request:
Request ExampleThe following SOAP example shows the parameters that you can pass to this call:
Response ElementsThe response returned will contain these parameters:
Response ExampleThe service will return the below response, according to our SOAP example:
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java example:
Complete Example Below is a complete Java example of the GETALLUSERS function. To use it for yourself, carry out the following the steps:
|
Anchor | ||||
---|---|---|---|---|
|
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This function will retrieve details of a user by their IP. It accepts the AdministrationPerson object as a parameter, which can be used to identify the user, by providing their IPID (in the Yellowfin configuration database, this is the IpId field of the Person table). The response will contain the AdministrationPerson object with the full details of the user. Request ElementsThe following elements will be passed with this request:
Following is the main parameter that you need to set in the AdministrationPerson object for this function:
Request ExampleThe following SOAP example shows the parameters that you can pass to this call:
Reponse ElementsThe response returned will contain these parameters:
Reponse ExampleThe service will return the below response, according to our SOAP example:
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java example:
Complete ExampleBelow is a complete example of the GETUSERBYIP function. To use it for yourself, first carry out the following the steps:
|
Anchor | ||||
---|---|---|---|---|
|
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 ParametersThe following parameters should be passed with this request:
Request ExampleBelow is a SOAP XML example for this request:
Response ParametersThe returned response will contain these parameters:
Response ExampleThe service will return the below response, according to our SOAP example:
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java example:
Complete ExampleBelow is a full example of this web service call. To use it for yourself, carry out the following the steps:
|
Anchor | ||||
---|---|---|---|---|
|
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This function validates a Yellowfin user. You can specify the user by using the AdministrationPerson as a parameter. The response will be SUCCESS if the user with provided details exists. Otherwise, the response will return code 25 (COULD_NOT_AUTHENTICATE_USER) if the user is not valid. Request ElementsThe following elements will be passed with this request:
These are the main parameters that you need to set in the AdministrationPerson object for this function:
Request ExampleThe following SOAP example shows the parameters that you can pass to this call:
Reponse ElementsThe response returned will contain these parameters:
Reponse ExampleThe service will return the below response, according to our SOAP example:
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java example:
Complete ExampleBelow is a complete example of the VALIDATEUSER function. To use it for yourself, carry out the following the steps:
|
Anchor | ||||
---|---|---|---|---|
|
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This call validates a user's password. If the password is expired, the call will return SUCCESS as the StatusCode, otherwise it will return FAILURE. Keep in mind that for a freshly created user who has not yet logged into Yellowfin, the call retrieves SUCCESS meaning that their password is expired. This happens because for every new user, Yellowfin is required to reset the password at the first login. Request ElementsThe following elements will be passed with this request:
These are the mandatory parameters that you need to set in the AdministrationPerson object for this function:
Request ExampleThe following SOAP example shows the parameters that you can pass to this call:
Reponse ElementsThe response returned will contain these parameters:
Reponse ExampleThe service will return the below response, according to our SOAP example:
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java example:
Complete ExampleBelow is a complete example of the VALIDATEPASSWORD function. To use it for yourself, carry out the following the steps:
|
Manipulating User Information
A user's details can be modified at a later time using a web service call. The User ID field in the AdministrationPerson object is used to identify the user, so this cannot be changed. The rest of the fields within an AdministrationPerson object are populated with the new changes. .
Anchor | ||||
---|---|---|---|---|
|
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This function will change the password for the specified Yellowfin user. The password will be reset through the AdministrationPerson parameter, based on their user ID (email address or another type of ID depending on the Login ID method). Request ElementsThe following elements will be passed with this request:
These are the mandatory parameters that you need to set in the AdministrationPerson object for this function:
Request ExampleThe following SOAP example shows the parameters that you can pass to this call:
Reponse ElementsThe response returned will contain these parameters:
Reponse ExampleThe service will return the below response, according to our SOAP example:
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java example:
Complete Example Below is a complete example of the CHANGEPASSWORD function. To use it for yourself, carry out the following the steps:
|
Anchor | ||||
---|---|---|---|---|
|
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This function resets a user's Yellowfin account and prompts them to change their password. This call will not change the password of the account itself. To change the password, use the CHANGEPASSWORD function. Request ElementsThe following elements will be passed with this request:
These are the mandatory parameters that you need to set in the AdministrationPerson object for this function:
Request ExampleThe following SOAP example shows the parameters that you can pass to this call:
Reponse ElementsThe response returned will contain these parameters:
Request ExampleThe service will return the below response, according to our SOAP example:
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java example:
Complete ExampleBelow is a complete example of the RESETPASSWD function. To use it for yourself, carry out the following the steps:
|
Anchor | ||||
---|---|---|---|---|
|
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This call will edit a user’s details. It accepts AdministrationPerson as a parameter, which can be used to identify the user, by providing their ID (for example, their email address, or another type of ID depending on the Logon ID method). The response will contain the AdministrationPerson object with the full details of the user. Note: This call will not change the password of the user's account. To change the password, use the CHANGEPASSWORD function. Request ElementsThe following elements will be passed with this request:
Mandatory parameters to set in the AdministrationPerson object for this function:
Request ExampleThe following SOAP example shows the parameters that you can pass to this call. This example shows the user's status being changed to "Inactive":
Reponse ElementsThe response returned will contain these parameters:
Response ExampleThe service will return the below response, according to our SOAP example:
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java example:
Complete ExampleBelow is a complete example of the UPDATEUSER function. To use it for yourself, carry out the following the steps:
|
Anchor | ||||
---|---|---|---|---|
|
Expand | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||
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 ParametersThe following parameters should be passed with this request:
These are the main parameters that you must set in the AdministrationPerson object for this web service call:
Request ExampleBelow is a SOAP XML example for this request:
Response ParametersThe returned response will contain the following parameter |
...
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This call validates a user's password. If the password is expired, the call will return SUCCESS as the StatusCode, otherwise it will return FAILURE. It accepts AdministrationPerson as a parameter where you can provide a user ID (email address or another ID depending on the Login ID method) and password to validate. Keep in mind that for a freshly created user who has not yet logged into Yellowfin, the call retrieves SUCCESS meaning that their password is expired. This happens because for every new user, Yellowfin is required to reset the password at the first login. Here is a basic example of this request:
Then provide the user ID via the AdministrationPerson object:
Once the request is configured, perform the call:
Initialize the Administration web service. Click here to learn how to do this.
:
Complete ExampleBelow is a complete example of the VALIDATEPASSWORD function. To use it for yourself, carry out the following the steps:
Response ExampleThe service will return the below response, according to our SOAP example:
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java example:
|
Manipulating User Information
A user's details can be modified at a later time using a web service call. The User ID field in the AdministrationPerson object is used to identify the user, so this cannot be changed. The rest of the fields within an AdministrationPerson object are populated with the new changes. For security reasons, the user's password cannot be changed with this web service call, but with a separate CHANGEPASSWORD function (below).
Complete ExampleBelow is a full example of this web service call. To use it for yourself, carry out the following the steps:
|
...
Expand | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||
This function will call the Yellowfin web service and change the password for the specified Yellowfin user. The password will be reset for a user specified through the AdministrationPerson parameter, based on their user ID (email address or another type of ID depending on the Login ID method). This example shows a basic request for this call:
Initialize the Administration web service. Click here to learn how to do this.
The response will contain these parameters:
Complete ExampleBelow is a complete example of the CHANGEPASSWORD function. To use it for yourself, carry out the following the steps:
|
...
|
User Session Termination
These services can end user's Yellowfin sessions.
Anchor | ||||
---|---|---|---|---|
|
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||
This service terminates a Yellowfin session. However, it requires the LoginSessionId to be able to log the user out. This is is enough to identify the user, hence the user ID is not required. When a single sign-on is performed with either the LOGINUSER or LOGINUSERNOPASSWORD functions, you can get the LoginSessionId via:
Save this value, so that you can pass it out to the LOGOUTUSER request later:
Request ElementsThe following elements will be passed with this request:
Mandatory parameters to set in the AdministrationPerson object for this function:
Request ExampleThe following SOAP XML example shows the request for this function using the above parameters:
|
...
Expand | |||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||
This function resets a user's Yellowfin account and prompts them to change their password. Note: This call will not change the password of the account itself. To change the password, use the CHANGEPASSWORD function. Here is what a basic request for this call will look like:
Initialize the Administration web service. Click here to learn how to do this. This call's response will contain these parameters:
Complete ExampleBelow is a complete example of the RESETPASSWD function. To use it for yourself, carry out the following the steps:
Reponse ElementsThe response returned will contain these parameters:
Reponse ExampleHere is the resposnse of the above SOAP XML call:
|
...
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java example:
|
...
Expand | |||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||
This call will edit a user’s details. It accepts AdministrationPerson as a parameter, which can be used to identify the user, by providing their ID (for example, their email address, or another type of ID depending on the Login ID method). The response will contain the AdministrationPerson object with the full details of the user. Note: This call will not change the password of the user's account. To change the password, use the CHANGEPASSWORD function. Here is what a basic request for this call will look like
Complete ExampleBelow is a complete example of the LOGOUTUSER function. This script is designed to perform the following steps:
To use this script
Complete ExampleBelow is a complete example of the UPDATEUSER function. To use it for yourself, carry out the following the steps:
|
User Session Termination
These services can end user's Yellowfin sessions.
...
Expand | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||
This service terminates a Yellowfin session. However, it requires the LoginSessionId to be able to log the user out, which is enough to identify the user, hence the user ID is not required. When a single sign-on is performed with either the LOGINUSER or LOGINUSERNOPASSWORD functions, you can get the LoginSessionId via:
Save this value, so that you can pass it out to the LOGOUTUSER request later:
Here is a basic request for this call: Code Block | | ||||||||||
|
} else { //logout the user: out.write("Trying to logout " + token + " session...<br>"); rsr = new AdministrationServiceRequest(); rsr.setLoginId("admin@yellowfin.com.au |
"); // provide your Yellowfin web services admin account rsr.setPassword("test"); // set the password of the above account rsr.setOrgId(1); rsr.setFunction("LOGOUTUSER"); |
language | java |
---|
rsr.setLoginSessionId(token); |
Code Block | ||
---|---|---|
| ||
String[] _sessionId = new String[]{sessionId}; // log out by Tomcat session Id (cookies JSESSIONID)
rsr.setParameters(_sessionId); |
Once the request is configured, perform the call:
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
if ("SUCCESS".equals(rs.getStatusCode()) ) {
out.write("Logout: Success");
} else {
out.write("Failure");
out.write("Code: " + rs.getErrorCode() );
}
}
%>
|
Anchor | ||||
---|---|---|---|---|
|
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This service is similar to the LOGOUTUSER function in that it logs out a specified user, however this one requires either a user ID (for example, an email address or any other type of ID depending on the Login ID method) or a user's IP ID (that is, the value of the IpId field in the Person table in Yellowfin's database), rather than a login session ID to identify the user. This call uses the AdministrationPerson object which is used to provide the user ID or IpId. Request ElementsThe following elements will be passed with this request:
Initialize the Administration web service. Click here to learn how to do this. This call's response will contain these parameters: Response
| Status of the web service call. Possible values include:
|
Yellowfin web services admin user Id. This can be the user ID or the email address, depending on the Logon ID method. This Yellowfin 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 services function. Set this to "LOGOUTBYUSERID". |
Person | Object containing details of the user to log out. See table below. |
Anchor | ||||
---|---|---|---|---|
|
Set either one of these parameters in the AdministrationPerson object:
AdministrationPerson Element | Data Type | Description |
---|---|---|
UserId | String | User ID to identify the user to terminate their Yellowfin session. This can be the user ID or the email address, depending on the Logon ID method. |
IpId | String | Ip ID of the user whose session is to be terminated. |
Request Example
The following XML SOAP example shows a request for this function being passed:
Code Block | ||
---|---|---|
| ||
<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>
|
Complete Example
Below is a complete example of the LOGOUTUSER function. This script is designed to perform the following steps:
- Call the LOGINUSER service which retrieves the LoginSessionId;
- Configures the login link. You will need to click this link first, to initialize a Yellowfin session for the specifed user. (In our example we will log in the user john.smith@yellowfin.com.au. Make sure that the user you mention, already exists in your Yellowfin instance, or you can even modify the userId.)
- Configure the link to log out. You will need to click this once the session has started.
To use this script for yourself, carry out the following the steps:
- Copy the code and save it as test.jsp.
- Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
- Adjust the host, port, admin user and user to login/logout according to your environment.
- Run http://<host>:<port>/test.jsp from your Internet browser.
Code Block | ||
---|---|---|
| ||
<% /* test.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(); String token = request.getParameter("token"); if (token == null) { //login the user: rsr.setLoginId("admin@yellowfin.com.au"); <orgId>1<//orgId> provide your Yellowfin web services admin account rsr.setPassword("test"); <function>LOGOUTBYUSERID</function> <person> // change to the password of the above account rsr.setOrgId(1); rsr.setFunction("LOGINUSER"); AdministrationPerson ap = new AdministrationPerson(); String userId = "john.smith@yellowfin.com.au"; ap.setUserId(userId); ap.setPassword("test"); rsr.setPerson(ap); AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode()) ) { String token_ = rs.getLoginSessionId(); out.write("Login by opening the link in a new subtab prior to Logout. The tomcat session must be initialized..."); out.write("<BR>Login: <A href='http://localhost:8080/logon.i4?LoginWebserviceId=" + token_ + "'>"); out.write("http://localhost:8080/logon.i4?LoginWebserviceId=" + token_ + "</a><br>"); out.write("<BR>Logout: <A href='http://localhost:8080/test.jsp?token=" + token_ + "&userId=" + userId + "'>"); out.write("http://localhost:8080/test.jsp?token=" + token_ + "&userId=" + userId + "</a><br>"); } else { out.write("Failure"); out.write(" Code: " + rs.getErrorCode() ); return; } } else { //logout the user: out.write("Trying to logout " + token + " session...<br>"); rsr = new AdministrationServiceRequest(); rsr.setLoginId("admin@yellowfin.com.au"); <userId>admin@yellowfin.com.au</userId> <password>test</password> </person> </arg0> </web:remoteAdministrationCall> </soapenv:Body> </soapenv:Envelope> |
Reponse Elements
The response returned will contain these parameters:
Response Element | Data Type | Description |
---|---|---|
StatusCode | String | Status of the web service call. Possible values include:
|
Request Example
The response of our above SOAP example is shown below:
Code Block | ||
---|---|---|
| ||
<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> // provide your Yellowfin web<messages>Successfully servicesAuthenticated admin account rsr.setPassword("test");User: admin@yellowfin.com.au</messages> <messages>Web Service Request Complete</messages> <sessionId>f8a04d7c9530ff18f65f95048e6a4500<// changesessionId> to the password of the above account rsr.setOrgId(1); rsr.setFunction("LOGOUTUSER"); rsr.setLoginSessionId(token); AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode()) ) { out.write("Logout: Success"); } else { out.write("Failure"); out.write("Code: " + rs.getErrorCode() ); } } %> |
...
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java example:
|
...
Expand | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||
This service is similar to the LOGOUTUSER function in that it logs out a specified user, however this one requires either a user ID (for example, an email address or any other type of ID depending on the Login ID method) or a user IpID (that is, the value of the IpId field in the Person table in Yellowfin's database), rather than a login session ID to identify the user. This call uses the AdministrationPerson object which is used to provide the user ID or the user IpId.
Complete ExampleBelow is a complete example of the LOGOUTUSER this function. This script is designed to perform the following steps:
To use this script for yourself, carry out the following the steps:
|