The web service is platform-independent. It means it can be used by any computer operating system and clients can be created in any computer language and tools that support SOAP.
UserService is one of the web services in ArtDatabankenSOA.
Available types of data
UserService handles information about users of Swedish Species Information Center's applications and web services. The web service identifies the users and is used to give users the authorities they need to manage data from the Swedish Species Information Center.
Detailed documentation availble online on address: https://doc.artdatabankensoa.se/WebService
Namespaces that describes the web service UserService:
- UserService contains definition of the web service interface.
- ArtDatabanken.WebService.Data defines structure of data that web service uses.
Web service status
Current status for SOAP based web services can be viewed in the webb application WebAdministration.
Client data layer
Swedish Species Information Center has created a client data layer for internal use. Those who want to use the web services in ArtDatabankenSOA may choose to use our client data layer. This client data layer is plattform specific and uses Microsoft .NET Framework version 3.5. The data layer consists of some Dynamic-link libraries (DLL) and can be downloaded from the following link:
It is optional but recommended to use this client data layer. Last update of these dll's was done 2017-01-30.
Benefits when using the client data layer
- Object oriented: Web services are not object oriented but the client data layer is.
- Hides communication: Communication is handled by the client data layer.
- Efficiency: Client data layer handles data efficiently, for example with the help of caching.
- Shorter development time: A lot of code are already created and tested.
UserService can be used together with the client data layer.
Technical details about the web service
UserService supports multiple languages.
How support for multiple languages are handled:
When the client makes a call to the Login method in the web service returned data are in the language that the person has set in the user administration system. Default language, if no language has been set, is brittish english. Information about used language is returned in property WebLoginResponse.Locale as part of the the login respons. When furter calls to the web service are made desired language are sent in property WebClientInformation.Locale. The client may change language when ever it wants.
All web services in ArtDatabanken SOA supports both SOAP 1.1 and SOAP 1.2. For efficiency reasons Swedish Species Information Center uses a Microsoft specific binary format for internal use. All web services has three endpoints that supports the three different protocols.
- SOAP 1.1 has the base address of the web service. For example https://User.ArtDatabankenSoa.se/UserService.svc
- SOAP 1.2 has extension /SOAP12 added to the base address. For example https://User.ArtDatabankenSoa.se/UserService.svc/SOAP12
- Binary format has extension /Fast added to the base address. For example https://User.ArtDatabankenSoa.se/UserService.svc/Fast
WSDL description of a web services can be retrived by adding ?wsdl to the base address of the web service. For example https://User.ArtDatabankenSoa.se/UserService.svc?wsdl
About the transaction handling:
Transaction implementation is ArtDatabankenSOA specific. It does not rely on WS-Transaction or any other predefined transaction handling. The reason for this is that several protocols (see section Protocols) are supported and no predefined transaction handling works in all used protocols. Using a transaction implementation that works independent of protocol also means fewer demands on clients. Transaction handling is only implemented in web services that creates or updates data. Distributed transaction handling is not supported in web services.
How transaction handling works:
A transaction starts with a call to the method StartTransaction which has a parameter that specifies a timeout limit. If data are successfully updated the client makes a call to the method CommitTransaction. If something goes wrong in data handling client makes a call to method RollbackTransaction. A call to method RollbackTransaction is automatically made if transaction is not ended inside the specified timeout limit.
A user must login to UserService before any other methods in the web service are called. Login is made by a call to the Login method which on successful login returns a security token in property WebLoginResponse.Token. This security token must be keept by the client application and is provided in property WebClientInformation.Token in further calls to the web service. When the user has finished using the web service a call to the method Logout should be made.