Jämförda versioner

Nyckel

  • Dessa rader lades till.
  • Denna rad togs bort.
  • Formateringen ändrades.
Innehållsförteckning

...

Äldre versioner

...

Observera

För versioner < 4.0.0 (Mule versioner) var VP producent av kontraktet GetLogicalAddresseesByServiceContractResponder:2. Denna funktionalitet finns inte kvar utan är flyttat till en egen applikation, KAT. Behövs denna funktionalitet bör även KAT applikationen installeras. Se KAT installationanvisning. KAT - Tjänsteinformationsproducent

Förutsättningar

Följande förutsätts vara installerat innan VP installeras:

  1. Java Runtime Environment

    1. VP från och med version 4.3.0 kräver Java 11 eller senare (verfierad med OpenJDK 11)

    2. VP från och med version 4.0.0 kräver Java 8 eller senare (verfierad med OpenJDK 1.8.0)

  2. SKLTP TAK 2.4.0 eller senare installerad, se TAK installationsanvisning (redigera länk). Konfiguration enligt installationsanvisning förutsätts också.

  3. Certifikat installerat, se installationsmanual (redigera länk). Om de inte finns kan de beställas från Ineras Identifieringstjänst.

Från och med VP Camel så kommer nedanstående kontrakt att distribueras via en ny applikation, KAT.
Om dessa ska användas så behöver man installera KAT. Kontrakten som berörs är

  1. GetSupportedServiceContracts/v1

  2. GetSupportedServiceContracts/v2

  3. GetLogicalAddresseesByServiceContract/v2

För att installera och konfigurera KAT, se anvisningar under KAT

Det finns även en applikation StatusProbe som kan användas för att kontrollera status för VP Camel (och andra applikationer).
Hur man installerar och använder den kan läsas på sidan Status-probe.

Ny installation av VP

1. Ladda ner applikationen

Hämta senaste version, t.ex. denna från IneraNexus (ersätt 1.0.0-RC1 med senaste version) :
https://nexus.inera.se/#browse/browse:maven-public:se%2Fskltp%2Fvp%2Fvp-services-camel%2F1.0.0-RC1%2Fvp-services-camel-1.0.0-RC1.jar

Källkod och Javadoc finns på samma ställle.

Pomfil för projektet finns intill, på adress:
https://nexus.inera.se/#browse/browse:maven-public:se%2Fskltp%2Fvp%2Fvp-parent-camel%2F1.0.0-RC1%2Fvp-parent-camel-1.0.0-RC1.pom

2. Konfigurera VP applikation

Notera att om det finns en redan installerad version av VP så är detta steget redan genomfört och endast ev förändringar kring nya eller borttagna properties behövs hanteras.
Se release notes för VP på Release Note - Virtualiseringsplatformen för att hämta information om eventuella förändringar mellan releaser.

...

Säkerställ att application-custom.properties och application-security-custom.properties finns under <vp-camel-intall-dir>/conf/ (annars behöver de skapas/kopieras) för att kunna överlagra default parametrar.

...

Med ledning av konfigurations-anvisningarna, sätt de parametrar som eventuellt behöver ändras.

För att “Trädklättring” ska fungera (se förklaring här: UppdateraHSACache - Bakgrund, arkitektur och implementation) så ska en fil med hsa information finnas i den mapp som pekas ut i application-custom.properties.
Observera att denna funktionalitet kommer att försvinna i framtida versioner av VP Camel.

Ladda ner en HSA fil med endast SE nod som kompletterar den riktiga HSA filen. Placera till exempel i config-katalogen.

Kodblock
wget http://skl-tp.atlassian.net/wiki/download/attachments/5308496/hsacachecomplementary.xml
mv hsacachecomplementary.xml /usr/local/<vp-camel-intall-dir>/conf/hsacachecomplementary.xml

Uppdatera värdet i parametern hsa.files i application-custom.properties, så att den pekar på katalogen där du lagt filen hsacachecomplementary.xml för att läsa in SE noden

Kodblock
vi /usr/local/<vp-camel-intall-dir>/conf/vp-config-override.properties
 
hsa.files=/usr/local/<vp-camel-intall-dir>/conf/hsacachecomplementary.xml

...

Finns det behov av att hämta en fil från HSA med ett komplett organisationsträd, läs följande instruktion.

Säkerställ att korrekta certifikatsfiler finns. Dessa ligger default i <vp-camel-install-dir>/certs men kan också ligga i en egen-konfigurerad mapp som pekas ut i application-security-custom.properties.
Se också till att (om en egen konfiguration gjorts) application-security-custom.properties listar rätt namn på certifikatsfilerna samt deras password.

Saknas mappen <vp-camel-intall-dir>/certs/, skapa den och lägg era certifikatsfiler i katalogen.

Kodblock
mkdir /usr/local/<vp-camel-intall-dir>/certs/
 
cp my-cert.p12 <vp-camel-intall-dir>/certs/
cp my-trustsore.jks <vp-camel-intall-dir>/certs/
cp my-client.jks <vp-camel-intall-dir>/certs/

...

Se SKLTP VP - Konfiguration, hur konfiguration i application-security-custom.properties skall göras för att peka ut certifikatsfiler.

...

Vid behov , se Installationsmanual Certifikat för hur en truststore hanteras.

3. Starta, stoppa och kontrollera status på VP Camel

Kodblock
# Som ine-app
[ine-app@server]$ service vp start|stop|restart|status

# Som användare med sudo rättighet
[someuser@server]$ sudo service vp start|stop|restart|status

4. Verifiera installationen av VP Camel

