Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The The UserStoreConfigAdminService allows  allows you to add, retrieve, edit, and delete user stores within the WSO2 Identity Server. This section guides you through invoking and working with the UserStoreConfigAdminService and   and the operations you can work within this service.

Table of Contents
maxLevel3
minLevel3

Invoking the admin service

UserStoreConfigAdminService is an admin service of the WSO2 Carbon platform. As admin services are secured to prevent anonymous invocations, you cannot view the WSDL of the admin service by default. Follow the steps below to view and invoke it:

...

Table of Contents
maxLevel5
minLevel5

addUserStore()
MethodaddUserStore
DescriptionAdd a secondary user store.
Permission Level/permission/admin
Input Parameters
ParameterTypeDescription
classNamestring

The user store manager class name.
A list of available class names can be obtained using the getAvailableUserStoreClasses function.

descriptionstringDescription of the user store.
disabledboolean

Mark as true to disable the user store.
Mark as false to enable the user store.

domainIDstringDomain name of the user store.
This is a unique name that identifies the user store.
propertiespropertyVarious properties related to the user store such as connection URL, connection password etc.
properties.namestringName of the property.
properties.valuestringValue of the property.
Tip

For a full list of possible input parameters including optional parameters, see the relevant topic from the following list depending on the type of user store you are creating:

Note that some of these parameters such as connection URL, username, password, and driver name are mandatory when creating a secondary keystore. See the relevant sample request in the code block below.



Localtabgroup
Localtab
activetrue
titleJDBC Userstore
Code Block
languagexml
titleRequest
<soapenv:Envelope
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsd="http://org.apache.axis2/xsd"
    xmlns:xsd1="http://dto.configuration.store.user.identity.carbon.wso2.org/xsd">
    <soapenv:Header/>
    <soapenv:Body>
        <xsd:addUserStore>
            <!--Optional:-->
            <xsd:userStoreDTO>
                <!--Optional:-->
                <xsd1:
className>?<
className>org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager</xsd1:className>
                <!--Optional:-->
                <xsd1:
description>?<
description></xsd1:description>
                <!--Optional:-->
                <xsd1:
disabled>?<
disabled>false</xsd1:disabled>
                <!--Optional:-->
                <xsd1:
domainId>?<
domainId>JDBC-SECONDARY</xsd1:domainId>
                <!--Zero or more repetitions:-->
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>url</xsd1:name>
                    <!--Optional:-->
                    <xsd1
:value>?<
:value>jdbc:mysql://192.168.48.154:3306/test</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>userName</xsd1:name>
                    <!--Optional:-->
                    <xsd1:
value>?<
value>root</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>password</xsd1:name>
                    <!--Optional:-->
                    <xsd1:
value>?<
value>root</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>driverName</xsd1:name>
                    <!--Optional:-->
               
<xsd1:value>?</xsd1:value>
     <xsd1:value>com.mysql.jdbc.Driver</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>maxActive</xsd1:name>
                    <!--Optional:-->
                    <xsd1:
value>?<
value>50</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>maxWait</xsd1:name>
                    <!--Optional:-->
                    <xsd1:
value>?<
value>60000</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>validationQuery</xsd1:name>
                    <!--Optional:-->
                    <xsd1:
value>?<
value>SELECT 1</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <xsd1:name>PasswordJavaScriptRegEx</xsd1:name>
                 
<xsd1:value>?<
   <xsd1:value>^[\S]{5,30}$</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <xsd1:name>UsernameJavaScriptRegEx</xsd1:name>
                 
<xsd1:value>?<
   <xsd1:value>^[\S]{5,30}$</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <xsd1:name>RoleNameJavaScriptRegEx</xsd1:name>
                
<xsd1:value>?<
    <xsd1:value>^[\S]{5,30}$</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <xsd1:name>PasswordJavaRegEx</xsd1:name>
               
<xsd1:value>?</xsd1:value>
     <xsd1:value>^[\S]{5,30}$</xsd1:value>
                </xsd1:properties>
            </xsd:userStoreDTO>
        </xsd:addUserStore>
    </soap:Body>
</soap:Envelope>
Localtab
titleActive Directory Userstore
Code Block
languagexml
titleRequest
<soapenv:Envelope
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsd="http://org.apache.axis2/xsd"
    xmlns:xsd1="http://dto.configuration.store.user.identity.carbon.wso2.org/xsd">
    <soapenv:Header/>
    <soapenv:Body>
        <xsd:addUserStore>
            <!--Optional:-->
            <xsd:userStoreDTO>
                <!--Optional:-->
                <xsd1:className>org.wso2.carbon.user.core.ldap.ActiveDirectoryUserStoreManager</xsd1:className>
                <!--Optional:-->
                <xsd1:description></xsd1:description>
                <!--Optional:-->
                <xsd1:disabled>false</xsd1:disabled>
                <!--Optional:-->
                <xsd1:domainId>AD-SECONDARY</xsd1:domainId>
                <!--Zero or more repetitions:-->
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>url</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>jdbc:mysql://192.168.48.154:3306/test</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>userName</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>root</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>password</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>root</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>driverName</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>com.mysql.jdbc.Driver</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>maxActive</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>50</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>maxWait</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>60000</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>validationQuery</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>SELECT 1</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <xsd1:name>PasswordJavaScriptRegEx</xsd1:name>
                    <xsd1:value>^[\S]{5,30}$</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <xsd1:name>UsernameJavaScriptRegEx</xsd1:name>
                    <xsd1:value>^[\S]{5,30}$</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <xsd1:name>RoleNameJavaScriptRegEx</xsd1:name>
                    <xsd1:value>^[\S]{5,30}$</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <xsd1:name>PasswordJavaRegEx</xsd1:name>
                    <xsd1:value>^[\S]{5,30}$</xsd1:value>
                </xsd1:properties>
            </xsd:userStoreDTO>
        </xsd:addUserStore>
    </soap:Body>
</soap:Envelope>
Localtab
titleRead Only LDAP Userstore
Code Block
languagexml
titleRequest
<soapenv:Envelope
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsd="http://org.apache.axis2/xsd"
    xmlns:xsd1="http://dto.configuration.store.user.identity.carbon.wso2.org/xsd">
    <soapenv:Header/>
    <soapenv:Body>
        <xsd:addUserStore>
            <!--Optional:-->
            <xsd:userStoreDTO>
                <!--Optional:-->
                <xsd1:className>org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager</xsd1:className>
                <!--Optional:-->
                <xsd1:description></xsd1:description>
                <!--Optional:-->
                <xsd1:disabled>false</xsd1:disabled>
                <!--Optional:-->
                <xsd1:domainId>ReadOnly-LDAP-SECONDARY</xsd1:domainId>
                <!--Zero or more repetitions:-->
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>url</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>jdbc:mysql://192.168.48.154:3306/test</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>userName</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>root</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>password</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>root</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>driverName</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>com.mysql.jdbc.Driver</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>maxActive</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>50</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>maxWait</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>60000</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>validationQuery</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>SELECT 1</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <xsd1:name>PasswordJavaScriptRegEx</xsd1:name>
                    <xsd1:value>^[\S]{5,30}$</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <xsd1:name>UsernameJavaScriptRegEx</xsd1:name>
                    <xsd1:value>^[\S]{5,30}$</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <xsd1:name>RoleNameJavaScriptRegEx</xsd1:name>
                    <xsd1:value>^[\S]{5,30}$</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <xsd1:name>PasswordJavaRegEx</xsd1:name>
                    <xsd1:value>^[\S]{5,30}$</xsd1:value>
                </xsd1:properties>
            </xsd:userStoreDTO>
        </xsd:addUserStore>
    </soap:Body>
