ELGA DICOMWeb - Fehlermeldungen¶
Allgemein¶
Wenn XCA Query oder Retrieve Destinationen fehlschlagen aber trotzdem Resultate verfügbar sind (zumindest eine Destinationen erfolgreich) wird ein HTTP Warning Header zurückgegeben. Wenn mehrere Fehler zurückgegeben werden werden diese in einem HTTP Warning Header mit ; verknüpft.
Beispiel 1: Warning: 299 pitconnect-qido "XqueryError (http:502 BAD_GATEWAY) g_38 - http request failed [to urn:oid:1.2.40.0.34.99.10.1.94.20.1[ZGF_RspGW] with error 'UnknownHostException' [wrongUrl]]"
Beispiel 2: Warning: 299 pitconnect-qido "XqueryError so_45 - unable to send SOAP message [wsse:InvalidSecurity An error was discovered processing the 'wsse:Security' header]"
Wenn alle XCA Ziele bei einem Query oder Retrieve fehlschlagen wird ein Fehler zurückgegeben.
Wenn als Fehlermeldung ein Body in der Antwort enthalten ist wird dieser im OAuth Format zurückgegeben: application/json mit error und error_description Element.
Nachfolgend werden typische Fehlermeldungen der unterschiedlichen Services beschrieben.
Für Alle Services gilt:
- es werden abhängig von der Einstellung des production Flag unterschiedliche Fehlermeldungen zurückgegeben. Außerdem sind einige Funktionalitäten bei production true nicht verfügbar.
Ein Beispiel hierfür ist:
-
403 FORBIDDEN
-
log: acs_75#accessDenied - access to resource denied [NON TLS not allowed in prod]
-
wenn das Service auf production true läuft werden normalerweise keine NON TLS Verbindungen akzeptiert. Abhängig vom Deplyoment kann dieses Verhalten eingestellt werden: production:011
Wenn ein Beispiel mit “no test“ markiert ist gibt es dafür keinen Test bzw. is der Test nicht automatisch ausführbar. Für alle anderen Beispiele existiert auch ein Test der automatisch ausgeführt werden kann.
Service Facade - QIDO-SF und WADO-SF - identisch¶
Folgende Fehlermeldungen sind auf allen Service Facaden identisch.
*N qido-sf - wrong base URL¶
GET http://localhost:8901/wrongUrl
404 Not Found
log: c_54 - unable to select a service [based on ServiceUriFilter:/wrongUrl
no body
*N qido-sf - wrong endpoint¶
GET http://localhost:8901/pineit/pitaccess-qido-sf/wrongApiRoute
404 Not Found
log: g_22 - the received request is not valid [NO api-route found]
body:
*N qido-sf - wrong verb¶
GET http://localhost:8901/pineit/pitaccess-qido-sf/facade/studies
404 Not Found
log: g_22 - the received request is not valid [NO api-route found]
body:
*N qido-sf - no Authorization¶
GET http://localhost:8901/pineit/pitaccess-qido-sf/facade/studies
401 Unauthorized
log: auth_66#noAuthHeader - no http Authorization received
no body
*N qido-sf - no Bearer Authorization¶
GET http://localhost:8901/pineit/pitaccess-qido-sf/facade/studies
401 Unauthorized
log: auth_67#wrongAuthHeader - wrong http Authorization received [expect Bearer]
no body
*N qido-sf - no Base64 SAML¶
GET http://localhost:8901/pineit/pitaccess-qido-sf/facade/studies
401 Unauthorized
log: saml_71 - unable to create assertion from element [Perr:g_40 - no Base64 content [IllegalArgumentException:Illegal base64 character 5f]
no body
*N qido-sf - old SAML¶
GET http://localhost:8904/pineit/pitaccess-wado-sf/facade/studies/sty1/series/ser1/instances/inst1
401 Unauthorized
log: ass_22#assertionIsExpired - the assertion is expired [notOnOrAfter:2023-10-20T15:33:41.988Z, now:2023-10-27T11:56:26.757+02:00]
no body
*N forward failed - api-route not available¶
502 Bad Gateway
log: g_38 - http request failed [to qidoEndpoint with error 'ConnectException' [Connection refused (Connection refused)]]
body:
{
"error\_description": "to qidoEndpoint with error 'ConnectException' \[Connection refused (Connection refused)\]",
"error": "httpRequestFailed"
}
WADO-SF bzw. QIDO-Cache spezifische Fehler¶
Die WADO-SF leitet auch Fehler vom QIDO-Cache weiter bzw. auch diese vom daniederliegenden WADO-RS Endpunkt.
*N wado-sf - wrong WADO instance URI¶
GET http://localhost:8901/pineit/pitaccess-qido-sf/facade/study
404 Not Found
body:
*N wado-sf - no cache entry available (study)¶
GET http://localhost:8904/pineit/pitaccess-wado-sf/facade/studies/sty1/series/ser1/instances/inst1
403 Forbidden
log: wrs_2#QidoCacheLookupFailed - QIDO Cache query failed [invalid_grant no qido-cache available for token id and StudyInstanceUID]
body:
{
"error\_description": "invalid\_grant no qido-cache available for token id and StudyInstanceUID",
"error": "qidoCacheLookupFailed"
}
*N wado-sf - no cache entry available (series)¶
GET http://localhost:8904/pineit/pitaccess-wado-sf/facade/studies/1.2.40.0.35.12.3.1.4.1256.1332324757/series/xxx/instances/1.2.40.0.35.12.3.1.4.1256.1332324757.0.35/rendered
403 Forbidden
log: acs_75#accessDenied - access to resource denied [series 'xxx' cache entry not available]
body:
*N wado-sf - no cache entry available (instance)¶
GET http://localhost:8904/pineit/pitaccess-wado-sf/facade/studies/1.2.40.0.35.12.3.1.4.1256.1332324757/series/1.2.40.0.35.12.3.1.4.1256.1332324757.1/instances/xxx/rendered
403 Forbidden
log: acs_75#accessDenied - access to resource denied [instance 'xxx' cache entry not available]
body:
*N - no test - QIDO Cache not available¶
424 Failed Dependency
log: wrs_2#QidoCacheLookupFailed - QIDO Cache query failed [g_38 - http request failed [to /pineit/pitaccess-qido-cache/auth/token with error 'ConnectException' [Connection refused (Connection refused)]]]
body:
{
"error\_description": "g\_38 - http request failed \[to /pineit/pitaccess-qido-cache/auth/token with error 'ConnectException' \[Connection refused (Connection refused)\]\]",
"error": "qidoCacheLookupFailed"
}
*N - no test - WADO-RS Archive Endpoint not available¶
502 Bad Gateway
log: g_38 - http request failed [to wado-rs-facadeEndpoint with error 'ConnectException' [Connection refused (Connection refused)]]
body:
{
"error\_description": "to wado-rs-facadeEndpoint with error 'ConnectException' \[Connection refused (Connection refused)\]",
"error": "httpRequestFailed"
}
*N - no test - WADO-RS Archive Timeout¶
503 Service Unavailable
log: g_38 - http request failed [to wado-rs-facadeEndpoint with error 'SocketTimeoutException' [Read timed out]]
body: