- Created by Karolin Hemmingsson, last modified by Ylva Andersson on Nov 01, 2022
Smart ID Digital Access component offers the following extension Programming Interfaces (XPIs):
Digital Access XPI REST API
See the full documentation in Digital Access XPI REST API.
Digital Access XPI Web Services
See the full documentation here.
Use XPI service via SOAP UI tool
Prerequisites
Prerequisites
Integration through the Extension Programming Interface (XPI) must be enabled:
- In Digital Access Admin, go to Manage System.
- Click a registered Policy Service to edit it.
- Select Enable XPI: REST or Enable XPI: WS.
- If you want to enable the XPI and SOAP services, the expose port ID should be 0.0.0.0 in Digital Access Admin.
- Delegate the admin privileges to a User storage user or a Local user:
- Go to Manage system > Delegated Management > Super Administrator >Add Administrator, read more here: Create administrative roles in Digital Access.
- For XPI logging as a Local user:
- Add a user and enable auth mech.
- For XPI logging as a User storage user:
- Enable auto linking:
- Go to Manage Accounts and Storage > Global User Account Settings.
- On the User Linking tab:
- under General Settings, select Enable PortWise Authentication when automatically linking the user.
- under PortWise Password, select Use password from User storage.
- Enable auto linking:
Step-by-step instruction
Get WSDL in soap UI
Get WSDL in soap UI
- Get Web Service Description Language (WSDL) in soap UI from https://da-admin1.test.nexusgroup.com:4443/ws/v4/index.html
- Choose the services from the navigation menu. Select and read the detailed information for each service.
Set up soap request
Set up soap request
Authentication is required before any usage of the XPI services - import authentication wsdl in request editor:
Send a request with inputs in subject:
<subject> <country>?</country> <credentials> <key>username</key> <value>YTE=</value> – username with base64 encoded value </credentials> <credentials> <key>password</key> <value>bmV4dXNAMTIz</value> – Password with base64 encoded value </credentials> </subject>
See this example: Authenticate.xml
A valid response has Session, use it in the following request:
<principals> <key>session</key> <value>OXg5eWYyM2QxcHRz</value> </principals>
- Select an admin privileged task, such as a User Account operation.
- To get end point service, choose the service from https://da-admin1.test.nexusgroup.com:4443/ws/v4/services/UserAccount?wsdl and import wsdl.
This is an example of adding a user account:
<user:add> <subject> <principals> <key>session</key> <value>OXg5eWYyM2QxcHRz</value> -> provide session value from authentication response </principals> </subject> <account> <enabled>true</enabled> <displayName>user1</displayName> <emailAddress>user1@gmail.com</emailAddress> <globalAccess> <locked>false</locked> <maxRetries>10</maxRetries> - constants <numRetries>0</numRetries> -constants </globalAccess> <userName>user1</userName> <validFrom>1586975400000</validFrom> → date in this format <validTo>0</validTo> </account> <linkToDirectory>false</linkToDirectory> - true is want to link to AD </user:add>
See this example: add user.xml
- To get end point service, choose the service from https://da-admin1.test.nexusgroup.com:4443/ws/v4/services/UserAccount?wsdl and import wsdl.
This article is valid for Digital Access 6.0.4 and later.
Related information
- Add user account in Digital Access
- Add user group in Digital Access
- Add user storage in Digital Access
- User linking in Digital Access
- User storage in Digital Access