Closed Enet4 closed 1 year ago
Tested this with two different SCU tools:
dicom-findscu
from DICOM-rs: dicom-findscu DICOOGLE-STORAGE@archive:1045 -v -q Modality=CR -q QueryRetrieveLevel=
results in a response describing the failure:
Match #0 Response command:
(0000,0000) CommandGroupLength UL (1, 4 bytes): 136
(0000,0002) AffectedSOPClassUID UI (1, 28 bytes): "1.2.840.10008.5.1.4.1.2.2.1"
(0000,0100) CommandField US (1, 2 bytes): 32800
(0000,0120) MessageIDBeingRespondedTo US (1, 2 bytes): 1
(0000,0800) CommandDataSetType US (1, 2 bytes): 257
(0000,0900) Status US (1, 2 bytes): 65024
(0000,0901) OffendingElement AT (1, 4 bytes): (0008,0052)
(0000,0902) ErrorComment LO (1, 40 bytes): "Query/Retrieve Level invalid or missing"
2023-08-31T17:07:29.207364Z WARN dicom_findscu: Operation failed (status code 65024)
findscu
from dcmtk shows the error in a different way, but gracefully exiting all the same
findscu -aec DICOOGLE-STORAGE -S -v archive 1045 -k Modality=CR
I: Requesting Association
I: Association Accepted (Max Send PDV: 17352)
I: Sending Find Request (MsgID 1)
I: Request Identifiers:
I:
I: # Dicom-Data-Set
I: # Used TransferSyntax: Little Endian Explicit
I: (0008,0060) CS [CR] # 2, 1 Modality
I:
I: Received Final Find Response (Cancel: MatchingTerminatedDueToCancelRequest)
I: Releasing Association
Incidents can be seen from the logs, no stack traces so it's not too noisy:
INFO DicomLog.LogDICOM (LogDICOM.java:71) - [FINDSCU] cfind FINDSCU(4) -- Modality - CR
INFO net.PDUEncoder (PDUEncoder.java:379) - FINDSCU(4) << 1:C-FIND-RSP[pcid=1, status=fe00H
error=Query/Retrieve Level invalid or missing
cuid=1.2.840.10008.5.1.4.1.2.2.1/Study Root Query/Retrieve Information Model - FIND]
INFO net.Association (Association.java:991) - FINDSCU(4) >> A-RELEASE-RQ
INFO net.PDUEncoder (PDUEncoder.java:120) - FINDSCU(4) << A-RELEASE-RP
INFO net.Association (Association.java:916) - FINDSCU(4): close Socket[addr=/...,port=59755,localport=1045]
Fixes a server error situation when the FIND SCP service receives a malformed request with a missing Query/Retrieve Level.
Sumary