Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

ERROR when query and retrieve studies from CSV

12 views
Skip to first unread message

Francisco Bahamondes

unread,
Mar 14, 2025, 3:16:32 PMMar 14
to dcm4che
Hello.
I'm getting the following error message when I try to query and retrieve studies from CSV file  through the webservice, my installation is :
2025-03-14 14:44:43,602 ERROR [org.jboss.resteasy.core.providerfactory.DefaultExceptionMapper] (default task-1) RESTEASY002375: Error processing request POST /dcm4chee-arc/aets/LC_FUSAT/dimse/LABOCENTER/studies/csv:1/export/dicom:LC_FUSAT - org.dcm4chee.arc.dimse.rs.QueryRetrieveRS.retrieveMatchingStudiesFromCSV: java.lang.NoClassDefFoundError: Failed to link org/apache/commons/csv/ExtendedBufferedReader (Module "org.apache.commons.csv" version 1.12.0 from local module loader @7a560583 (finder: local module finder @4d722ac9 (roots: /opt/wildfly/modules,/opt/wildfly/modules/system/layers/base))): org/apache/commons/io/input/UnsynchronizedBufferedReader
        at org.apache....@1.12.0//org.apache.commons.csv.CSVParser.<init>(CSVParser.java:444)
        at org.apache....@1.12.0//org.apache.commons.csv.CSVParser.<init>(CSVParser.java:412)
        at deployment.dcm4chee-arc-ear-5.33.1-psql-secure.ear.dcm4chee-arc-war-5.33.1-secure.war//org.dcm4chee.arc.dimse.rs.QueryRetrieveRS.processCSV(QueryRetrieveRS.java:259)
        at deployment.dcm4chee-arc-ear-5.33.1-psql-secure.ear.dcm4chee-arc-war-5.33.1-secure.war//org.dcm4chee.arc.dimse.rs.QueryRetrieveRS.retrieveMatchingStudiesFromCSV(QueryRetrieveRS.java:232)
        at deployment.dcm4chee-arc-ear-5.33.1-psql-secure.ear.dcm4chee-arc-war-5.33.1-secure.war//org.dcm4chee.arc.dimse.rs.QueryRetrieveRS$Proxy$_$$_WeldClientProxy.retrieveMatchingStudiesFromCSV(Unknown Source)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at org.jboss.restea...@6.2.10.Final//org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:154)
        at org.jboss.restea...@6.2.10.Final//org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:118)
        at org.jboss.restea...@6.2.10.Final//org.jboss.resteasy.core.ResourceMethodInvoker.internalInvokeOnTarget(ResourceMethodInvoker.java:560)
        at org.jboss.restea...@6.2.10.Final//org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTargetAfterFilter(ResourceMethodInvoker.java:452)
        at org.jboss.restea...@6.2.10.Final//org.jboss.resteasy.core.ResourceMethodInvoker.lambda$invokeOnTarget$2(ResourceMethodInvoker.java:413)
        at org.jboss.restea...@6.2.10.Final//org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:321)
        at org.jboss.restea...@6.2.10.Final//org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:415)
        at org.jboss.restea...@6.2.10.Final//org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:378)
        at org.jboss.restea...@6.2.10.Final//org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:356)
        at org.jboss.restea...@6.2.10.Final//org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:70)
        at org.jboss.restea...@6.2.10.Final//org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:429)
        at org.jboss.restea...@6.2.10.Final//org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:240)
        at org.jboss.restea...@6.2.10.Final//org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:154)
        at org.jboss.restea...@6.2.10.Final//org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:321)
        at org.jboss.restea...@6.2.10.Final//org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:157)
        at org.jboss.restea...@6.2.10.Final//org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:229)
        at org.jboss.restea...@6.2.10.Final//org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:222)
        at org.jboss.restea...@6.2.10.Final//org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
        at org.jboss.restea...@6.2.10.Final//org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
        at jakarta.s...@6.0.0//jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
        at io.undert...@2.3.18.Final//io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
        at io.undert...@2.3.18.Final//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
        at io.underto...@2.3.18.Final//io.undertow.websockets.jsr.JsrWebSocketFilter.doFilter(JsrWebSocketFilter.java:172)
        at io.undert...@2.3.18.Final//io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)
        at io.undert...@2.3.18.Final//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
        at io.undert...@2.3.18.Final//io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
        at io.undert...@2.3.18.Final//io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
        at io.undert...@2.3.18.Final//io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
        at io.undert...@2.3.18.Final//io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
        at org.wildfly.security.ely...@4.1.0.Final//org.wildfly.elytron.web.undertow.server.ElytronRunAsHandler.lambda$handleRequest$1(ElytronRunAsHandler.java:68)
        at org.wildfly.secu...@2.6.0.Final//org.wildfly.security.auth.server.FlexibleIdentityAssociation.runAsFunctionEx(FlexibleIdentityAssociation.java:103)
        at org.wildfly.secu...@2.6.0.Final//org.wildfly.security.auth.server.Scoped.runAsFunctionEx(Scoped.java:161)
        at org.wildfly.secu...@2.6.0.Final//org.wildfly.security.auth.server.Scoped.runAs(Scoped.java:73)
        at org.wildfly.security.ely...@4.1.0.Final//org.wildfly.elytron.web.undertow.server.ElytronRunAsHandler.handleRequest(ElytronRunAsHandler.java:67)
        at io.undert...@2.3.18.Final//io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)
        at io.undert...@2.3.18.Final//io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117)
        at io.undert...@2.3.18.Final//io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
        at io.under...@2.3.18.Final//io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:53)
        at io.under...@2.3.18.Final//io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
        at io.undert...@2.3.18.Final//io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
        at io.undert...@2.3.18.Final//io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:60)
        at io.under...@2.3.18.Final//io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
        at org.wildfly.security.elytron...@4.1.0.Final//org.wildfly.elytron.web.undertow.server.servlet.CleanUpHandler.handleRequest(CleanUpHandler.java:38)
        at io.under...@2.3.18.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at org.wildfly.ext...@34.0.0.Final//org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:44)
        at io.under...@2.3.18.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at org.wildfly.ext...@34.0.0.Final//org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:51)
        at io.undert...@2.3.18.Final//io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52)
        at io.under...@2.3.18.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at io.undert...@2.3.18.Final//io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:276)
        at io.undert...@2.3.18.Final//io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)
        at io.undert...@2.3.18.Final//io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:132)
        at io.undert...@2.3.18.Final//io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
        at io.undert...@2.3.18.Final//io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
        at org.wildfly.ext...@34.0.0.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1421)
        at org.wildfly.ext...@34.0.0.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1421)
        at org.wildfly.ext...@34.0.0.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1421)
        at org.wildfly.ext...@34.0.0.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1421)
        at org.wildfly.ext...@34.0.0.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1421)
        at io.undert...@2.3.18.Final//io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:256)
        at io.undert...@2.3.18.Final//io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:101)
        at io.under...@2.3.18.Final//io.undertow.server.Connectors.executeRootHandler(Connectors.java:395)
        at io.under...@2.3.18.Final//io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:861)
        at org.jbos...@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
        at org.jbos...@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
        at org.jbos...@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
        at org.jbos...@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
        at org.jbo...@3.8.16.Final//org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282)
        at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.io.input.UnsynchronizedBufferedReader from [Module "org.apache.commons.csv" version 1.12.0 from local module loader @7a560583 (finder: local module finder @4d722ac9 (roots: /opt/wildfly/modules,/opt/wildfly/modules/system/layers/base))]
        ... 76 more

