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.
ReferenceService is one of the web services in ArtDatabankenSOA.
Available types of data
ReferenceService handles information about references.
Detailed documentation availble online on address: https://doc.artdatabankensoa.se/WebService
Namespaces that describes the web service ReferenceService:
- ReferenceService 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.
ReferenceService can be used together with the client data layer.
Technical details about the web service
ReferenceService currently only support Swedish.
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 examplehttps://Reference.ArtDatabankenSoa.se/ReferenceService.svc
- SOAP 1.2 has extension /SOAP12 added to the base address. For examplehttps://Reference.ArtDatabankenSoa.se/ReferenceService.svc/SOAP12
- Binary format has extension /Fast added to the base address. For examplehttps://Reference.ArtDatabankenSoa.se/ReferenceService.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://Reference.ArtDatabankenSoa.se/ReferenceService.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 update 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 methodRollbackTransaction is automatically made if transaction is not ended inside the specified timeout limit.
A user must login to ReferenceService 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 propertyWebLoginResponse.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.