Indholdsfortegnelse

Testudtræksværktøj

Der er udviklet et testværktøj, til at trække data for samtlige SOR2 registre ud af KRS, og gemmer dem lokalt på disken i CVR format. Dette gør test på data i KRS lettere at kontrollere.

Værktøjet er sat op, så mindst mulig opsætning fra brugerens side er nødvendigt. Det kan startes uden at angive nogen parametre overhovedet, og den vil hente alt data fra samtlige registre.

Java er nødvendigt at have installeret og sat op på forhånd (https://www.java.com/en/download/). Værktøjet er udviklet til at blive brugt fra commandline (cmd, powershell, terminal, eller anden implementation af denne type interaktion), men kan også dobbelklikkes; hvis Java er sat op korrekt, så vil download af data starte som normalt, men man kan ikke tydeligt se hvor langt den er nået eller om den eventuelt er afsluttet.

Parametre

Følgende er en liste over alle parametre værktøjet kan tage, deres beskrivelser, samt vigtige noter:

Kort navnLangt navnStandard værdiBeskrivelse
-h--help
Printer hjælpeteksten med kort opsummering af alle parametre, og stopper eksekveringen derefter
-s--stsUrlhttp://test1.ekstern-test.nspop.dk:8080/sts/services/NewSecurityTokenServiceURL til STS for at hente en ny adgangstoken
-n--systemNameTE-STSNavn på kaldeststemet, bruges i forbindelse med at hente adgangstoken
-c--companyNameCAPGEMINI SOGETI DANMARK A/SNavn på virksomheden som henter adgangstoken
-b--companyCvr25606965CVR for virksomheden som henter adgangstoken
-p--vaultPath

Sti til certifikat container, bruges til autentificering mod både STS og KRS. Skal være i JKS format. Sættes ingen, benyttes et medfølgende certifikat fra Capgemini.

Konverter fra PKCS12 til JKS format kan gøres ved brug af keytool værktøjet medfølgende i alle Java installationer (se eventuelt hjælp ved at sætte -h til kommandoen for at se yderligere parametre):

keytool -importkeystore -srckeystore <source.p12> -srcstoretype pkcs12 -srcalias <soureAlias> -destkeystore <destination.jks> -deststoretype jks -deststorepass <destinationPassword> -destalias <destinationAlias>

-w--vaultPassword
Password for den angivne certifikat container
-a--certName
Navnet på det certifikat der skal bruges
-q--certPassword
Password for certifikatet der skal bruges
-u--skrsUrlhttp://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-batch-copy-ws/service/StamdataReplicationURL til KRS
-o--registerOffset0

Offset værktøjet skal begynde at hente data fra, 0 angiver fra begyndelsen af (alt data).

Parametren kan angives på to forskellige måder, UNIX timestamp i sekunder (UTC) eller i et format der matcher "yyyy-MM-dd[[' ']['T']HH[':'mm[':'ss]]][XXX]". Formatet lægger sig op af ISO-8601, men fuld forklaring på alt i formatet kan findes her: https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html

-m--registerMaxRecords1000Antallet af rækker der skal returneres fra KRS ved hvert kald
-r--registers

Hvilke registre som skal hentes fra KRS separeret med komma. Angives ingen, hentes data for alle registre.

Tilgængelige registre: sorclassifications, eanlocationcode, eanlocationcodeeditype, geolocalisation, sorentity, sorshakmap, editypes

-d--destination
Sti til hvor alle genererede filer skal skrives til disken, kan være relativ eller fuld sti. Sættes ingen, bruges nuværende lokation som destination.

Eksempel på hvordan output kan set ud, hvis help teksten printes:

> java -jar skrsclient.jar -h
Usage: <main class> [-h] [-q[=<PASSWORD>]] [-w[=<PASSWORD>]] [-a=<NAME>]
                    [-b=<CVR>] [-c=<NAME>] [-d=PATH] [-m=<MAXRECORDS>]
                    [-n=<NAME>] [-o=<OFFSET>] [-p=<PATH>] [-s=<URL>] [-u=<URL>]
                    [-r=<REGISTER>[,<REGISTER>...]]...
  -a, --certName=<NAME>      Name the certificate to use is stored under
  -b, --companyCvr=<CVR>     Company CVR number, used when creating an ID card
                               for calling the STS
  -c, --companyName=<NAME>   Company name, used when creating an ID card for
                               calling the STS
  -d, --destination=PATH     Destination to print all generated files to, can
                               be a relative or full path
  -h, --help                 Prints help and exits
  -m, --registerMaxRecords=<MAXRECORDS>
                             Number of entries to fetch in each call to SKRS
                               Default: 1000
  -n, --systemName=<NAME>    System name, used when creating an ID card for
                               calling the STS
  -o, --registerOffset=<OFFSET>
                             Date offset for when to fetch entries from, can be
                               a unix timestamp or a date of format "yyyy-MM-dd
                               [[' ']['T']HH[':'mm[':'ss]]][XXX]"
                               Default: 0
  -p, --vaultPath=<PATH>     Certificate vault to use, must be in JKS format,
                               uses a default Capgemini certificate if none is
                               provided
  -q, --certPassword[=<PASSWORD>]
                             Password to unlock the certificate
  -r, --registers=<REGISTER>[,<REGISTER>...]
                             List of registers separated by comma to pull data
                               from, default is all registers. Available
                               registers: sorclassifications, eanlocationcode,
                               eanlocationcodeeditype, geolocalisation,
                               sorentity, sorshakmap, editypes
  -s, --stsUrl=<URL>         URL to STS
                               Default: http://test1.ekstern-test.nspop.dk:
                               8080/sts/services/NewSecurityTokenService
  -u, --skrsUrl=<URL>        URL to SKRS
                               Default: http://test1-cnsp.ekstern-test.nspop.dk:
                               8080/stamdata-batch-copy-ws/service/StamdataRepli
                               cation
  -w, --vaultPassword[=<PASSWORD>]
                             Password to unlock the certificate vault

Det lange og det korte navn for hver parametre kan bruges uafhængigt af hvad der ellers bliver brugt.

Eksempler

Den simpleste usecase, er at hente alt data for samtlige registre i test1 miljøet. Dette gøres ved at køre følgende kommando:

java -jar skrsclient.jar


Det vil give et resultat der ligner dette:


Alternativt, hvis man gerne vil hente et delta udtræk fra en bestemt dato og til nu, kan det gøres på en af følgende måder:

java -jar skrsclient.jar -o 1587986772

eller

java -jar skrsclient.jar -o 2020-04-27T13:26:12+02:00


I et lidt mere kompliseret eksempel, således kan kommandoen se ud hvis et andet certifikat benyttes til udtrækkene:

java -jar skrsclient.jar -p vault.jks -w "password123" -a "foces"


Download

JAR filen for klienten kan hentes her:

Koden til denne kan også findes på Subversion:

https://svn.nspop.dk/svn/capgemini/SORServices/NSP/skrsclient/trunk