This is my compose:
version: "3.5"
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.15.1
    environment:
      ES_JAVA_OPTS: -Xms1024m -Xmx1024m
      discovery.type: single-node
      xpack.security.enabled: "false"
    logging:
      driver: json-file
      options:
        max-size: "10m"
    ports:
      - target: 9200
        published: 9200
        protocol: tcp
        mode: host
      - target: 9300
        published: 9300
        protocol: tcp
        mode: host
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
      - /var/local/dcm4chee-arc/esdatadir:/usr/share/elasticsearch/data
    deploy:
      endpoint_mode: dnsrr
      placement:
        constraints: [node.hostname == elk-node]
  kibana:
    image: docker.elastic.co/kibana/kibana:8.15.1
    logging:
      driver: json-file
      options:
        max-size: "10m"
    ports:
      - target: 5601
        published: 5601
        protocol: tcp
        mode: host
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
    deploy:
      endpoint_mode: dnsrr
      placement:
        constraints: [node.hostname == elk-node]
  logstash:
    image: dcm4che/logstash-dcm4chee:8.15.1-18
    logging:
      driver: json-file
      options:
        max-size: "10m"
    ports:
      - target: 12201
        published: 12201
        protocol: udp
        mode: host
      - target: 8514
        published: 8514
        protocol: udp
        mode: host
      - target: 8514
        published: 8514
        protocol: tcp
        mode: host
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
      - /var/local/dcm4chee-arc/logstash/filter-hashtree:/usr/share/logstash/data/filter-hashtree
    deploy:
      endpoint_mode: dnsrr
      placement:
        constraints: [node.hostname == elk-node]
  ldap:
    image: dcm4che/slapd-dcm4chee:2.6.7-33.1
    logging:
      driver: gelf
      options:
        gelf-address: "udp://elk-node:12201"
        tag: ldap
    ports:
      - target: 389
        published: 389
        protocol: tcp
        mode: host
    environment:
      SYSLOG_HOST: logstash
      SYSLOG_PORT: 8514
      SYSLOG_PROTOCOL: TLS
      STORAGE_DIR: /storage/fs1
    volumes:
      - /var/local/dcm4chee-arc/ldap:/var/lib/openldap/openldap-data
      - /var/local/dcm4chee-arc/slapd.d:/etc/openldap/slapd.d
    deploy:
      endpoint_mode: dnsrr
      placement:
        constraints: [node.hostname == ldap-node]
  keycloak:
    image: dcm4che/keycloak:25.0.6
    logging:
      driver: gelf
      options:
        gelf-address: "udp://elk-node:12201"
        tag: keycloak
    ports:
      - target: 8843
        published: 8843
        protocol: tcp
        mode: host
    environment:
      KC_HTTPS_PORT: 8843
      KC_HOSTNAME: https://10.211.80.40:8843
      KC_HOSTNAME_BACKCHANNEL_DYNAMIC: 'false'
      KEYCLOAK_ADMIN: admin
      KEYCLOAK_ADMIN_PASSWORD: changeit
      KC_DB: mariadb
      KC_DB_URL_DATABASE: keycloak
      KC_DB_URL_HOST: kc-db-host
      KC_DB_USERNAME: keycloak
      KC_DB_PASSWORD: keycloak
      KC_LOG: file
      KC_LOG_GELF_HOST: logstash
      ARCHIVE_HOST: 10.211.80.40
      KIBANA_CLIENT_ID: kibana
      KIBANA_CLIENT_SECRET: 
      KIBANA_REDIRECT_URL: https://10.211.80.40:8643/oauth2/callback/*
      KEYCLOAK_WAIT_FOR: ldap:389 10.211.80.41:3306 logstash:8514
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
      - /var/local/dcm4chee-arc/keycloak:/opt/keycloak/data
    deploy:
      endpoint_mode: dnsrr
      placement:
        constraints: [node.hostname == app-node]
  oauth2-proxy:
    image: dcm4che/oauth2-proxy:7.7.1
    ports:
      - target: 8643
        published: 8643
        protocol: tcp
        mode: host
    environment:
      OAUTH2_PROXY_HTTPS_ADDRESS: 0.0.0.0:8643
      OAUTH2_PROXY_PROVIDER: keycloak-oidc
      OAUTH2_PROXY_SKIP_PROVIDER_BUTTON: "true"
      OAUTH2_PROXY_UPSTREAMS: "http://kibana:5601"
      OAUTH2_PROXY_OIDC_ISSUER_URL: "https://10.211.80.40:8843/realms/dcm4che"
      OAUTH2_PROXY_REDIRECT_URL: "https://10.211.80.40:8643/oauth2/callback"
      OAUTH2_PROXY_ALLOWED_ROLES: auditlog
      OAUTH2_PROXY_CLIENT_ID: kibana
      OAUTH2_PROXY_CLIENT_SECRET: changeit
      OAUTH2_PROXY_EMAIL_DOMAINS: "*"
      OAUTH2_PROXY_OIDC_EMAIL_CLAIM: "sub"
      OAUTH2_PROXY_INSECURE_OIDC_ALLOW_UNVERIFIED_EMAIL: "true"
      OAUTH2_PROXY_COOKIE_SECRET: 
      OAUTH2_PROXY_SSL_INSECURE_SKIP_VERIFY: "true"
      OAUTH2_PROXY_TLS_CERT_FILE: /etc/certs/cert.pem
      OAUTH2_PROXY_TLS_KEY_FILE: /etc/certs/key.pem
      OAUTH2_PROXY_CUSTOM_TEMPLATES_DIR: /templates
    deploy:
      endpoint_mode: dnsrr
      placement:
        constraints: [node.hostname == app-node]
  arc:
    image: dcm4che/dcm4chee-arc-psql:5.33.1-secure
    logging:
      driver: gelf
      options:
        gelf-address: "udp://elk-node:12201"
        tag: dcm4chee-arc
    ports:
      - target: 8080
        published: 8080
        protocol: tcp
        mode: host
      - target: 8443
        published: 8443
        protocol: tcp
        mode: host
      - target: 9990
        published: 9990
        protocol: tcp
        mode: host
      - target: 9993
        published: 9993
        protocol: tcp
        mode: host
      - target: 11112
        published: 11112
        protocol: tcp
        mode: host
      - target: 2762
        published: 2762
        protocol: tcp
        mode: host
      - target: 2575
        published: 2575
        protocol: tcp
        mode: host
      - target: 12575
        published: 12575
        protocol: tcp
        mode: host
    environment:
      LOGSTASH_HOST: logstash
      POSTGRES_HOST: arc-db-host
      POSTGRES_DB: pacsdb
      POSTGRES_USER: dcm4che
      POSTGRES_PASSWORD: dcm4che
      AUTH_SERVER_URL: https://keycloak:8843
      UI_AUTH_SERVER_URL: https://10.211.80.40:8843
      WILDFLY_CHOWN: /storage /storage1 /storage2 /storage3 /storage4 /opt/wildfly/standalone
      WILDFLY_WAIT_FOR: ldap:389 logstash:8514
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
      - /var/local/dcm4chee-arc/wildfly:/opt/wildfly/standalone
      - /var/local/dcm4chee-arc/storage:/storage
      - /storage1:/storage1
      - /storage2:/storage2
      - /storage3:/storage3
      - /storage4:/storage4
    deploy:
      endpoint_mode: dnsrr
      placement:
        constraints: [node.hostname == app-node]
Reply all
Reply to author
Forward
0 new messages