Page History
...
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. 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.
RequestElementsParametersThe 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:
ReponseElementsParametersThe 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 full example of the ADDUSER function. To use it for yourself, carry out the following the steps:
|
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. 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:
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:
|
...
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.
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:
|
People | AdministrationPerson[] | Failed users whose accounts were not created. |
...
title | Step-by-step instructions |
---|
...
Code Block | ||
---|---|---|
| ||
rsr.setFunction("ADDUSERSIGNOREDUPLICATES"); |
...
Code Block | ||
---|---|---|
| ||
AdministrationPerson[] failed_users = rs.getPeople(); |
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:
|
...
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 | |||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||
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:
Anchor | | deluserap | deluserap |
AdministrationPerson Element | Data Type | Description |
---|---|---|
UserId | String | User ID of the user that you wish to delete. This user should already exist in Yellowfin. This value could be a user ID or an email address, depending on the Logon ID method. |
The following SOAP example shows the parameters that you can pass to this call:
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> change to the password of the above account rsr.setOrgId(1); rsr.setFunction("ADDUSERS"); AdministrationPerson[] ap = <orgId>1</orgId> new AdministrationPerson[2]; ap[0] = new AdministrationPerson(); ap[0].setUserId("user1@yellowfin.com.au"); <function>DELETEUSER</function> ap[0].setFirstName("user1"); ap[0].setLastName("Lastname1"); ap[0].setRoleCode("YFREPORTCONSUMER"); ap[0].setPassword("test"); <person> <userId>binish.sheikh@yellowfin.com.au</userId> </person> ap[0].setEmailAddress("user1@yellowfin.com.au"); ap[1] = new AdministrationPerson(); ap[1].setUserId("user2@yellowfin.com.au"); ap[1].setFirstName("user2"); ap[1].setLastName("Lastname2"); ap[1].setRoleCode("YFREPORTCONSUMER"); </arg0> ap[1].setPassword("test"); </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:
|
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>
<messages>Web Service Request Complete</messages>
<sessionId>cc8c2b81d06485fdd20fe4cd24f5f70c</sessionId>
<statusCode>SUCCESS</statusCode>
</return>
</ns2:remoteAdministrationCallResponse>
</S:Body>
</S:Envelope> |
Instructions
See below for step-by-step instructions on how to perform this call, using a Java example:
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:
Expand | | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Code Block | ||
---|---|---|
| ||
AdministrationServiceRequest rsr = new AdministrationServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
rsr.setOrgId(1);
rsr.setFunction("DELETEUSER");
|
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):
Code Block language java AdministrationPerson ap = new AdministrationPerson(); ap.setUserId("test@yellowfin.com.au"); // test@yellowfin.com.au should be an existing Yellowfin user. rsr.setPerson(ap);
After configuring the request, perform the call:
Code Block language java AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
Then 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 DELETEUSER function. To use it for yourself, carry out the following the steps:
- Copy the below code and save it as ws_deleteuser.jsp.
- Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
- Adjust the host, port, admin user and user to delete details according to your environment.
- Run http://<host>:<port>/ws_deleteuser.jsp from your Internet browser.
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
|
...
|
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:
|
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.
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:
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java example:
Expand | | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Code Block | ||
---|---|---|
| ||
AdministrationServiceRequest rsr = new AdministrationServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
rsr.setOrgId(1);
rsr.setFunction("GETUSER"); |
Code Block | ||
---|---|---|
| ||
AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("john.smith@yellowfin.com.au");
rsr.setPerson(ap); |
above account
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() );
}
%>
|
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:
Initialize the Administration web service. Click here to learn how to do this. The response will contain the following parameters: Response
| ||||||||||||
Person | AdministrationPerson | Object with the user details |
a web services admin user who logs in to perform this function. 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 "GETUSER". |
Person | Object containing details of the user whose information is to be retrieved. Note: See table below. | |
OrgRef | String | Client Org Internal Reference Id (optional). This will log the user into a given Client Org. If this is not set, then the user will be prompted with the Client Org Selection page on login. |
Anchor | ||||
---|---|---|---|---|
|
These are the main parameters that you need to set in the AdministrationPerson object for this function:
AdministrationPerson Element | Data Type | Description |
---|---|---|
UserId | String | User ID of the user whose information is to be retrieved. This can be the user ID or the email address, depending on the Logon ID method. |
Request Example
The following SOAP example shows the parameters that you can pass to this call:
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>
|
To display the retrieved user details, use the following example:
Code Block | ||
---|---|---|
| ||
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());
}
|
Complete Example
Below is a complete example of the GETUSER function. To use it for yourself, carry out the following the steps:
- Copy the code and save it as ws_getuser.jsp.
- Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
- Adjust the host, port, admin user and user to get details according to your environment.
- Run http://<host>:<port>/ws_getuser.jsp from your Internet browser.
Code Block | ||
---|---|---|
| ||
<% /*<orgId>1</orgId> <function>GETUSER</function> ws_getuser.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); <person> <userId>admin@yellowfin.com.au</userId> </person> // adjust host and port number AdministrationServiceSoapBindingStub adminService = (AdministrationServiceSoapBindingStub) s_adm.getAdministrationService(); AdministrationServiceRequest rsr = new AdministrationServiceRequest(); rsr.setLoginId("admin@yellowfin.com.au"); </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:
|
Person | Object with the user details |
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:// provide your Yellowfin web services admin account rsr.setPassword("test");webservices.web.mi.hof.com/"> <return> <errorCode>0</errorCode> <messages>Successfully Authenticated User: // change to the password of the above account 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() ); } %> |
...
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:
Code Block | | ||||||||||
|
admin@yellowfin.com.au</messages> <messages>Getting user information...</messages> <messages>Getting user information...</messages> <messages>Web Service Request Complete</messages> <person> <emailAddress>admin@yellowfin.com.au</emailAddress> <firstName>System</firstName> <initial/> <ipId>5</ipId> <languageCode>EN</languageCode> <lastName>Administrator</lastName> <roleCode>YFADMIN</roleCode> <salutationCode/> <status>ACTIVE</status> <timeZoneCode>AUSTRALIA/ |
SYDNEY</timeZoneCode>
<userId>admin@yellowfin.com.au</userId>
</person>
<sessionId>70dc3c7158a340e19b590f0ed6ea6a8b</sessionId>
<statusCode>SUCCESS</statusCode>
</return>
</ns2:remoteAdministrationCallResponse>
</S:Body>
</S:Envelope> |
Instructions
See below for step-by-step instructions on how to perform this call, using a Java example:
Expand | ||
---|---|---|
| ||
|
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:
Response Element | Data Type | Description |
---|---|---|
StatusCode | String | Status of the web service call. Possible values include:
|
Person | AdministrationPerson | Object with the user details |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Complete Example
Below is a complete example of the GETUSERBYIP GETUSER function. To use it for yourself, first carry out the following the steps:
- Copy the code and save it as ws_getuserbyipgetuser.jsp.
- Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
- Adjust the host, port, admin user and user IpId to get details according to your environment.
- Run http://<host>:<port>/ws_getuserbyipgetuser.jsp from your Internet browser.
Code Block | ||
---|---|---|
| ||
<% /* ws_getuserbyipgetuser.jsp */ %> <%@ page language="java" contentType="text/html; charset=UTF-8" %> <%@ page import="com.hof.util.*, java.util.*, java.text.*" %> <%@ page import="com.hof.web.form.*" %> <%@ page import="com.hof.mi.web.service.*" %> <% AdministrationServiceService s_adm = new AdministrationServiceServiceLocator("localhost",8080, "/services/AdministrationService", false); // adjust host and port number AdministrationServiceSoapBindingStub adminService = (AdministrationServiceSoapBindingStub) s_adm.getAdministrationService(); AdministrationServiceRequest rsr = new AdministrationServiceRequest(); rsr.setLoginId("admin@yellowfin.com.au"); // provide your Yellowfin web services admin account rsr.setPassword("test"); // change to the password of the above account rsr.setOrgId(1); rsr.setFunction("GETUSERBYIPGETUSER"); AdministrationPerson ap = new AdministrationPerson(); ap.setIpId(5setUserId("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() ); } %> |
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. Here's an example of a request to retrieve users:
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:
| java | |||||||||||||||||||||||||||
rsr.setOrgRef("org1");
String[] searchingCriteria = new String[] {"John","yellowfin.com.au"};
rsr.setParameters(searchingCriteria);
|
| |
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/">
<soapenv:Header/>
<soapenv:Body>
<web:remoteAdministrationCall>
<arg0>
<loginId>admin@yellowfin.com.au</loginId>
<password>test</password>
<orgId>1</orgId>
<function>GETALLUSERS</function>
</arg0>
</web:remoteAdministrationCall>
</soapenv:Body>
</soapenv:Envelope> |
Reponse Elements
The response returned will contain these
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 | Array of objects with the users’ details. |
Complete
Response 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.
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>
| ||
Code Block | ||
| ||
<% <ns2:remoteAdministrationCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/"> /* <return> ws_getallusers.jsp <errorCode>0</errorCode> */ %> <%@ 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); <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages> <messages>Web Service Request Complete</messages> <people> // 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() ); } %> |
...
InstructionsSee below for step-by-step instructions on how to perform this call, using a Java 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
| |||||||||||||
AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("john.smith@yellowfin.com.au");
ap.setPassword("test");
rsr.setPerson(ap);
|
|
|
rsr.setOrgRef("org1");
If the OrgRef parameter is omitted, the user will be validated against the default (primary) organization.
|
Response Element
Data Type
Description
StatusCode
String
Status of the web service call. Possible values include:
|
Complete Example
Below is a complete Java example of the VALIDATEUSER GETALLUSERS function. To use it for yourself, carry out the following the steps:
- Copy the code and save it as ws_validateusergetallusers.jsp.
- Put the file in the Yellowfin/appserver/webapps/ROOT folder.
- Adjust the host, port, admin user and user to validate searching criteria according to your environment.
- Run http://<host>:<port>/ws_validateusergetallusers.jsp from your Internet browser.
Code Block | ||
---|---|---|
| ||
<% /* ws_validateusergetallusers.jsp */ %> <%@ page language="java" contentType="text/html; charset=UTF-8" %> <%@ page import="com.hof.util.*, java.util.*, java.text.*" %> <%@ page import="com.hof.web.form.*" %> <%@ page import="com.hof.mi.web.service.*" %> <% AdministrationServiceService s_adm = new AdministrationServiceServiceLocator("localhost",8080, "/services/AdministrationService", false); // adjust host and port number AdministrationServiceSoapBindingStub adminService = (AdministrationServiceSoapBindingStub) s_adm.getAdministrationService(); AdministrationServiceRequest rsr = new AdministrationServiceRequest(); rsr.setLoginId("admin@yellowfin.com.au"); // provide your Yellowfin web services admin account rsr.setPassword("test"); // change to the password of the above account rsr.setOrgId(1); rsr.setFunction("GETALLUSERS"); rsr.setOrgRef("VALIDATEUSERorg1"); AdministrationPersonString[] apsearchingCriteria = new AdministrationPerson(); ap.setUserId("john.smith@yellowfin.String[] {"John","yellowfin.com.au")}; aprsr.setPassword("test"); rsr.setPerson(ap); rsr.setOrgRef("org1"setParameters(searchingCriteria); AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode()) ) { out.write("User is authenticated"Success. " + rs.getPeople().length + " people found."); } else { out.write("Failure"); out.write(" Code: " + rs.getErrorCode() ); } %> |
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
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 Response ExampleBelow is a complete example of the VALIDATEPASSWORD function. To use it for yourself, carry out the following the steps:
The 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:
Reponse ElementsThe response returned |
...
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 Reponse ExampleBelow is a complete example of the RESETPASSWD function. To use it for yourself, carry out the following the steps:
Here 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:
This call's response will contain these parameters:
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 | | ||||||||||
|
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"); // 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:
Code Block | ||
---|---|---|
| ||
AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); |
Initialize the Administration web service. Click here to learn how to do this.
This call's response will contain these parameters:
Response Element | Data Type | Description |
---|---|---|
StatusCode | String | Status of the web service call. Possible values include:
|
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:
Set either one of these parameters in the AdministrationPerson object:
Request ExampleThe following XML SOAP example shows a request for this function being passed:
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:
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 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.
| |||||||||||||||||||||||
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 LOGOUTUSER this function. This script is designed to perform the following steps:
- 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 is set up.
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 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"); // change toset the password of the above account rsr.setOrgId(1); rsr.setFunction("LOGINUSER"); AdministrationPerson ap = new AdministrationPerson(); 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 " + userId + " session...<br>"); 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("LOGOUTBYUSERID"); AdministrationPerson ap = new AdministrationPerson(); ap.setUserId(userId); rsr.setPerson(ap); AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr); if ("SUCCESS".equals(rs.getStatusCode()) ) { out.write("Logout: Success"); } else { out.write("Failure"); out.write(" Code: " + rs.getErrorCode() ); } } %> |