dcm4chee-arc-light and WADO

1,644 views
Skip to first unread message

Björn Albers

unread,
Apr 19, 2018, 5:31:24 AM4/19/18
to dcm4che

Hello,


when I try do download a study via WADO I get the following error in OsiriX:


Failed: IdentifierDoesNotMatchSOPClass



# Dicom-Data-Set

# Used TransferSyntax: Little Endian Implicit

(0000,0901) AT (0020,000e)                              #   4, 1 OffendingElement

(0000,0902) LO [Missing SeriesInstanceUID (0020,000E)]  #  38, 1 ErrorComment


Does dcm4chee-arc-light v5.13.0 already support WADO?

If so, how can I enable it?



Kind regards,

Björn

error.png

Björn Albers

unread,
Apr 19, 2018, 6:06:42 AM4/19/18
to dcm4che
PS: Here the corresponding dcm4chee log entries:

2018-04-19 12:04:25,140 INFO  [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-53) KURZZEITARCHIV<-ALBERS(45): processing 1:C-FIND-RQ[pcid=1, prior=2
  cuid=1.2.840.10008.5.1.4.1.2.2.1 - Study Root Query/Retrieve Information Model - FIND
  tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian failed. Caused by:        : org.dcm4che3.net.service.DicomServiceException: Missing SeriesInstanceUID (0020,000E)
        at org.dcm4che3.net.service.QueryRetrieveLevel2.identifierDoesNotMatchSOPClass(QueryRetrieveLevel2.java:147)
        at org.dcm4che3.net.service.QueryRetrieveLevel2.missingAttribute(QueryRetrieveLevel2.java:136)
        at org.dcm4che3.net.service.QueryRetrieveLevel2.checkUniqueKey(QueryRetrieveLevel2.java:130)
        at org.dcm4che3.net.service.QueryRetrieveLevel2.validateIdentifier(QueryRetrieveLevel2.java:119)
        at org.dcm4che3.net.service.QueryRetrieveLevel2.validateQueryIdentifier(QueryRetrieveLevel2.java:83)
        at org.dcm4chee.arc.query.scp.CommonCFindSCP.calculateMatches(CommonCFindSCP.java:90)
        at org.dcm4che3.net.service.BasicCFindSCP.onDimseRQ(BasicCFindSCP.java:65)
        at org.dcm4che3.net.service.AbstractDicomService.onDimseRQ(AbstractDicomService.java:74)
        at sun.reflect.GeneratedMethodAccessor94.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:38)
        at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:100)
        at org.dcm4che3.net.service.DicomService$2083617583$Proxy$_$$_WeldClientProxy.onDimseRQ(Unknown Source)
        at org.dcm4che3.net.service.DicomServiceRegistry.onDimseRQ(DicomServiceRegistry.java:86)
        at org.dcm4che3.net.ApplicationEntity.onDimseRQ(ApplicationEntity.java:459)
        at org.dcm4che3.net.Association.onDimseRQ(Association.java:696)
        at org.dcm4che3.net.PDUDecoder.decodeDIMSE(PDUDecoder.java:459)
        at org.dcm4che3.net.Association.handlePDataTF(Association.java:679)
        at org.dcm4che3.net.State$4.onPDataTF(State.java:103)
        at org.dcm4che3.net.Association.onPDataTF(Association.java:675)
        at org.dcm4che3.net.PDUDecoder.nextPDU(PDUDecoder.java:177)
        at org.dcm4che3.net.Association$2.run(Association.java:518)
        at org.jboss.as.ee.concurrent.ControlPointUtils$ControlledRunnable.run(ControlPointUtils.java:105)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at org.glassfish.enterprise.concurrent.internal.ManagedFutureTask.run(ManagedFutureTask.java:141)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
        at org.glassfish.enterprise.concurrent.ManagedThreadFactoryImpl$ManagedThread.run(ManagedThreadFactoryImpl.java:250)
        at org.jboss.as.ee.concurrent.service.ElytronManagedThreadFactory$ElytronManagedThread.run(ElytronManagedThreadFactory.java:78)