</soap:Envelope>
Localtab
titleRead Write LDAP Userstore
Code Block
languagexml
titleRequest
<soapenv:Envelope
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsd="http://org.apache.axis2/xsd"
    xmlns:xsd1="http://dto.configuration.store.user.identity.carbon.wso2.org/xsd">
    <soapenv:Header/>
    <soapenv:Body>
        <xsd:addUserStore>
            <!--Optional:-->
            <xsd:userStoreDTO>
                <!--Optional:-->
                <xsd1:className>org.wso2.carbon.user.core.ldap.ReadWriteLDAPUserStoreManager</xsd1:className>
                <!--Optional:-->
                <xsd1:description></xsd1:description>
                <!--Optional:-->
                <xsd1:disabled>false</xsd1:disabled>
                <!--Optional:-->
                <xsd1:domainId>Read-write-LDAP-SECONDARY</xsd1:domainId>
                <!--Zero or more repetitions:-->
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>url</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>jdbc:mysql://192.168.48.154:3306/test</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>userName</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>root</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>password</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>root</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>driverName</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>com.mysql.jdbc.Driver</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>maxActive</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>50</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>maxWait</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>60000</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>validationQuery</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>SELECT 1</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <xsd1:name>PasswordJavaScriptRegEx</xsd1:name>
                    <xsd1:value>^[\S]{5,30}$</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <xsd1:name>UsernameJavaScriptRegEx</xsd1:name>
                    <xsd1:value>^[\S]{5,30}$</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <xsd1:name>RoleNameJavaScriptRegEx</xsd1:name>
                    <xsd1:value>^[\S]{5,30}$</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <xsd1:name>PasswordJavaRegEx</xsd1:name>
                    <xsd1:value>^[\S]{5,30}$</xsd1:value>
                </xsd1:properties>
            </xsd:userStoreDTO>
        </xsd:addUserStore>
    </soap:Body>
</soap:Envelope>
Localtab
titleCarbon Remote Userstore
Code Block
languagexml
titleRequest
<soapenv:Envelope
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsd="http://org.apache.axis2/xsd"
    xmlns:xsd1="http://dto.configuration.store.user.identity.carbon.wso2.org/xsd">
    <soapenv:Header/>
    <soapenv:Body>
        <xsd:addUserStore>
            <!--Optional:-->
            <xsd:userStoreDTO>
                <!--Optional:-->
                <xsd1:className>org.wso2.carbon.identity.user.store.remote.CarbonRemoteUserStoreManger</xsd1:className>
                <!--Optional:-->
                <xsd1:description></xsd1:description>
                <!--Optional:-->
                <xsd1:disabled>false</xsd1:disabled>
                <!--Optional:-->
                <xsd1:domainId>CARBON-REMOTE-SECONDARY</xsd1:domainId>
                <!--Zero or more repetitions:-->
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>url</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>jdbc:mysql://192.168.48.154:3306/test</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>userName</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>root</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>password</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>root</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>driverName</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>com.mysql.jdbc.Driver</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>maxActive</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>50</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>maxWait</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>60000</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <!--Optional:-->
                    <xsd1:name>validationQuery</xsd1:name>
                    <!--Optional:-->
                    <xsd1:value>SELECT 1</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <xsd1:name>PasswordJavaScriptRegEx</xsd1:name>
                    <xsd1:value>^[\S]{5,30}$</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <xsd1:name>UsernameJavaScriptRegEx</xsd1:name>
                    <xsd1:value>^[\S]{5,30}$</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <xsd1:name>RoleNameJavaScriptRegEx</xsd1:name>
                    <xsd1:value>^[\S]{5,30}$</xsd1:value>
                </xsd1:properties>
                <xsd1:properties>
                    <xsd1:name>PasswordJavaRegEx</xsd1:name>
                    <xsd1:value>^[\S]{5,30}$</xsd1:value>
                </xsd1:properties>
            </xsd:userStoreDTO>
        </xsd:addUserStore>
    </soap:Body>
