Felkoder
Vid fel returneras alltid HTTP 500.
Det finns vissa felsituationer som hanteras av Virtualiseringsplattformen och i dessa fall returneras ett VP-fel. Här är felsökningspunkter för de vanligt förekommande VP fel som konsumenter kan få:
VP004 Det finns ingen tjänsteproducent definierad i Tjänstekatalogen som har ett vägval som matchar ReceiverId (logisk adress), Tjänstekontrakt och dagens datum.
- Är producenten ansluten och har den den angivna logiska adressen?
- Om inte, beställ enligt rutiner beskrivna på http://www.vardgivarguiden.se/Omraden/E-tjanster-och-system-/e-tjanster-och-system/Infrastruktur/Regional-Tjansteplattform-RTP/
- Används rätt Logisk Adress?
- Skicka en fråga till SLL IT Service desk, se nedan. Ta med hela felmeddelandet för att underlätta felsökning.
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.
- Om felet dyker upp vänligen kontakta SLL IT Service desk, se nedan. Skicka in hela felmeddelandet för att underlätta felsökning
VP007 Den finns ingen behörighet för den tjänstekonsument som anropar att samverka med tjänsteproducenten. Avser behörigheter definierade i Tjänstekatalogen.
- Har beställning skickats in? Om inte skicka in beställning enligt rutiner beskrivna på http://www.vardgivarguiden.se/Omraden/E-tjanster-och-system-/e-tjanster-och-system/Infrastruktur/Regional-Tjansteplattform-RTP/
- Används rätt Logisk Adress i anropet?
- Skicka en fråga till SLL IT Service desk, se nedan. Ta med hela felmeddelandet för att underlätta felsökning.
VP009 Fel vid kontakt med tjänsteproducenten.
Det finns många möjliga orsaker till att detta fel dyker upp, kontrollera följande punkter:
- Att brandväggsöppning för tjänsteplattformens ip-adress är utförd hos producenten
- Att det inte finns några fel i producentens DNS
- Att producentens server är uppe och fungerar
Om alla ovanstående punkter är kontrollerade utan att felet hittats, vänligen kontakta SLL IT Service desk, se nedan.
Felanmälan till SLL IT Service desk
Felanmälan skickas till sllit-servicedesk@sll.se.
Inkludera så mycket information som möjligt för att underlätta felsökning. Kontrollera att följande är med (om möjligt):
- Felmeddelande
- Tid för anrop
- Konsumentens HSA ID
- Logisk adress
- Tjänstekontrakt
Ordlista
Ord | Definition |
---|---|
Logisk Adress | Den adress som används vid ett anrop. Vad den logiska adressen är beror på tjänstekontraktet. I de fall tjänstedomänen tillämpar källsystemsbaserad adressering motsvaras den logiska adressen av HSAID på systemet. I de fall tjänstedomänen tillämpar vårdenhetsbaserad adressering är logisk adress vårdenheten. När ett källsystem ansluts anges med vilka logiska adresser systemet ska kunna adresseras. |
Konsument | Det system som anropar tjänsteplattformen. |
Producent | Det system som anropas av tjänsteplattformen. |
HTTPS / SSL
Q: Varför får man "javax.net.ssl.SSLHandshakeException" för utgående trafik från tjänsteplattform mot tjänsteproducent
A: Det kan finnas flera anledningar varav de vanligaste är
- Klient (SKLTPs) certifikatets CA (root) saknas i tjänsteproducentens truststore (Received fatal alert: handshake_failure)
- Det saknas ett CA (root) certifikat i klientens (SKLTPs) truststore alternativt en felaktig konfiguration av truststore och den angivna filen finns inte (sun.security.validator.ValidatorException: No trusted certificate found)
- Servers namn som angivits i tjänsteproducentens certifikat (CN) stämmer ej överens med namnet eller IP adressen som angivits i URL:en (java.security.cert.CertificateException: No name matching ...)
- Tjänsteproducenten använder sig av GCM (Galois/Counter Mode) ciphers och dessa stöds ej av standard Java security (sun.security.validator.ValidatorException: Certificate chaining error)
- Fel certifikat installerat hos tjänsteproducenten. Troligen har signeringscertifikatet felaktigt installerats på servern instället för autentiseringscertifikatet från SITHS. (KeyUsage does not allow key encipherment)
Använd openssl för att kontrollera tjänsteproducentens certifikat:
$ openssl s_client [ -cert <client-cert> -key <private-key> ] -connect <producer-host-name>:<port> -showcerts
Q: Varför får man "javax.net.ssl.SSLException: java.lang.RuntimeException: Could not generate DH keypair" för utgående trafik från tjänsteplattform mot tjänsteproducent
A: Java 7 och tidigare versioner stödjer ej Diffie-Hellman (DH) modulus nyckellängd överstigande 1024 bits. Använder tjänsteproducenten certifikat med längre nyckellängd och i synnerhet Apache 2.4.7 eller senare så är detta fel typiskt. Åtgärdas genom att lägga till specifika DH parametrar till tjänsteproducentens certifikat. Se en bit ned på denna sida från Apache (Why do I get handshake failures with Java-based clients when using a certificate with more than 1024 bits?)
Tjänsteproducenten måste lägga till specifika DH parametrar genom att addera följande (enligt RFC 2409) till varje server certifikat (PEM):
-----BEGIN DH PARAMETERS----- MIGHAoGBAP//////////yQ/aoiFowjTExmKLgNwc0SkCTgiKZ8x0Agu+pjsTmyJR Sgh5jjQE3e+VGbPNOkMbMCsKbfJfFDdP4TVtbVHCReSFtXZiXn7G9ExC6aY37WsL /1y29Aa37e44a/taiZ+lrp8kEXxLH+ZJKGZR7OZTgf//////////AgEC -----END DH PARAMETERS-----
Java 8 stödjer upp till 2048, se denna artikel.
Q: Hur testar jag konnektivitet mot RTP?
A: Använd t ex openssl för att testa konnektivitet:
~ $ openssl s_client -tls1 -connect prod.esb.rtp.sll.se:443 CONNECTED(00000003) depth=2 /C=SE/O=Inera AB/CN=SITHS Root CA v1 PP … kan komma några fel här beroende på att SITHS CA-cert inte finns i lokalt truststore. Det viktiga är att se CONNECTED ovan och egenskaper för RTP-certifikatet.