2018-04-19 12:04:25,140 INFO  [org.dcm4che3.net.Dimse] (EE-ManagedExecutorService-default-Thread-53) KURZZEITARCHIV<-ALBERS(45) << 1:C-FIND-RSP[pcid=1, status=a900H, errorComment=Missing SeriesInstanceUID (0020,000E)
  tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian
2018-04-19 12:04:25,244 INFO  [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-53) KURZZEITARCHIV<-ALBERS(45) >> A-RELEASE-RQ
2018-04-19 12:04:25,244 INFO  [org.dcm4che3.net.Association] (EE-ManagedExecutorService-default-Thread-53) KURZZEITARCHIV<-ALBERS(45) << A-RELEASE-RP
2018-04-19 12:04:25,295 INFO  [org.dcm4che3.net.Association] (EE-ManagedScheduledExecutorService-default-Thread-6) KURZZEITARCHIV<-ALBERS(45): close Socket[addr=/172.25.24.1,port=50063,localport=11112]

Björn Albers

unread,
Apr 23, 2018, 4:06:22 AM4/23/18
to dcm4che
Does anyone have an idea why WADO isn't working?


Thanks in advance,
Björn


On Thursday, April 19, 2018 at 11:31:24 AM UTC+2, Björn Albers wrote:

Gunter Zeilinger

unread,
Apr 24, 2018, 5:52:08 AM4/24/18
to dcm...@googlegroups.com
Your log does not show any evidence that a WADO requests was received. That would look like:

11:47:04,955 INFO  [org.dcm4chee.arc.wado.WadoURI] (default task-4) Process GET /dcm4chee-arc/aets/DCM4CHEE/wado from nu...@192.168.2.178

Rather looks that  a classic C-FIND RQ on IMAGE level with missing Series Instance UID was received.



--
You received this message because you are subscribed to the Google Groups "dcm4che" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dcm4che+unsubscribe@googlegroups.com.
To post to this group, send email to dcm...@googlegroups.com.
Visit this group at https://groups.google.com/group/dcm4che.
For more options, visit https://groups.google.com/d/optout.

Björn Albers

unread,
Apr 24, 2018, 1:35:45 PM4/24/18
to dcm4che
Hello Gunther,

thanks for your response.
It looks like OsiriX ignores the retrieve mode setting, when it is set to WADO.

I tried a different configuration.
Now OsiriX queries the right port but I get a HTTP ERROR 404 as response (no log output was generated):

19:20:34.262461 IP 172.25.24.1.56795 > 172.25.64.110.http-alt: Flags [P.], seq 1:674, ack 1, win 4106, options [nop,nop,TS val 928673267 ecr 3709855778], length 673: HTTP: GET /wado/studies?includefield=00080020&includefield=00080030&includefield=00080050&includefield=00080061&includefield=00080080&includefield=00080090&includefield=00081030&includefield=00081050&includefield=00100010&includefield=00100020&includefield=00100030&includefield=00100040&includefield=0020000D&includefield=00200010&includefield=00201208&includefield=00324000&includefield=40080212&includefield=00020010 HTTP/1.1
..'..1..'j....E...S.@.?.5b......@n....2..'.?.H...
.......
7Zm...."GET /wado/studies?includefield=00080020&includefield=00080030&includefield=00080050&includefield=00080061&includefield=00080080&includefield=00080090&includefield=00081030&includefield=00081050&includefield=00100010&includefield=00100020&includefield=00100030&includefield=00100040&includefield=0020000D&includefield=00200010&includefield=00201208&includefield=00324000&includefield=40080212&includefield=00020010 HTTP/1.1
Content-Type: application/json; charset=utf-8
Accept: application/json
User-Agent: OsiriX/20180104 CFNetwork/811.9 Darwin/16.7.0 (x86_64)
Accept-Language: de-de
Accept-Encoding: gzip, deflate
Connection: keep-alive


19:20:34.262496 IP 172.25.64.110.http-alt > 172.25.24.1.56795: Flags [.], ack 674, win 237, options [nop,nop,TS val 3709855818 ecr 928673267], length 0
..'j....'..1..E..4a.@.@.(}..@n.........?.H2..............
...J7Zm.
19:20:34.377808 IP 172.25.64.110.http-alt > 172.25.24.1.56795: Flags [P.], seq 1:253, ack 674, win 237, options [nop,nop,TS val 3709855933 ecr 928673267], length 252: HTTP: HTTP/1.1 404 Not Found
..'j....'..1..E..0a.@.@.'...@n.........?.H2..............
....7Zm.HTTP/1.1 404 Not Found
Connection: keep-alive
X-Powered-By: Undertow/1
Server: WildFly/11
Content-Length: 74
Content-Type: text/html
Date: Tue, 24 Apr 2018 17:20:34 GMT

<html><head><title>Error</title></head><body>404 - Not Found</body></html>


Björn

On Tuesday, April 24, 2018 at 11:52:08 AM UTC+2, gunterze wrote:
Your log does not show any evidence that a WADO requests was received. That would look like:

11:47:04,955 INFO  [org.dcm4chee.arc.wado.WadoURI] (default task-4) Process GET /dcm4chee-arc/aets/DCM4CHEE/wado from nu...@192.168.2.178

Rather looks that  a classic C-FIND RQ on IMAGE level with missing Series Instance UID was received.


On Mon, Apr 23, 2018 at 10:06 AM, Björn Albers <bjoern...@gmail.com> wrote:
Does anyone have an idea why WADO isn't working?


Thanks in advance,
Björn

On Thursday, April 19, 2018 at 11:31:24 AM UTC+2, Björn Albers wrote:

Hello,


when I try do download a study via WADO I get the following error in OsiriX:


Failed: IdentifierDoesNotMatchSOPClass



# Dicom-Data-Set

# Used TransferSyntax: Little Endian Implicit

(0000,0901) AT (0020,000e)                              #   4, 1 OffendingElement

(0000,0902) LO [Missing SeriesInstanceUID (0020,000E)]  #  38, 1 ErrorComment


Does dcm4chee-arc-light v5.13.0 already support WADO?

If so, how can I enable it?



Kind regards,

Björn

--
You received this message because you are subscribed to the Google Groups "dcm4che" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dcm4che+u...@googlegroups.com.
wado.pcap
OsiriX-error.png

gunterze

unread,
Apr 25, 2018, 6:08:02 AM4/25/18
to dcm4che

/wado/studies?includefield=00080020&includefield=00080030&includefield=00080050&includefield=00080061&includefield=00080080&includefield=00080090&includefield=00081030&includefield=00081050&includefield=00100010&includefield=00100020&includefield=00100030&includefield=00100040&includefield=0020000D&includefield=00200010&includefield=00201208&includefield=00324000&includefield=40080212&includefield=00020010 HTTP/1.1

Rather looks like a QIDO-RS, and neither as a WADO-URI nor a WADO-RS request. QIDO Search Studies would be provided at /dcm4chee-arc/aets/DCM4CHEE/rs/studies by dcm4chee-arc-light. s. http://petstore.swagger.io/index.html?url=https://raw.githubusercontent.com/dcm4che/dcm4chee-arc-light/master/dcm4chee-arc-ui2/src/swagger/swagger.json#/QIDO-RS/SearchForStudies


On Thursday, April 19, 2018 at 11:31:24 AM UTC+2, Björn Albers wrote:

gunterze

unread,
Apr 25, 2018, 6:56:44 AM4/25/18
to dcm4che

Björn Albers

unread,
May 4, 2018, 9:56:50 AM5/4/18
to dcm4che
Hello Gunter,

all I can say is that WADO works with the old dcm4chee v2 out of the box.
But with dcm4chee-arc-light it does not, although I tried different configurations in OsiriX.
Is this expected? Has WADO have to be enabled first?


Have a nice weekend,
Björn

gunterze

unread,
May 4, 2018, 3:25:45 PM5/4/18
to dcm4che
It's enabled out of the box. If you did not changed the default AET: DCM4CHEE, WADO-URI es provided at http://<host>:8080/dcm4chee-arc/aets/DCM4CHEE/wado

Piotr Orzechowski

unread,
Jun 2, 2019, 7:19:53 AM6/2/19
to dcm4che
Has anyone managed to solve the problem in the communication between Osirix and dcm4chee-arc-light by the wado protocol? I still have the same message as others:

  cuid=1.2.840.10008.5.1.4.1.2.2.1 - Study Root Query/Retrieve Information Model - FIND
  tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian] failed. Caused by:    : org.dcm4che3.net.service.DicomServiceException: Missing SeriesInstanceUID (0020,000E)
    at org.dcm4che3.net.service.QueryRetrieveLevel2.identifierDoesNotMatchSOPClass(QueryRetrieveLevel2.java:147)
    at org.dcm4che3.net.service.QueryRetrieveLevel2.missingAttribute(QueryRetrieveLevel2.java:136)
    at org.dcm4che3.net.service.QueryRetrieveLevel2.checkUniqueKey(QueryRetrieveLevel2.java:130)
    at org.dcm4che3.net.service.QueryRetrieveLevel2.validateIdentifier(QueryRetrieveLevel2.java:119)
    at org.dcm4che3.net.service.QueryRetrieveLevel2.validateQueryIdentifier(QueryRetrieveLevel2.java:83)
    at org.dcm4chee.arc.query.scp.CommonCFindSCP.calculateMatches(CommonCFindSCP.java:91)

    at org.dcm4che3.net.service.BasicCFindSCP.onDimseRQ(BasicCFindSCP.java:65)
    at org.dcm4che3.net.service.AbstractDicomService.onDimseRQ(AbstractDicomService.java:74)
    at sun.reflect.GeneratedMethodAccessor113.invoke(Unknown Source)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:38)
    at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:106)
    at org.dcm4che3.net.service.DicomService$11720814$Proxy$_$$_WeldClientProxy.onDimseRQ(Unknown Source)

    at org.dcm4che3.net.service.DicomServiceRegistry.onDimseRQ(DicomServiceRegistry.java:86)
    at org.dcm4che3.net.ApplicationEntity.onDimseRQ(ApplicationEntity.java:459)
    at org.dcm4che3.net.Association.onDimseRQ(Association.java:703)
    at org.dcm4che3.net.PDUDecoder.decodeDIMSE(PDUDecoder.java:467)
    at org.dcm4che3.net.Association.handlePDataTF(Association.java:686)
    at org.dcm4che3.net.State$4.onPDataTF(State.java:103)
    at org.dcm4che3.net.Association.onPDataTF(Association.java:682)
    at org.dcm4che3.net.PDUDecoder.nextPDU(PDUDecoder.java:177)
    at org.dcm4che3.net.Association$2.run(Association.java:521)

    at org.jboss.as.ee.concurrent.ControlPointUtils$ControlledRunnable.run(ControlPointUtils.java:105)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at org.glassfish.enterprise.concurrent.internal.ManagedFutureTask.run(ManagedFutureTask.java:141)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
    at org.glassfish.enterprise.concurrent.ManagedThreadFactoryImpl$ManagedThread.run(ManagedThreadFactoryImpl.java:250)
    at org.jboss.as.ee.concurrent.service.ElytronManagedThreadFactory$ElytronManagedThread.run(ElytronManagedThreadFactory.java:78)

Best regards, Piotr

Rajul Shah

unread,
Jun 6, 2019, 3:35:12 PM6/6/19
to dcm4che
we are experiencing similar issue as well.  Of interest, if we q.r at series level rather than study in Osirix, then wado URL method works just fine as it did in dcm4chee 2.

gunterze

unread,
Jun 12, 2019, 3:22:20 AM6/12/19
to dcm4che
A C-FIND SCU has to explicitly negotiate support for relational query - which is accepted by dcm4chee-arc with default configuration - to be allowed to perform a query on instance level without specifying a Series Instance UID.

gunterze

unread,
Jun 21, 2019, 9:34:37 AM6/21/19
to dcm4che
Reply all
Reply to author
Forward
0 new messages