</soap:Envelope>
changeUserStoreState()
MethodchangeUserStoreState
DescriptionEnable or disable the user store.
Permission Level/permission/admin
Input Parameters
ParameterTypeDescription
domainstringDomain name of the user store.
isDisablestringMark as true to disable the user store.
Mark as false to enable the user store.
Output ParametersA boolean parameter indicating if the user store is read only or not
Code Block
languagexml
titleRequest
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://org.apache.axis2/xsd">
   <soapenv:Header/>
   <soapenv:Body>
      <xsd:changeUserStoreState>
         <!--Optional:-->
         <xsd:domain>?<domain>CARBON-REMOTE-SECONDARY</xsd:domain>
         <!--Optional:-->
         <xsd:isDisable>?<isDisable>true</xsd:isDisable>
      </xsd:changeUserStoreState>
   </soapenv:Body>
</soapenv:Envelope>
deleteUserStore()
MethoddeleteUserStore
DescriptionDelete a user store.
Permission Level/permission/admin
Input Parameters
ParameterTypeDescription
domainNamestringDomain name of the user store.
This is a unique name that identifies the user store.
Code Block
languagexml
titleRequest
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://org.apache.axis2/xsd">
   <soapenv:Header/>
   <soapenv:Body>
      <xsd:deleteUserStore>
         <!--Optional:-->
         <xsd:domainName>?<domainName>CARBON-REMOTE-SECONDARY</xsd:domainName>
      </xsd:deleteUserStore>
   </soapenv:Body>
</soapenv:Envelope>
deleteUserStoresSet()
MethoddeleteUserStoresSet
DescriptionDelete multiple user stores.
Permission Level/permission/admin
Input Parameters
ParameterTypeDescription
domainsstringArray of domain names of the user stores that are to be deleted.
Code Block
languagexml
titleRequest
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://org.apache.axis2/xsd">
   <soapenv:Header/>
   <soapenv:Body>
      <xsd:deleteUserStoresSet>
         <!--Zero or more repetitions:-->
         <xsd:domains>?<domains>ADSECONDARY,JDBCSECONDARY</xsd:domains>
      </xsd:deleteUserStoresSet>
   </soapenv:Body>
</soapenv:Envelope>
editUserStore()
MethodeditUserStore
DescriptionEdit a user store.
Permission Level/permission/admin
Input Parameters
ParameterTypeDescription
classNamestringThe user store manager class name.
A list of available class names can be obtained using the getAvailableUserStoreClasses function.
descriptionstringDescription of the user store.
disabledboolean

Mark as true to disable the user store.
Mark as false to enable the user store.

domainIDstringDomain name of the user store.
This is a unique name that identifies the user store.
propertiespropertyVarious properties related to the user store such as connection URL, connection password etc.
properties.namestringName of the property.
properties.valuestringValue of the property.
Code Block
languagexml
titleRequest
soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://org.apache.axis2/xsd" xmlns:xsd1="http://dto.configuration.store.user.identity.carbon.wso2.org/xsd">
   <soapenv:Header/>
   <soapenv:Body>
      <xsd:editUserStore>
         <!--Optional:-->
         <xsd:userStoreDTO>
            <!--Optional:-->
            <xsd1:className>?</xsd1:className>
            <!--Optional:-->
            <xsd1:description>?</xsd1:description>
            <!--Optional:-->
            <xsd1:disabled>?</xsd1:disabled>
            <!--Optional:-->
            <xsd1:domainId>?</xsd1:domainId>
            <!--Zero or more repetitions:-->
            <xsd1:properties>
               <!--Optional:-->
               <xsd1:name>?</xsd1:name>
               <!--Optional:-->
               <xsd1:value>?</xsd1:value>
            </xsd1:properties>
         </xsd:userStoreDTO>
      </xsd:editUserStore>
   </soapenv:Body>
</soapenv:Envelope>
editUserStoreWithDomainName()
MethodeditUserStoreWithDomainName
DescriptionEdit a user store and change its domain name.
Permission Level/permission/admin
Input Parameters
ParameterTypeDescription
previousDomainNamestringCurrent domain name of the user store.
classNamestringThe user store manager class name.
A list of available class names can be obtained using the getAvailableUserStoreClasses function.
descriptionstringDescription of the user store.
disabledboolean

Mark as true to disable the user store.
Mark as false to enable the user store.

