KSeF.Services to działająca "w tle" lokalna aplikacja (background service) Microsoft Windows. Jest adaptacją ("wrapperem") oficjalnej biblioteki udostępnionej przez Ministerstwo Finansów. KSeF.Services pozwala połączonemu z nią programowi wywoływać metody API KSeF, oraz oferuje trochę funkcji dodatkowych. Wartość dodana tego narzędzia: wykonuje wymagane przez API KSeF zaawansowane operacje na danych wejściowych, związane z szyfrowaniem, liczeniem skrótów, czy infrastrukturą PKI. To umożliwia implementację obsługi KSeF w starszych językach programowania lub skryptach (np. JScript, VBA).
KSeF.Services.exe jest programem lini poleceń napisanym w .NET 9.0. Powstał z szablonu Worker Service, towarzyszącemu SDK dla Windows. Jest przeznaczony do działania na tym samym komputerze, co program Klienta. Komunikuje się z nim poprzez potoki nazwane.
Pobierz kompletny, skompilowany i gotowy do działania program albo skompiluj go samodzielnie:
Important
Aby skompilować ten projekt, należy dodatkowo pobrać oficjalną bibliotekę CIRFMF .NET dla KSeF. Umieść jej folder (ksef-client-csharp) obok folderu tego rozwiązania1:
KSeF-API\ <=to folder tego rozwiązania
ksef-client-csharp\ <= to folder biblioteki MF
Następnie otwórz w Visual Studio KSeF-API\KSeF-API.sln i dodaj poleceniem Add:Existing Project... dwa projekty z folderu ksef-client-csharp: KSeF.Client i KSeF.Client.Core. (Figurują w zależnościach projektu KSeF.Services).
Note
Aby skompilować projekt KSeF.Client, w sekcji Build:Strong naming jego właściwości wyłącz opcję podpisywania kodu (Sign the assembly).
Publikuję tu wersję aplikacji, z której sam korzystam. Zestaw udostępnionych przez nią metod to odzwierciedlenie potrzeb mojego Klienta. Jest jednak na tyle szeroki, że może się przydać innym. W razie potrzeby stwórz swoją wersję (fork) tego projektu.
Dodawanie klasy obsługującej jakieś nowe żądanie jest proste, opisałem je tutaj.
Szczegóły użycia Ksef.Services.exe / implementacji Klienta znajdziesz w opisie programu.
Początek tej sekcji wyjaśnia architekturę aplikacji.
Footnotes
-
Słowo "rozwiązanie" w tym tekście oznacza termin solution używany w Visual Studio. Jest związane z plikiem *.sln umieszczonym w katalogu głównym każdego z tych dwóch folderów. ↩