-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error retrieving instance: Unexpected media type: "application/dicom". Expected "multipart/related". #41
Comments
Downgrade to 0.40.x until this problem is fixed: ImagingDataCommons/dicomweb-client#41
Thanks for reporting the issue @lassoan. Are you sure the message is formatted correctly, i.e., does the payload of the response message has media type |
I use https://github.com/dcmjs-org/dicomweb-server. I don't know if the implementation is correct. I just had a quick look at documentation of Google's implementation (https://cloud.google.com/healthcare/docs/how-tos/dicomweb#retrieving_an_instance). Based on this I can imagine that if the client declares that it can accept multipart/related then the server can still decide to use application/dicom or multipart/related, but maybe Google's or my interpretation is not correct. Can you give a link to a DICOMweb specification that tells that the server must send instances as multipart/related? @pieper can you comment on this? |
Unfortunately, the latest version of Part 18 is really bad shape. Supplement 183 created havoc. The |
Closing this, since it is a issue with the origin server rather than the client. |
@lassoan the 2018 version of the standard (prior to Supplement 183) is pretty explicit about the media type of response messages of WADO-RS - RetrieveInstance: http://dicom.nema.org/medical/dicom/2018e/output/chtml/part18/sect_6.5.3.2.html |
@hackermd thanks for your help with this. It's a shame the standard is hard to parse on this topic. From the point of view of the dicomweb-client code I would argue we should relax this point in order to be compatible with some real world implementation features. But as Andras points out, Google clearly offers the
Alternatively, can the client be used ask for wadu-uri to get the part-10 binary directly? I agree that dicomweb-server should be fixed to be compliant, that in our control to do (I added this as an issue). |
@pieper I agree that it's unfortunate that Part 18 is so hard to parse. I am actively working with WG 26 and 27 on improving the documentation. However, I am against providing workarounds for things that are clearly not compliant with the standard. |
It could also make sense to change or extend the DICOM standard if it is unnecessarily complex to implement. |
@lassoan There are reasons why |
I just realized that the Azure DICOM server also got it wrong: https://github.com/microsoft/dicom-server/blob/master/docs/resources/conformance-statement.md#retrieve-an-instance If most implementations got it "wrong", we should potentially re-consider. |
The client will currently still request the instance by specifying |
I think it looks good, but I agree with Niels's suggestion. |
Included in version 0.51.0 |
ImagingDataCommons/dicomweb-client#41 is fixed, so we can now use latest dicomweb-client version.
Thank you for this great package, it makes it very easy to access data on DICOMweb endpoints. We have been using the dicomweb-client successfully with https://github.com/dcmjs-org/dicomweb-server up until version 0.41.2. All versions after that (0.50.0-0.50.3) fails to retrieve instance with this error:
ValueError: Unexpected media type: "application/dicom". Expected "multipart/related".
I'll leave the server accessible for a while so that you can easily reproduce the error.
0.41.2 -> works
0.50.0 -> first version that does not work
0.50.3 (current latest version on PyPI) -> still does not work
The text was updated successfully, but these errors were encountered: