This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Writing a Web Service Client for Authentication and User Admin Services

This topic demonstrates how to use different web services API exposed by Identity Server, to write a client application(remote-user-mgt) to handle user management functionality of WSO2 Identity Server remotely. The remote-user-mgt sample uses AuthenticationAdmin, RemoteUserStoreManagerService and RemoteAuthorizationManagerService admin services to perform different operations.

You can learn more about the admin services used in this sample by referring Calling Admin Services, Managing Users and Roles with APIs and Managing Permissions with APIs.

  1. Create a folder in your local machine and navigate to it using your command line.
  2. Download the Java sample from GitHub from the link below. Follow these instructions to checkout the samples folder. Go to user-mgt/remote-user-mgt. The location of this folder (is-samples/modules/samples/user-mgt/remote-user-mgt) will be referred to as <remote-user-mgt_HOME> from this point onwards.

  3. Open the <remote-user-mgt_HOME>/build.xml file and update the ${wso2is.home} value with your IS home. Do this by modifying the wso2is.home property in a manner similar to the following.

    <property name="wso2is.home" value="/Users/Sam/Documents/IS/SampleTest/wso2is-5.3.0/"/>
  4. Update the RemoteUMSampleConstants.java file located in is-samples/modules/samples/user-mgt/remote-user-mgt/src/main/java/org/wso2/remoteum/sample with the directory that your WSO2 Identity Server instance is located. For example, the code will look similar to the following.

    public static final String IS_HOME ="/Users/Sam/Documents/IS/SampleTest/wso2is-5.3.0/";
  5. Start the Identity Server using the start up script found in the <IS_HOME>/bin directory.
    • Use wso2server.sh for Linux.
    • Use wso2server.bat for Windows.

    Note: Ensure that the port offset in the <IS_Home>/repository/conf/carbon.xml file is set at 0

  6. Download and install Apache Ant if you have not already done so.
  7. Modify the <remote-user-mgt_HOME>/client.properties file if the default configuration to run the sample is different. For example, if you have changed the password for your user, you need to update it here.
  8. Open a command line interface and navigate to the <remote-user-mgt_HOME> directory.
  9. Run the ant command at this directory level in the command line and observe the different user management operations performed remotely. In a successful run, you will see following logs,
  10. Log in to the Identity Server and go to Users and Roles in the Configure menu in the management console. 
  11. Click Users and you can now view the users created in the list using the sample.

Note: The service stubs are available at WSO2 Maven Repository and can be added as dependencies to the project. Also, you can generate the service stubs from the WSDL file available at https://localhost:9443/services/<ServiceName>?wsdl

In order to access the WSDL file, update the following configuration in the <IS_HOME>/repository/conf/carbon.xml file.

<HideAdminServiceWSDLs>false</HideAdminServiceWSDLs>