Innehållsförteckning |
---|
Virtuell tjänst
...
Info |
---|
VP är för tjänsteanrop kontraktsagnostik, dvs. det spelar ingen roll vilken subpath till anlutningspunkten som används för ett specifikt tjänstekontrakt. |
VP erbjuder en anslutningspunkt/virtuell tjänst för alla tjänstekontrakt som standardiserats genom RIVmetoden. I praktiken finns det ofta många tjänsteproducenter (regionala, landstingsspecifika eller gemensamma för ett antal vårdgivare) för ett standardiserat tjänstekontrakt. Virtuella tjänster döljer detta förhållande för tjänstekonsumenter.
Driftsätta virtualiseringar i Virtualiseringsplattformen
Nya tjänster/tjänstekontrakt kan läggas till användas utan förändringar i VP:s kod under förutsättning att den som skapar tjänsten följer den av Inera publicerade standarden för wsdl:er.
Wsdl-filerna ligger per default i mappen wsdl
under config i installationen. Det går att använda en annan mapp genom att konfigurera värdet wsdlfiles.directory
i application-custom.properties
.
För att VP skall kunna följa FK-16 (VP ska per tjänst kunna besvara ett tjänsteanrop med ?wsdl med motsvarande wsdl-fil) så krävs att wsdl:en och tillhörande xsd-filer läggs i en katalog-struktur som följer angiven standard och under den katalog som specificerats i application-custom.properties
.
...
Figuren visar ett exempel på hur katalogstrukturen kan se ut för ett tjänstekontrakt.
Det finns även möjlighet att konfigurera en Json-fil (wsdl.json.file
i application-custom.properties
för kontrakt med avvikande struktur, men den ska INTE användas för nya tjänstekontrakt.
...
Om alla har gjort rätt
wsdl.json.file=classpath:wsdl/wsdlconfig.jsonwsdlfiles.directory=classpath:wsdl/
Egentligen VP kommer hitta alla wsdl i den angivna katalogen. För wsdl:er som inte har en motsvarande post i wsdlconfig.json (vilket är fallet med alla nya tjänstekontrakt) kommer VP att lägga till denna i en ingter map, med en adress som härleds ur namespacet för tjänsten i fråga.Innan wsdl:en returneras kommer alla referenser till XSD filer i WSDL:en att expanderas till adressen för VP+?wsdl + parameter med relativa sökvägen för XSD:n i relation till WSDL:en. Den relativa sökvägen i till xsd:n i wsdl:en måste stämma med den relativa katalog struktur den kom i. WSDL:en måste även ha ett namespace som det faktiskt går att härledda URI:n ur., det enda som krävs är att det finns vägval och behörigheter för detta tjänstekontrakt uppsatt i plattformens TjänsteAdresseringsKatalog(TAK).
Anslutningspunkten kan anropas med valfri subpath. Exempelvis om anslutningpunkten är https://esb.njtp.se/vp kan man anropa valfri subpath oavsett vilket kontrakt man använder:
https://esb.njtp.se/vp/mittjanstekontrakt/1
https://esb.njtp.se/vp /vad/som/2
osv.
WSDL tjänst
Info |
---|
Tjänsten för att hämta/visa WSDLer är inte kontraktsagnostik utan bestäms utifrån den subpath till anslutningspunkten som används. |
VP erbjuder en tjänst för att hämta WSDL:er för tjänstekontrakt med hjälp av parametern ?wsdl.
Vid dessa anrops bestämmer subpathen vilken wsdl som visas. Exempel:
https://esb.ntjp.se/vp/clinicalprocess/healthcond/certificate/CreateDraftCertificate/2/rivtabp21?wsdl
https://esb.ntjp.se/vp/infrastructure/eservicesupply/forminteraction/CancelForm/2/rivtabp21?wsdl
En lista på tillgängliga WSDL url:er kan fås genom anrop till https://hostname/vp?wsdl
WSDL Installation
För att att lägga upp en ny WSDL och koppla den till en subpath/url finns två möjligheter:
Kopiera in WSDL med automatisk koppling till URL.
Kopiera in WSDL med manuell konfigurering av URL.
Kopiera in WSDL med automatisk koppling till URL
Om WSDLen följer RIV TAs regel #4 för target namespace räcker det att man kopierar WSDL strukturen till den mapp som är utpekad i VPs konfigureringsfil property wsdlfiles.directory
, se SKLTP VP - Konfiguration .
VP läser in target namespace i WSDLen och kopplar den till URL enligt http://hostname/vp/{tjänsteDomän}/{tjänsteInteraktion}/m/{profilKortnamn}
.
Exempel:
application.properties innehåller wsdlfiles.directory=/opt/vp/wsdl/
.
Wsdl struktur för GetActivities kopieras in under /opt/vp/wsdl/
:
...
VP läser in target namespace från GetActivitiesIneraction_1.0_RIVTABP21.wsdl och kopplar den till URL http://hostname/vp/clinicalprocess/activity/actions/GetActivities/1/rivtabp21?wsdl
Kopiera in WSDL med manuell konfigurering av URL.
Om man önskar annan URL kopplad till wsdl:en än den som skapas automatiskt kan man konfigurera detta i en json fil som pekas ut av propertien wsdl.json.file
, se SKLTP VP - Konfiguration.
Detta kan vara användbart ifall target namespace i wsdl filen inte följer RIV TAs regel #4 för target namespace.
Exempel:
...
GetActivities wsdl:en kan nu hämtas via pathen http://hostname/vp/another/GetActivities/url?wsdl