domainIDstringNew domain name of the user store.
propertiespropertyVarious properties related to the user store such as connection URL, connection password etc.
properties.namestringName of the property.
properties.valuestringValue of the property.
Code Block
languagexml
titleRequest
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://org.apache.axis2/xsd" xmlns:xsd1="http://dto.configuration.store.user.identity.carbon.wso2.org/xsd">
   <soapenv:Header/>
   <soapenv:Body>
      <xsd:editUserStoreWithDomainName>
         <!--Optional:-->
         <xsd:previousDomainName>?</xsd:previousDomainName>
         <!--Optional:-->
         <xsd:userStoreDTO>
            <!--Optional:-->
            <xsd1:className>?</xsd1:className>
            <!--Optional:-->
            <xsd1:description>?</xsd1:description>
            <!--Optional:-->
            <xsd1:disabled>?</xsd1:disabled>
            <!--Optional:-->
            <xsd1:domainId>?</xsd1:domainId>
            <!--Zero or more repetitions:-->
            <xsd1:properties>
               <!--Optional:-->
               <xsd1:name>?</xsd1:name>
               <!--Optional:-->
               <xsd1:value>?</xsd1:value>
            </xsd1:properties>
         </xsd:userStoreDTO>
      </xsd:editUserStoreWithDomainName>
   </soapenv:Body>
</soapenv:Envelope>
getAvailableUserStoreClasses()
MethodgetAvailableUserStoreClasses
DescriptionRetrieve the available user store classes.
Permission Level/permission/admin
Input Parameters

None

Code Block
languagexml
titleRequest
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://org.apache.axis2/xsd">
   <soapenv:Header/>
   <soapenv:Body>
      <xsd:getAvailableUserStoreClasses/>
   </soapenv:Body>
</soapenv:Envelope>

...

getSecondaryRealmConfigurations()
MethodgetSecondaryRealmConfigurations
DescriptionRetrieve the configurations of secondary user stores.
Permission Level/permission/admin
Input Parameters

None

Code Block
languagexml
titleRequest
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://org.apache.axis2/xsd">
   <soap:Header/>
   <soap:Body>
      <xsd:getSecondaryRealmConfigurations/>
   </soap:Body>
</soap:Envelope>

...

getUserStoreManagerProperties()
MethodgetUserStoreManagerProperties
DescriptionRetrieve the properties of secondary user stores.
Permission Level/permission/admin
Input Parameters

None

Code Block
languagexml
titleRequest
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://org.apache.axis2/xsd">
   <soap:Header/>
   <soap:Body>
      <xsd:getUserStoreManagerProperties>
         <!--Optional:-->
         <xsd:className>?<className>org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager</xsd:className>
      </xsd:getUserStoreManagerProperties>
   </soap:Body>
