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:
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:
The ADDUSER function requires AdministrationPerson object where you define the new Yellowfin user details:
Code Block | | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
<password>test</password> |
<orgId>1</orgId> <function>ADDUSER</ |
Other parameters of AdministrationPerson object are optional.
Pass the 'ap' object to the request:
Code Block | ||
---|---|---|
| ||
rsr.setPerson(ap);
|
Code Block | ||
---|---|---|
| ||
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
|
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 | ||
---|---|---|
| ||
<%function> <person> <userId>binish.sheikh@yellowfin.com.au</userId> <emailAddress>binish.sheikh@yellowfin.com.au</emailAddress> <password>admin</password> <firstName>Binish</firstName> /* ws_adduser.jsp<lastName>Sheikh</lastName> <roleCode>YFREPORTCONSUMER</roleCode> */ %> <%@ 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); </person> // 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"); </arg0> </web:remoteAdministrationCall> </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> // change to be the password of the account above rsr.setOrgId(1); rsr.setFunction("ADDUSER"); AdministrationPerson ap = new AdministrationPerson(); ap.setUserId("john.smith@yellowfin.com.au"); // if Yellowfin authentication option is set "email address" ap.setFirstName("John"); ap.setLastName("Smith"); ap.setRoleCode("YFREPORTCONSUMER"); <errorCode>0</errorCode> <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages> <messages>Creating New User via Webservices...</messages> <messages>Creating SessionBean for webservices // Yellowfin role codes can be found performing this query against // Yellowfin configuration database: SELECT * FROM OrgRole ap.setPassword("test");user...</messages> <messages>Looking up user...</messages> <messages>Web Service Request Complete</messages> <sessionId>8090cb7879f7d5e72eab9625772c00b5</sessionId> <statusCode>SUCCESS<//statusCode> Password must comply with your Yellowfin password policy ap.setEmailAddress("john.smith@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()); } %> |
...
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java example:
|
...
Expand | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||
This function creates users in bulk. It works 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:
Complete ExampleBelow is a full example of the ADDUSER function. 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 similar 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 object 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. |
...
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
The call 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 AdministrationPerson object where you provide the user id (email address or Id depending on the Logon ID method) to delete: Code Block | | |||||
|
*/ %> <%@ 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 service admin account rsr.setPassword("test"); // 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"); // Yellowfin role codes can be found performing this query against // Yellowfin configuration database: SELECT * FROM OrgRole ap.setPassword("test"); // |
Password must comply with your Yellowfin password policy ap.setEmailAddress("john.smith@yellowfin.com.au"); rsr.setPerson(ap); |
After configuring the request, perform the call:
language | java |
---|
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 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:
The response will contain these parameters: Response
| Status of the web service call. Possible values include:
|
Code Block | ||
---|---|---|
| ||
<%
/* ws_deleteuser.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("DELETEUSER");
AdministrationPerson ap = 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.
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 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
The response will contain the following parameters:
Complete ExampleBelow 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:
|
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:
|
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:
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:
|
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:
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:
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:
|
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:
| |||||||||||||||||||||||||||||||||||||||||||||||||||
if ("SUCCESS".equals(rs.getStatusCode()) ) {
ap = rs.getPerson();
out.write("UserId:" + ap.getUserId() + "<br>");
out.write("Password:" + ap.getPassword() + "<br>");
out.write("FirstName:" + ap.getFirstName() + "<br>");
out.write("LastName:" + ap.getLastName() + "<br>");
out.write("Initial:" + ap.getInitial() + "<br>");
out.write("SalutationCode:" + ap.getSalutationCode() + "<br>");
out.write("RoleCode:" + ap.getRoleCode() + "<br>");
out.write("EmailAddress:" + ap.getEmailAddress() + "<br>");
out.write("LanguageCode:" + ap.getLanguageCode() + "<br>");
out.write("IpId:" + ap.getIpId() + "<br>");
out.write("TimeZoneCode:" + ap.getTimeZoneCode() + "<br>");
out.write("Status:" + ap.getStatus() + "<br>");
} else {
out.write("Failure");
out.write(" Code: " + rs.getErrorCode());
}
|
Code Block | ||
---|---|---|
| ||
<% /* ws_getuser.jsp<userId>admin@yellowfin.com.au</userId> *<password>test</ %> <%@ 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");password> </person> <loginSessionId>39fb11047affb98c9d081fb48bed0093</loginSessionId> </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:
|
Reponse Example
Here is the resposnse of the above SOAP XML call:
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 webservices admin account rsr.setPassword("test"); <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages> <messages>Web Service Request // change to be the password of the account above rsr.setOrgId(1); rsr.setFunction("GETUSER"); AdministrationPerson ap = new AdministrationPerson(); ap.setUserId("john.smith@yellowfin.com.au"); rsr.setPerson(ap); AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode()) ) { ap = rs.getPerson(); out.write("User Id:" + ap.getUserId() + "<br>"); out.write("Password:" + ap.getPassword() + "<br>"); out.write("First Name:" + ap.getFirstName() + "<br>"); out.write("Last Name:" + ap.getLastName() + "<br>"); out.write("Initial:" + ap.getInitial() + "<br>"); out.write("Salutation Code:" + ap.getSalutationCode() + "<br>"); out.write("Role Code:" + ap.getRoleCode() + "<br>"); out.write("Email Address:" + ap.getEmailAddress() + "<br>"); out.write("Language Code:" + ap.getLanguageCode() + "<br>"); out.write("IpId:" + ap.getIpId() + "<br>"); out.write("Time Zone Code:" + ap.getTimeZoneCode() + "<br>"); out.write("Status:" + ap.getStatus() + "<br>"); } else { out.write("Failure"); out.write(" Code: " + rs.getErrorCode() ); } %> |
...
title | GETALLUSERS |
---|
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.
...
Code Block | ||
---|---|---|
| ||
AdministrationServiceRequest rsr = new AdministrationServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
rsr.setOrgId(1);
rsr.setFunction("GETALLUSERS");
|
...
Code Block | ||
---|---|---|
| ||
rsr.setOrgRef("org1");
String[] searchingCriteria = new String[] {"John","yellowfin.com.au"};
rsr.setParameters(searchingCriteria);
|
...
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 LOGOUTUSER function. This script is designed to perform the following steps:
To use this script for yourself, carry out the following the steps:
|
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:
Set either one of these parameters in the AdministrationPerson object:
Request ExampleThe following XML SOAP example shows a request for this function being passed:
|
...
Code Block | ||
---|---|---|
| ||
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); |
- Initialize the Administration web service. Click here to learn how to do this.
...
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() );
}
%>
|
...
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:
Reponse ElementsThe response returned will contain these parameters:
Request ExampleThe response of our above SOAP example is shown below:
|
...
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java example:
|
...
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 requires to reset the password at the first login. Here is a basic example of this request:
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 this function. This script is designed to perform the following steps:
To use this script for yourself, carry out the following the steps:
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. For security reasons, the user's password cannot be changed with this web service call, but with a separate CHANGEPASSWORD function (below).
...
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: Code Block | | |
|
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 userId = request.getParameter("userId"); if (userId == null) { //login the admin user: 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(" |
LOGINUSER"); |
language | java |
---|
AdministrationPerson ap = new AdministrationPerson(); |
userId = "john.smith@yellowfin.com.au"; ap.setUserId(userId); ap.setPassword(" |
test"); rsr.setPerson(ap); |
language | java |
---|
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); |
Initialize the Administration web service. Click here to learn how to do this.
The response 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 complete example of the CHANGEPASSWORD function. To use it for yourself, carry out the following the steps:
- Copy the code and save it as ws_changepwd.jsp.
- Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
- Adjust the host, port, admin user and user/new password details according to your environment.
- Run http://<host>:<port>/ws_changepwd.jsp from your Internet browser.
Code Block | ||
---|---|---|
| ||
<% /* ws_changepwd.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 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 " + userId + " session...<br>"); rsr = new AdministrationServiceRequest(); rsr.setLoginId("admin@yellowfin.com.au"); // provide your Yellowfin webservicesweb services admin account rsr.setPassword("test"); // change to be the password of the above account above rsr.setOrgId(1); rsr.setFunction("CHANGEPASSWORDLOGOUTBYUSERID"); AdministrationPerson ap = new AdministrationPerson(); ap.setUserId("john.smith@yellowfin.com.au"userId); ap.setPassword("test123"); rsr.setPerson(ap); AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode()) ) { out.write("Password is resetLogout: Success"); } else { out.write("Failure"); out.write(" Code: " + rs.getErrorCode() ); } } %> |
...
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.
|