Gå till slutet av bannern
Gå till början av bannern

SKLTP VP - Konfiguration

Hoppa till slutet på meta-data
Gå till början av metadata

Du visar en gammal version av den här sidan. Visa nuvarande version.

Jämför med nuvarande Visa sidhistorik

« Föregående Version 118 Nästa »


Konfiguration av Virtualiseringsplattformen

För att överlagra defaultinställningar behöver en fil med namnet vp-config-override.properties finnas på classpath.

För att överlagra defaultinställningar vad gäller säkerhet behöver en fil med namnet vp-security-override.properties finnas på classpath.

Not! Använd inte mellanslag i de värden som konfigureras i vp-[config|security]override.properties.

Detta är inte ok, vp_instance_id=VALUE # whitespace after the value


Instruktion för tidigare versioner av VP

SKLTP VP - Konfiguration av äldre versioner

Release Note - Virtualiseringsplatformen, för att läsa om förändringar mellan olika versioner

Instruktion för senaste versionen av VP

Release Note - Virtualiseringsplatformen, förändringar i properties sedan tidigare versioner

Typiska inställningar i vp-security-overide.properties

# Overrides applications default vp-config.properties

#Location where certificate files are found
TP_TLS_STORE_LOCATION=/etc/mule/conf


#Truststore settings, what CAs and certificates VP should trust when communicating with
#consumers and producers.
TP_TLS_STORE_TRUSTSTORE_TYPE=jks
TP_TLS_STORE_TRUSTSTORE_FILE=truststore.jks
TP_TLS_STORE_TRUSTSTORE_PASSWORD=password


#Settings for the producer connector, when VP acts as producer, receiving calls from consumers
TP_TLS_STORE_PRODUCER_TYPE=jks
TP_TLS_STORE_PRODUCER_FILE=keystore.jks
TP_TLS_STORE_PRODUCER_PASSWORD=password
TP_TLS_STORE_PRODUCER_KEY_PASSWORD=password


#Settings for the consumer connector, when VP acts as consumer, making calls to producers
TP_TLS_STORE_CONSUMER_TYPE=jks
TP_TLS_STORE_CONSUMER_FILE=keystore.jks
TP_TLS_STORE_CONSUMER_PASSWORD=password
TP_TLS_STORE_CONSUMER_KEY_PASSWORD=password


Typiska inställningar i vp-config-override.properties

# Overrides applications default vp-config.properties

# Mule 3.7.0 and later
TP_HOST=0.0.0.0

###############################################################################################
# Comma separated list of ip addresses that should be valid to call virtual services (VP)
# using http (and of course valid headers for authorization). When using https this list
# is not used.
#
# IP_WHITE_LIST=127.0.0.1,127.0.0.X,127.0.0.Y
###############################################################################################
IP_WHITE_LIST=<your list>


