Jämförda versioner

Nyckel

  • Dessa rader lades till.
  • Denna rad togs bort.
  • Formateringen ändrades.

Virtuell tjänst

...

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.

Fram till hit tycker jag att det framgår rätt klart för en utomstående hur det ska gå till..?
För äldre kontrakt som inte följer den rekommenderade strukturen kan följande anvisningar användas:
Följande är exempel som inte nödvändigtvis reflekterar var/hur denna katalog struktur ser ut (classpath:kommer att expanderas till katalogen där VP är installerad, men det går bra att ange en absolut sökväg)

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:

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:

  1. Kopiera in WSDL med automatisk koppling till URL.

  2. 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