As additional feature Emply Hire system offers to its customers an ability to use WCF service. This can be helpful in case if there is a need to manipulate with department(s) or user(s) from custom .NET application.
In general WCF service allows to:
- Get departments *
- Add new department
- Modify existing department
- Remove existing department
- Get users *
- Get user
- Add new user
- Modify existing user
- Remove existing users
- Get candidate
- Get vacancy
- Get vacancies *
- Get applications from vacancy
- Get workflows
- Get data type by id
* request can take a lot of time depending on amount of existing data
Next example requires link to WSDL of WCF service. It can be found if open the service page <site_address>/api/Emply.svc in browser. For example if site address is https://customer.emply.net/ than full link to service page will be https://customer.emply.net/api/Emply.svc. On service page present developer information about service and direct link to service WSDL - for https://customer.emply.net/ it will be https://customer.emply.net/api/Emply.svc?wsdl:
Hieronder staat een voorbeeld van hoe je een eenvoudige consoletoepassing configureert voor interactie met de WCF-service:
- Open Visual Studio en maak een nieuw project voor een consoletoepassing:
Bestand → Nieuw → Project.
-
In het venster Nieuw project kies je de gewenste programmeertaal en het platform uit de beschikbare sjablonen. Selecteer bijvoorbeeld de taal C# en Consoletoepassing onder de sectie Windows-sjablonen.
- Vouw Oplossingsverkenner uit, klik met de rechtermuisknop op het project en selecteer in het menu Toevoegen → Serviceverwijzing….
-
In het verschenen venster Serviceverwijzing toevoegen plak je de gekopieerde link naar de WSDL van de WCF-service vanuit de servicepagina in het veld Adres en klik je op Ga.
-
Na de vorige stap wordt het venster Serviceverwijzing toevoegen bijgewerkt. Het veld Namespace kan worden aangepast naar een meer betekenisvolle waarde.
Het gebruik van de WCF-service gaat ervan uit dat de ontwikkelaar beschikt over de API-sleutel die door het Emply Hire-systeem aan de klant is verstrekt.
Onderstaand codevoorbeeld laat zien hoe je afdelingen kunt ophalen:
C# |
using (EmplyWcfServiceClient client = new EmplyWcfServiceClient()) { DepartmentsRequest request = new DepartmentsRequest { ApiKey = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }; DepartmentsResponse response = client.GetDepartments(request); foreach (DepartmentData department in response.Departments) { Console.WriteLine(department.Name); } } |
Het wordt ook aanbevolen om de waarden van maxBufferPoolSize, maxBufferSize en maxReceivedMessageSize te verhogen voor de serviceverbinding. Hiervoor pas je het bestand app.config als volgt aan:
<configuration>
…
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding maxBufferPoolSize="2147483647"
maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647">
…
Deze instellingen zorgen ervoor dat grotere berichten en buffers kunnen worden verwerkt tijdens de communicatie met de WCF-service.