# Standard properties for an external ActiveMQ broker, see soitoolkit-mule-jms-connector-activemq-external.xml.
SOITOOLKIT_MULE_AMQ_BROKER_URL=failover:(tcp://<your host x>:61616,tcp://<your host y>:61616)


##############################################################################
# Properties for service "VagvalRouter"
#
# Mandatory comma separated list of ip addresses (or subdomains, e.g 127.0.0 for all ip adresses under that domain) 
# that should be valid to call virtual services (VP) using http (and of course valid headers for authorization). 
# When using https this list is not used.  
#
# IP_WHITE_LIST=127.0.0,127.1.2.3,127.4.6.7
#
# Mandatory identifier of this VP instance to be used when communicating over http with other
# SKLTP components
#
# VP_INSTANCE_ID=THIS_VP_INSTANCE_ID
#
# Optional http header to be used by e.g a load balancer to set the sender ip adress. A typical scenario
# is when a service consumer calls VP through a load balancer and VP would like to have information
# regarding the consumers ip adress.
#
# VAGVALROUTER_SENDER_IP_ADRESS_HTTP_HEADER=X-Forwarded-For
#
##############################################################################
TP_SOKVAGVALSINFO_URL=http://localhost:8080/tak-services/SokVagvalsInfo/v2
VP_INSTANCE_ID=<YOUR VP INSTANCE ID>
 
########################################################################################
# Properties for WSDL-query re-write of URL's (supporting WSDL-lookup using ?wsdl)
# when VP is fronted with a reverse-proxy/load-balancer that changes any of the below
# properties before forwarding to VP.
# Refer to response transformer: se.skl.tp.vp.util.wsdl.WsdlQueryReferencedUrlsResponseTransformer
#########################################################################################
VP_HTTP_HEADER_NAME_FORWARDED_PROTO=X-Forwarded-Proto
VP_HTTP_HEADER_NAME_FORWARDED_HOST=X-Forwarded-Host
VP_HTTP_HEADER_NAME_FORWARDED_PORT=X-Forwarded-Port
 
###VAGVALROUTER_SENDERID=2.5.4.5
VAGVALROUTER_SENDERID=OU
 
# Control if event-logging should be done to JMS or not.
ENABLE_LOG_TO_JMS=false

# Enable resend on VP009. Logs 'Could not route. Will retry after ... millisec' if first request fails.
# To disable remove property or set RETRY_ROUTE_AFTER_MS=0
RETRY_ROUTE_AFTER_MS=2000

#################################################################
# Properties for service "resetVagvalCache"
#
# RESETVAGVALCACHE_INBOUND_URI=URI for reset cache
# RESETVAGVALCACHE_PORT=Port number for reset cache
# LOCAL_TAK_CACHE=Path to file where local TAK cache should exist
# Default LOCAL_TAK_CACHE=${user.home}${file.separator}.tk.localCache
#################################################################
LOCAL_TAK_CACHE=<your>/<path>/<to>/.tk.localCache
RESETVAGVALCACHE_TIMEOUT_MS=30000

#####################################################################################################
# HSA cache properties  																			#
# 																									#
# HSA_FILES=<file1,file,filex>																		#
#####################################################################################################
# List if files to be read by HSA cache, first file is master, rest is complementary
HSA_FILES=<your>/<path>/<to>/hsacache.xml,<your>/<path>/<to>/hsacachecomplementary.xml


#############################################################################################################
# Response timeout Feature properties
# It is possible to control response timeout on each service in VP, if the service supports it.
# Default values for all services are defined in SERVICE_TIMEOUT_MS, to override follow the convention
# described below and make sure the service to use supports this feature.
#
# Convention: feature.featureresponsetimeout.<service contract namespace>=5000
# Example:    feature.featureresponsetimeout.urn.riv.crm.scheduling.GetSubjectOfCareScheduleResponder.1=5000
#############################################################################################################
# Default timeout for synchronous services
SERVICE_TIMEOUT_MS=30000


feature.featureresponsetimeout.druglogistics.dosedispensing=5000


#Infektionsverktyget
feature.featureresponsetimeout.urn.riv.processdevelopment.infections.DeleteActivityResponder.1=5000


#####################################################################################################
# Keep alive Feature properties
# It is possible to control keep-alive settings on each service in VP. If a service has keep-alive 	#
# enabled all consumers and producers are affected. Default setting is used by all services and    	#
# is set to feature.keepalive=false. To enable keep-alive for one service use this convention:     	#
# Convention: feature.keepalive.<service contract namespace>=true									#
# Example:    feature.keepalive.urn.riv.crm.scheduling.GetSubjectOfCareScheduleResponder.1=true		#
#####################################################################################################
#Default setting is false, used by all services that does not specify any specific configuration
feature.keepalive=false
feature.keepalive.urn.riv.crm.scheduling.GetSubjectOfCareScheduleResponder.1=false


Komplett sammanställning av alla inställningar som finns i VP

2.2.9.vp-config.properties

2.2.9.vp-security.properties

Terminering av SSL/TLS framför VP

Om SSL/TLS trafik termineras framför VP, i t ex en reverse-proxy, behöver dessa konfigurationer göras:

  1. Propagera certifikat och inkommande HTTP-header(s) från reverse-proxy till VP:
    1. Sätta certifikat för inkommande anrop i HTTP-header: x-vp-auth-cert
    2. Lägga till IP-nr (inre) för reverse-proxy till VP's whitelist property (i vp-config.properties): IP_WHITE_LIST
    3. Propagera HTTP-header om den är satt: x-rivta-original-serviceconsumer-hsaid
    4. Propagera IP-nr för inkommande anrop i HTTP-header med namn enligt property i vp-config.properties (namn kan konfigureras): VAGVALROUTER_SENDER_IP_ADRESS_HTTP_HEADER=X-Forwarded-For

      Ref: SKLTP VP SAD - Arkitekturella krav#Arkitekturellakrav-FK-5,Ursprungligavsändare
       
  2. Sätta HTTP "forwarded" headers för att stödja WSDL-lookup (t ex som: https://vp/service_x?wsdl):
    Ref: SKLTP - Lastbalanserare / Reverse-proxy
    Namn på HTTP headers kan ändras i vp-config.properties (se exempel på konfigurationsfil ovan):

    VP_HTTP_HEADER_NAME_FORWARDED_PROTO=X-Forwarded-Proto
    VP_HTTP_HEADER_NAME_FORWARDED_HOST=X-Forwarded-Host
    VP_HTTP_HEADER_NAME_FORWARDED_PORT=X-Forwarded-Port

    Exempel: HTTP headers prefixade med VP:

    VP_HTTP_HEADER_NAME_FORWARDED_PROTO=VP-X-Forwarded-Proto
    VP_HTTP_HEADER_NAME_FORWARDED_HOST=VP-X-Forwarded-Host
    VP_HTTP_HEADER_NAME_FORWARDED_PORT=VP-X-Forwarded-Port


Konfiguration av specifika features

Feature keep-alive

För de virtuella tjänster i VP som har stöd för keep-alive finns det möjlighet att per tjänst styra om keep-alive skall vara aktiverat eller ej. Ett default värde (feature.keepalive) sätts för alla virtuella tjänster som sedan kan överlagras av respektive tjänst som vill aktivera keep-alive. Aktiveringen av keep-alive görs enligt en given konvention:

Konvention: feature.keepalive.<service contract namespace>=true

Exemple: feature.keepalive.urn.riv.crm.scheduling.GetSubjectOfCareScheduleResponder.1=true  #


ParameterDefault värdeKommentar

feature.keepalive

falseDefault värde som sätter alla virtuella tjänster till att keep-alive inte skall vara aktiverat. Detta överlagras av respektive tjänst som vill ha keep-alive påslaget enligt konventionen beskriven ovan.

Feature responseTimeout

För de virtuella tjänster i VP som har stöd för individuell inställning av timeout går detta att styra per tjänst, såväl connection som response timeouten styrs av denna inställning. Ett default värde (SERVICE_TIMEOUT_MS) sätts för alla virtuella tjänster som sedan kan överlagras av repektive tjänst enligt följande tillvägagångssätt.

Konvention: feature.featureresponsetimeout.<service contract namespace>=true

Exemple: feature.featureresponsetimeout.urn.riv.crm.scheduling.GetSubjectOfCareScheduleResponder.1=5000

Default sätts connection och response timeouten i parametern SERVICE_TIMEOUT_MS.

Konfigurera loggning av LogEvents

Konfiguration av loggning görs i <mule-hom>/apps/<vp-services>/classes/log4j.xml, notera att det inte krävs någon omstart av applikationen, ändringar slår direkt i runtime.

Exempel på logEvents

DEBUG

mule-app-vp.log
** logEvent-debug.start ***********************************************************
IntegrationScenarioId=
ContractId=
LogMessage=xreq-in
ServiceImpl=vagval-dynamic-routing-flow
Host=33.33.33.1 (33.33.33.1)
ComponentId=1133a557-b5cc-11e3-bd36-2da34769782a
Endpoint=https://localhost:20000/vp/tjanst1
MessageId=15c27c95-b5cc-11e3-bd36-2da34769782a
BusinessCorrelationId=15cc67b1-b5cc-11e3-bd36-2da34769782a
BusinessContextId=
ExtraInfo=
-senderid=tp
-originalServiceconsumerHsaid=null
-source=se.skl.tp.vp.util.LogTransformer
-cxf_service=urn:skl:tjanst1:rivtabp20
-rivversion=RIVTABP20
-receiverid=vp-test-producer
Payload=<?xml version='1.0' encoding='UTF-8'?><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>
    <ns2:To xmlns:ns2="http://www.w3.org/2005/08/addressing" xmlns:ns3="urn:skl:tjanst1:rivtabp20">vp-test-producer</ns2:To>
  </soapenv:Header>
  <soapenv:Body>
    <ns3:getProductDetailElem xmlns:ns2="http://www.w3.org/2005/08/addressing" xmlns:ns3="urn:skl:tjanst1:rivtabp20">
      <productId>Exception</productId>
    </ns3:getProductDetailElem>
  </soapenv:Body>
</soapenv:Envelope>
** logEvent-debug.end *************************************************************

INFO

mule-app-vp.log
** logEvent-info.start ***********************************************************
IntegrationScenarioId=
ContractId=
LogMessage=xreq-in
ServiceImpl=vagval-dynamic-routing-flow
Host=33.33.33.1 (33.33.33.1)
ComponentId=1133a557-b5cc-11e3-bd36-2da34769782a
Endpoint=https://localhost:20000/vp/tjanst1
MessageId=15c27c95-b5cc-11e3-bd36-2da34769782a
BusinessCorrelationId=15cc67b1-b5cc-11e3-bd36-2da34769782a
BusinessContextId=
ExtraInfo=
-senderid=tp
-originalServiceconsumerHsaid=null
-source=se.skl.tp.vp.util.LogTransformer
-cxf_service=urn:skl:tjanst1:rivtabp20
-rivversion=RIVTABP20
-receiverid=vp-test-producer
Payload=
** logEvent-info.end *************************************************************

Konfiguration av felmeddelanden (från VP 3.1.3)

VP00x-felstexter är nu konfigurerbara och kan sättas i override-property-fil. Följande felutskrifter är default:

# #########################################################################################################
#
# Felkoder enligt riv-ta:
# ---------------------------
# VP001 Riv-version inte konfigurerad för den anslutningspunkt som den 
#       virtualiserade tjänsten publicerar.
# VP002 SERIALNUMBER ej tillgängligt i konsumentens certifikat i namn-attributet.
# VP003 ReceiverId ej ifylld i RivHeadern i inkommande meddelande.
# VP004 Det finns inget vägval i Tjänstekatalogen som matchar ReceiverId, 
#       Tjänstekontrakt och dagens datum.
# VP005 Det finns ingen tjänsteproducent definierad i tjänstekatalogen som matchar Riv-version, 
#       konvertering mellan rivversioner inte implementerat.
# VP006 Det finns mer än 1 tjänsteproducent definierad i tjänstekatalogen som matchar ReceiverId, 
#       Tjänstekontrakt och dagens datum. Tyder på att tjänstekatalogen är felkonfigurerad.
# VP007 I tjänstekatalogen finns ingen behörighet definierad för den tjänstekonsument som anropar 
#       att samverka med logisk adress på valt tjänstekontrakt.
# VP008 Ingen kontakt med Tjänstekatalogen.
# VP009 Fel vid kontakt med tjänsteproducenten.
# VP010 Ingen adress angiven i tjänsteproducenten i tjänstekatalogen.
# VP011 Anropande konsument är inte betrodd att göra http-anrop till VP
# VP012 Nödvändiga resurser saknas för att VP skall fungera.
#
#
# Beskrivning av properties
# ---------------------------
# Varje property innehåller en text samt en optionell platshållare {}
# Platshållaren ersätts i VP med metadata och mer specifik information.
# Denna är för närvarande inte konfigurerbar
# #########################################################################################################

VP001 = No RIV version configured
VP002 = No sender ID (SERIALNUMBER) found in certificate
VP003 = No receiverId (logical address) found in message header
VP004 = No receiverId (logical address) found for {}
VP005 = No receiverId (logical address) with matching Riv-version found for {}
VP006 = More than one receiverId (logical address) with matching Riv-version found for {}
VP007 = Authorization missing for {}
VP008 = No contact with TAK at startup, and no local cache to fallback on, not possible to route call
VP009 = Error connecting to service producer at address {}
VP010 = Physical Address field is empty in Service Producer for {}
VP011 = Caller was not on the white list of accepted IP-addresses. {}
VP012 = Severe problem, VP does not have all necessary resources to operate. {}

Platshållaren {} markerar plats för information genererad av vp.

Konfigurera socketloggning (fr.o.m. VP 3.2.0)

Det är vid behov möjligt att låta VP logga mule meddelanden till en socket, funktionalitet framtagen för att kunna logga till Loghandlern eller liknande applikationer.

För att aktivera loggningen måste dels host och port konfigureras samt vilka meddelanden som skall loggas.

Konfigurera host/port för socketappendern

Konfigureras i ${sys:mule.home}/conf/vp-socketappender.properties.

Exempel:

vp-socketappender.properties
#############################################################################################################
# Socketlogging properties
#
# socketappender.host - hostname/ip for logging to 
# socketappender.port - port number logging to
#
# Default values - No default values. If not configured socketlogging will be turned off.
#############################################################################################################
socketappender.host=ine-dit-app01.sth.basefarm.net
socketappender.port=43706


Konfigurera vad som loggas

Konfigureras i ${sys:mule.home}/conf/vp-config-override.properties.

Exempel:

vp-config-override.properties
########################################################################################
## Socket logger  
##                                  	
## USE_SOCKET_LOGGER        - true or false              
##		                      Default is false            
## SOCKET_LOGGER_CATEGORIES - Message types to be logged 
##							  If not defined or empty all categories will be logged
##							  Valid categories: xresp-out, xresp-in, xreq-out, xreq-in
## SOCKET_LOGGER_SERVICE_CONTRACTS - Service contracts to be logged
##                                   If not defined or empty all contracts will be logged
#########################################################################################
USE_SOCKET_LOGGER=true
SOCKET_LOGGER_CATEGORIES=xresp-out
SOCKET_LOGGER_SERVICE_CONTRACTS=
  • Inga etiketter