</soap:Envelope>
Code Block
languagexml
titleResponse
<soapenv:Envelope
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
        <ns:getUserStoreManagerPropertiesResponse
            xmlns:ns="http://org.apache.axis2/xsd">
            <ns:return xsi:type="ax2384:Properties"
                xmlns:ax2384="http://api.user.carbon.wso2.org/xsd"
                xmlns:ax2386="http://dto.configuration.store.user.identity.carbon.wso2.org/xsd"
                xmlns:ax2388="http://common.ndatasource.carbon.wso2.org/xsd"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema­instance">
                <ax2384:advancedProperties xsi:nil="true"/>
                <ax2384:mandatoryProperties xsi:type="ax2384:Property">
                    <ax2384:description>Connection Name#This should be the DN (Distinguish Name) of the admin user in LDAP</ax2384:description>
                    <ax2384:name>ConnectionName</ax2384:name>
                    <ax2384:value>CN=,DC=</ax2384:value>
                </ax2384:mandatoryProperties>
                <ax2384:mandatoryProperties xsi:type="ax2384:Property">
                    <ax2384:description>Connection URL#Connection URL for the user store</ax2384:description>
                    <ax2384:name>ConnectionURL</ax2384:name>
                    <ax2384:value>ldaps://</ax2384:value>
                </ax2384:mandatoryProperties>
                <ax2384:mandatoryProperties xsi:type="ax2384:Property">
                    <ax2384:description>Connection Password#Password of the admin user</ax2384:description>
                    <ax2384:name>ConnectionPassword</ax2384:name>
                    <ax2384:value/>
                </ax2384:mandatoryProperties>
                <ax2384:mandatoryProperties xsi:type="ax2384:Property">
                    <ax2384:description>User Search Base#DN of the context under which user entries are stored in LDAP</ax2384:description>
                    <ax2384:name>UserSearchBase</ax2384:name>
                    <ax2384:value>CN=Users,DC=WSO2,DC=Com</ax2384:value>
                </ax2384:mandatoryProperties>
                <ax2384:mandatoryProperties xsi:type="ax2384:Property">
                    <ax2384:description>Diabled#Whether user store is disabled</ax2384:description>
                    <ax2384:name>Disabled</ax2384:name>
                    <ax2384:value>false</ax2384:value>
                </ax2384:mandatoryProperties>
                <ax2384:mandatoryProperties xsi:type="ax2384:Property">
                    <ax2384:description>User Object Class#Filtering criteria for listing all the user entries in LDAP</ax2384:description>
                    <ax2384:name>UserNameListFilter</ax2384:name>
                    <ax2384:value>(objectClass=person)</ax2384:value>
                </ax2384:mandatoryProperties>
                <ax2384:mandatoryProperties xsi:type="ax2384:Property">
                    <ax2384:description>Username Attribute#Attribute used for uniquely identifying a user entry. Users can be authenticated using their email 	                              address, uid and