Notera att virtuella tjänster, teststubbar och schemas läggs på efter en deploy, se SKLTP VP - Installation av virtuella tjänster

Med integrerad statustjänst:
VP Camel exponerar en statustjänst vars port kan konfigureras i application-custom.properties.
Man kan anropa den med t.ex. Curl:

Kodblock
curl --data "username=uname&password=pw" http://<serveradress>:8080/status

och få ett svar:

Kodblock
{
  "Name": "vp-services-camel",
  "Version": "1.0.0-RC1",
  "BuildTime": "2019-09-11T09:15:30.887Z",
  "ServiceStatus": "Started",
  "Uptime": "20 minutes",
  "ManagementName": "vp-services",
  "JavaVersion": "1.8.0_161",
  "CamelVersion": "2.24.0",
  "TakCacheInitialized": "true",
  "TakCacheResetInfo": "Date:2019-09-12T15:41 Status:REFRESH_OK vagval:566 behorigheter:1034",
  "HsaCacheInitialized": "true",
  "HsaCacheResetInfo": "Date:2019-09-12T15:41 Status:true oldNum:0 newNum:31465",
  "JvmTotalMemory": "885 mB",
  "JvmFreeMemory": "817 mB",
  "JvmUsedMemory": "67 mB",
  "JvmMaxMemory": "1365 mB",
  "Endpoints": [
    "https://0.0.0.0:20000/vp",
    "http://0.0.0.0:8080/vp",
    "http://0.0.0.0:8080/status",
    "http://0.0.0.0:24000/resethsacache",
    "http://0.0.0.0:23000/resetcache"
  ]
}

...

Med SoapUI:
a. Installera först SoapUI ( https://www.soapui.org/downloads/soapui/source-forge.html )
b. Skapa ett SoapUI-projekt som kör request’s mot VP Camel. Tutorials finns på denna adress:
https://www.soapui.org/learn/tutorials/web-service-example-projects.html
c. För att kunna köra webtjänsten så måste man installera ett SITHS certifikat. Finns inget kan det beställas från Ineras Identifieringstjänst.
I SoapUI väljer du sedan File > Preferences och sedan fliken SSL Settings. Som KeyStore väljer du det SITHS certifikat du har beställt och anger lösenordet som du fått i samband med beställningen.
Notera att det är certifikatet för autentisering som skall användas, inte signering.
e. Se till att adress till applikationen är korrekt, annars editera.
f. Exekvera anrop genom att först dubbelklicka på önskat test och sedan klicka på den gröna pilen.
g. Ett resultat kommer nu att dyka upp i fönstret till höger i SoapUI (th på bilden nedan). Se exempel-svar nedan och dess betydelse.

Image Removed

1: OK, ett exempel på svar vid ett lyckat anrop. I detta fall hade patienten inga engagemang (se bilden ovan hur det ser ut i SoapUI).

Kodblock
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:riv:interoperability:headers:1" xmlns:urn1="urn:riv:itintegration:registry:1">
   <soapenv:Header>
      <ProcessingStatus xmlns="urn:riv:interoperability:headers:1"/>
   </soapenv:Header>
   <soapenv:Body>
      <ns3:GetLaboratoryOrderOutcomeResponse xmlns:ns3="urn:riv:clinicalprocess:healthcond:actoutcome:GetLaboratoryOrderOutcomeResponder:3" xmlns="urn:riv:clinicalprocess:healthcond:actoutcome:3" xmlns:ns2="urn:riv:clinicalprocess:healthcond:actoutcome:3.1" xmlns:ns4="urn:riv:interoperability:headers:1">
         <ns3:result>
            <resultCode>INFO</resultCode>
            <logId>NA</logId>
         </ns3:result>
      </ns3:GetLaboratoryOrderOutcomeResponse>
   </soapenv:Body>
</soapenv:Envelope>

2: Felkod VP004, ingen logisk adress (verksamhet/system) upplagd som matchar angiven logisk adress i anropet. Orsak, en logisk adress (Test) saknas i Tjänstekatalogen. Åtgärd, registrera logisk adress i Tjänstekatalogen.

Kodblock
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <soap:Fault>
         <faultcode>soap:Server</faultcode>
         <faultstring>VP004 No Logical Adress found for serviceNamespace:urn:riv:itinfra:tp:Ping:1:rivtabp20, receiverId:Test (se.skl.tp.vp.exceptions.VpSemanticException). Message payload is of type: ReversibleXMLStreamReader</faultstring>
      </soap:Fault>
   </soap:Body>
</soap:Envelope>

3: Felkod VP007, ingen behörighet finns för konsumenten (HSA ID från certifikatet) att anropa angiven logisk adress (verksamhet/system). Orsak, behörighet saknas i Tjänstekatalogen. Åtgärd, registrera behörighet för konsumenten i Tjänstekatalogen.

Kodblock
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <soap:Fault>
         <faultcode>soap:Server</faultcode>
         <faultstring>VP007 Authorization missing for serviceNamespace: urn:riv:itinfra:tp:Ping:1:rivtabp20, receiverId: Test, senderId: HSAID-XYZ (se.skl.tp.vp.exceptions.VpSemanticException). Message payload is of type: ReversibleXMLStreamReader</faultstring>
      </soap:Fault>
   </soap:Body>
</soap:Envelope>

Nedan är ett exempel på hur loggen registrerar en request, liknande den ovan. Loggen hittas i /var/log/camel eller där ni konfigurerat att loggarna ska sparas.

...

Installation med template

Det lättaste sättet är att installera utifrån en template.

Se VP- Installation via template

Manuell installation av VP

Se VP - Manuell installation

Verifiera installation

Se VP - Verifiera installationen