etc</ax2384:description>
                    <ax2384:name>UserNameAttribute</ax2384:name>
                    <ax2384:value>cn</ax2384:value>
                </ax2384:mandatoryProperties>
                <ax2384:mandatoryProperties xsi:type="ax2384:Property">
                    <ax2384:description>User Search Filter#Filtering criteria for searching a particular user entry</ax2384:description>
                    <ax2384:name>UserNameSearchFilter</ax2384:name>
                    <ax2384:value>(&amp;amp;(objectClass=user)(cn=?))</ax2384:value>
                </ax2384:mandatoryProperties>
                <ax2384:mandatoryProperties xsi:type="ax2384:Property">
                    <ax2384:description>User Entry Object Class#Object Class used to construct user entries</ax2384:description>
                    <ax2384:name>UserEntryObjectClass</ax2384:name>
                    <ax2384:value>user</ax2384:value>
                </ax2384:mandatoryProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>Group Entry Object Class#Object Class used to construct group entries</ax2384:description>
                    <ax2384:name>GroupEntryObjectClass</ax2384:name>
                    <ax2384:value>group</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>Maximum User List Length#Maximum number of users retrieved at once</ax2384:description>
                    <ax2384:name>MaxUserNameListLength</ax2384:name>
                    <ax2384:value>100</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>Maximum Role List Length#Maximum number of roles retrieved at once</ax2384:description>
                    <ax2384:name>MaxRoleNameListLength</ax2384:name>
                    <ax2384:value>100</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>Enable User Role Cache#This is to indicate whether to cache the role list of a user</ax2384:description>
                    <ax2384:name>UserRolesCacheEnabled</ax2384:name>
                    <ax2384:value>true</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>Enable SCIM#Whether SCIM is enabled for the user store</ax2384:description>
                    <ax2384:name>SCIMEnabled</ax2384:name>
                    <ax2384:value>false</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:childProperties xsi:type="ax2384:Property">
                        <ax2384:description>Group Search Base#DN of the context under which user entries are stored in LDAP</ax2384:description>
                        <ax2384:name>GroupSearchBase</ax2384:name>
                        <ax2384:value>CN=Users,DC=WSO2,DC=Com</ax2384:value>
                    </ax2384:childProperties>
                    <ax2384:childProperties xsi:type="ax2384:Property">
                        <ax2384:description>Group Filter#Filtering criteria for listing all the group entries in LDAP</ax2384:description>
                        <ax2384:name>GroupNameListFilter</ax2384:name>
                        <ax2384:value>(objectcategory=group)</ax2384:value>
                    </ax2384:childProperties>
                    <ax2384:childProperties xsi:type="ax2384:Property">
                        <ax2384:description>Group Name Attribute#Attribute used for uniquely identifying a user entry</ax2384:description>
                        <ax2384:name>GroupNameAttribute</ax2384:name>
                        <ax2384:value>cn</ax2384:value>
                    </ax2384:childProperties>
                    <ax2384:childProperties xsi:type="ax2384:Property">
                        <ax2384:description>Membership Attribute#Attribute used to define members of LDAP groups</ax2384:description>
                        <ax2384:name>MembershipAttribute</ax2384:name>
                        <ax2384:value>member</ax2384:value>
                    </ax2384:childProperties>
                    <ax2384:childProperties xsi:type="ax2384:Property">
                        <ax2384:description>Group Search Filter#Filtering criteria for searching a particular group entry</ax2384:description>
                        <ax2384:name>GroupNameSearchFilter</ax2384:name>
                        <ax2384:value>(&amp;amp;(objectClass=group)(cn=?))</ax2384:value>
                    </ax2384:childProperties>
                    <ax2384:description>Read Groups#Specifies whether groups should be read from LDAP</ax2384:description>
                    <ax2384:name>ReadGroups</ax2384:name>
                    <ax2384:value>true</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>Group Search Base#DN of the context under which user entries are stored in LDAP</ax2384:description>
                    <ax2384:name>GroupSearchBase</ax2384:name>
                    <ax2384:value>CN=Users,DC=WSO2,DC=Com</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>Group Object Class#Filtering criteria for listing all the group entries in LDAP</ax2384:description>
                    <ax2384:name>GroupNameListFilter</ax2384:name>
                    <ax2384:value>(objectcategory=group)</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>Group Name Attribute#Attribute used for uniquely identifying a user entry</ax2384:description>
                    <ax2384:name>GroupNameAttribute</ax2384:name>
                    <ax2384:value>cn</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>Membership Attribute#Attribute used to define members of LDAP groups</ax2384:description>
                    <ax2384:name>MembershipAttribute</ax2384:name>
                    <ax2384:value>member</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>Member Of Attribute#MemberOfAttribute</ax2384:description>
                    <ax2384:name>MemberOfAttribute</ax2384:name>
                    <ax2384:value/>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>Group Search Filter#Filtering criteria for searching a particular group entry</ax2384:description>
                    <ax2384:name>GroupNameSearchFilter</ax2384:name>
                    <ax2384:value>(&amp;amp;(objectClass=group)(cn=?))</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>Password Hashing Algorithm#Password Hash method to use when storing user entries</ax2384:description>
                    <ax2384:name>PasswordHashMethod</ax2384:name>
                    <ax2384:value>PLAIN_TEXT</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>Password RegEx (Javascript)#Policy that defines the password format</ax2384:description>
                    <ax2384:name>PasswordJavaScriptRegEx</ax2384:name>
                    <ax2384:value>^[\S]{5,30}$</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>Username RegEx (Javascript)#The regular expression used by the front­end components for username validation</ax2384:description>
                    <ax2384:name>UserNameJavaScriptRegEx</ax2384:name>
                    <ax2384:value>^[\S]{3,30}$</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>Username RegEx (Java)#A regular expression to validate user names</ax2384:description>
                    <ax2384:name>UserNameJavaRegEx</ax2384:name>
                    <ax2384:value>[a­zA­Z0­9._­|//]{3,30}$</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>Role Name RegEx (Javascript)#The regular expression used by the front­end components for role name validation</ax2384:description>
                    <ax2384:name>RoleNameJavaScriptRegEx</ax2384:name>
                    <ax2384:value>^[\S]{3,30}$</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>Role Name RegEx (Java)#A regular expression to validate role names</ax2384:description>
                    <ax2384:name>RoleNameJavaRegEx</ax2384:name>
                    <ax2384:value>[a­zA­Z0­9._­|//]{3,30}$</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>Enable Write Groups#Indicate whether write groups enabled</ax2384:description>
                    <ax2384:name>WriteGroups</ax2384:name>
                    <ax2384:value>true</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>User DN Pattern#The patten for user's DN. It can be defined to improve the LDAP search</ax2384:description>
                    <ax2384:name>UserDNPattern</ax2384:name>
                    <ax2384:value>uid={0},ou=Users,dc=wso2,dc=org</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>Allow Empty Roles#Specifies whether the underlying user store allows empty roles to be added</ax2384:description>
                    <ax2384:name>EmptyRolesAllowed</ax2384:name>
                    <ax2384:value>true</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>Default Realm Name#Default name for the realm</ax2384:description>
                    <ax2384:name>defaultRealmName</ax2384:name>
                    <ax2384:value>WSO2.ORG</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>Enable KDC#Whether key distribution center enabled</ax2384:description>
                    <ax2384:name>kdcEnabled</ax2384:name>
                    <ax2384:value>false</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>Display Name Attribute#The display name which usually is the combination of the users first name, middle initial, and last name</ax2384:description>
                    <ax2384:name>DisplayNameAttribute</ax2384:name>
                    <ax2384:value>cn</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>Is ADLDS Role#Whether an Active Directory Lightweight Directory Services role</ax2384:description>
                    <ax2384:name>isADLDSRole</ax2384:name>
                    <ax2384:value>false</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>User Account Control#Flags that control the behavior of the user account</ax2384:description>
                    <ax2384:name>userAccountControl</ax2384:name>
                    <ax2384:value>512</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>Referral#Guides the requests to a domain controller in the correct domain</ax2384:description>
                    <ax2384:name>Referral</ax2384:name>
                    <ax2384:value>follow</ax2384:value>
                </ax2384:optionalProperties>
                <ax2384:optionalProperties xsi:type="ax2384:Property">
                    <ax2384:description>Enable Back Links# Whether to allow attributes to be result from references to the object from other objects</ax2384:description>
                    <ax2384:name>BackLinksEnabled</ax2384:name>
                    <ax2384:value>true</ax2384:value>
                </ax2384:optionalProperties>
            </ns:return>
        </ns:getUserStoreManagerPropertiesResponse>
    </soapenv:Body>
</soapenv:Envelope>
testRDBMSConnection()
MethodtestRDBMSConnection
DescriptionTest the connection to the datasource used by a JDBC user store manager.
Permission Level/permission/admin
Input Parameters

None

Code Block
languagexml
titleRequest
<soap<soapenv:Envelope xmlns:soapsoapenv="http://wwwschemas.w3xmlsoap.org/2003soap/05envelope/soap-envelope" xmlns:xsd="http://org.apache.axis2/xsd">
   <soap<soapenv:Header/>
   <soap<soapenv:Body>
      <xsd:testRDBMSConnection>
         <!--Optional:-->
         <xsd:domainName>?<domainName>JDBCSECONDARY</xsd:domainName>
         <!--Optional:-->
         <xsd:driverName>?<driverName>com.mysql.jdbc.Driver</xsd:driverName>
         <!--Optional:-->
         <xsd:connectionURL>?<:connectionURL>jdbc:mysql://192.168.48.154:3306/test</xsd:connectionURL>
         <!--Optional:-->
         <xsd:username>?<username>root</xsd:username>
         <!--Optional:-->
         <xsd:connectionPassword>?<connectionPassword>root</xsd:connectionPassword>
         <!--Optional:-->
         <xsd:messageID>?<messageID></xsd:messageID>
      </xsd:testRDBMSConnection>
   </soapsoapenv:Body>
</soapsoapenv:Envelope>
Code Block
languagexml
titleResponse
<soapenv:Envelope
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
        <ns:testRDBMSConnectionResponse
            xmlns:ns="http://org.apache.axis2/xsd">
            <ns:return>true</ns:return>
        </ns:testRDBMSConnectionResponse>
    </soapenv:Body>
</soapenv:Envelope>