dcm4chee-arc & weasis-pacs-connector.war

282 views
Skip to first unread message

Marco Simonetti

unread,
Jan 19, 2023, 11:19:53 AM1/19/23
to dcm4che
Good morning everyone
could you help me?
I need to know the correct format of weasis string for dcm4chee-arc 5.29.1 version?
when i launch also through firefox browser the url:
MyIP:8080/weasis-pacs-connector/weasis?PatientID=XXXXX
start weasis installed on the PC but it gives me back: "Failed to launch JVM"

I tried to run:
MyIP:8080/weasis-pacs-connector/
and the error is:
com.sun.deploy.net.FailedDownloadException: Failed to load resource: http://MyIP:8080/weasis-pacs-connector/weasis-launcher.jar

I configured ApplicationWeb on dcm4chee-arc/ui2:
IID_PATIENT_URL=weasis://$dicom:rs --url "{{MyIP:8080}}{{qidoBasePath}}" -r "patientID={{patientID}}" --query-ext "&includedefaults=false" -H
IID_STUDY_URL=weasis://$dicom:rs --url "{{MyIP:8080}}{{qidoBasePath}}" -r "studyUID={{studyUID}}" --query-ext "&includedefaults=false" -H
IID_URL_TARGET=_self
So when I open MyIP:8080/dcm4chee-arc/ui2 and select a patient the viewer symbol appears. when i launch it it opens correctly but its empty.

what can I do?
thankyou

Nicolas Roduit

unread,
Jan 20, 2023, 5:06:33 AM1/20/23
to dcm4che
If Weasis starts, check the logs first.

Marco Simonetti

unread,
Jan 22, 2023, 12:53:49 PM1/22/23
to dcm4che
Dear Nicolas,
Thanks so much and sorry for the delay in responding.
I followed all your instructions and here is the LOG:

22.01.2023 18:45:36.392 *SEVERE* [main] org.weasis.launcher.WeasisLauncher: Cannot read properties file: http://MyIP:8080/weasis/conf/config.properties
java.io.FileNotFoundException: http://MyIP:8080/weasis/conf/config.properties
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    at org.weasis.launcher.WeasisLauncher.readProperties(WeasisLauncher.java:659)
    at org.weasis.launcher.ConfigData.loadConfigProperties(ConfigData.java:636)
    at org.weasis.launcher.ConfigData.init(ConfigData.java:126)
    at org.weasis.launcher.ConfigData.<init>(ConfigData.java:84)
    at org.weasis.launcher.AppLauncher.main(AppLauncher.java:38)
22.01.2023 18:45:36.406 *SEVERE* [main] org.weasis.launcher.WeasisLauncher: Cannot read properties file: http://MyIP:8080/weasis-ext/conf/ext-config.properties
java.io.FileNotFoundException: http://MyIP:8080/weasis-ext/conf/ext-config.properties
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    at org.weasis.launcher.WeasisLauncher.readProperties(WeasisLauncher.java:659)
    at org.weasis.launcher.ConfigData.loadConfigProperties(ConfigData.java:647)
    at org.weasis.launcher.ConfigData.init(ConfigData.java:126)
    at org.weasis.launcher.ConfigData.<init>(ConfigData.java:84)
    at org.weasis.launcher.AppLauncher.main(AppLauncher.java:38)


It seems to be a problem with the config.properties file (cannot read.. shouldn't that be the default? I haven't changed anything). What can I do?
thanks again

Nicolas Roduit

unread,
Jan 22, 2023, 3:07:34 PM1/22/23
to dcm4che
Those resources don't exist. From the documentation (point 5) => Add &cdb to the URL if weasis.war has not been deployed on the server-side

Marco Simonetti

unread,
Jan 22, 2023, 4:31:03 PM1/22/23
to dcm4che
Thanks again, I inserted "&cdb" but weasis doesn't load any images.
IID_STUDY_URL=weasis://$dicom:rs --url "{{http://MyIP:8080}}{{qidoBasePath}}" -r "studyUID={{studyUID}}"&cdb --query-ext "&includedefaults=false" -H
I don't understand what else could it be?

Nicolas Roduit

unread,
Jan 23, 2023, 1:20:53 AM1/23/23
to dcm4che
There are 2 methods of integration:
1. Direct URI. Easier to configure. Opens Weasis directly.
2. With PACS connector. Allows to update minor versions of Weasis. Runs queries in parallel with the launching.

I was answering the 2nd method according to the log. You don't need to add this parameter for the 1st method.

In unsecured mode, the URI should look like this:
IID_STUDY_URL=weasis://$dicom:rs --url "http://MyIP:8080{{qidoBasePath}}" -r "studyUID={{studyUID}}" --query-ext "&includedefaults=false"

If it doesn't work, look again the log file.

Marco Simonetti

unread,
Jan 23, 2023, 6:18:47 AM1/23/23
to dcm4che

Thanks again for your support..
I tried to implement both methods but now.. I will focus on the simpler one, without pacs.connector .
here are the configuration strings:
1) IID_PATIENT_URL=weasis://$dicom:rs --url “http://192.168.1.6:8080{{qidoBasePath}}" -r "patientID={{patientID}}" --query-ext "&includedefaults=false"
2) IID_STUDY_URL=weasis://$dicom:rs --url “http://192.168.1.6:8080{{qidoBasePath}}" -r "studyUID={{studyUID}}" --query-ext "&includedefaults=false"
3) IID_URL_TARGET=_self

on the link:
https://nroduit.github.io/en/basics/customize/integration/#download-directly-with-dicomweb-restful-services
I read that there were 4 configuration strings but then they are, actually, only 3.

and here are the debug-report:

23.01.2023 11:37:01.352 *INFO* [main] org.weasis.launcher.ConfigData: Starting Weasis...
23.01.2023 11:37:01.847 *INFO* [main] org.weasis.launcher.ConfigData: Initialization of the launch configuration...
23.01.2023 11:37:01.848 *INFO* [main] org.weasis.launcher.ConfigData: Main arg 0 = weasis://:rs%20--url%20%E2%80%9Chttp://192.168.1.6:8080/dcm4chee-arc/aets/DCM4CHEE/rs%22%20-r%20%22patientID=8787%5E%5E%5EDCM4CHEE.61BC3666.0BA79B29%22%20--query-ext%20%22
23.01.2023 11:37:01.981 *INFO* [main] org.weasis.launcher.ConfigData: Properties: {weasis.user=marco, weasis.name=Weasis, weasis.version=4.0.3, weasis.config.hash=-1663154439, weasis.path=/Users/marco/.weasis, weasis.launch.type=NATIVE, weasis.codebase.url=file:/Applications/Weasis.app/Contents/app, weasis.pref.local.session=true, weasis.codebase.local=/Applications/Weasis.app/Contents/app, felix.extended.config.properties=file:/Applications/Weasis.app/Contents/app/conf/ext-config.properties, felix.config.properties=file:/Applications/Weasis.app/Contents/app/conf/config.properties, weasis.source.id=419B40DE, weasis.profile=default, http.agent=Weasis/4.0.3 (Mac OS X; 12.6.2; x86_64; pf:default; rv:4.0.3) Java/19.0.1}
23.01.2023 11:37:02.216 *INFO* [main] org.weasis.launcher.Singleton: Local port of the Singleton server: 53.285
23.01.2023 11:37:02.285 *INFO* [main] org.weasis.launcher.WeasisLauncher: Config of locale.lang.code = en
23.01.2023 11:37:02.285 *INFO* [main] org.weasis.launcher.WeasisLauncher: Config of locale.format.code = it_IT
23.01.2023 11:37:02.286 *INFO* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.level = DEBUG
23.01.2023 11:37:02.286 *INFO* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.file.activate = true
23.01.2023 11:37:02.287 *INFO* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.file.number = 5
23.01.2023 11:37:02.287 *INFO* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.file.size = 10MB
23.01.2023 11:37:02.287 *INFO* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.stack.limit = -1
23.01.2023 11:37:02.288 *INFO* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.pattern = {0,date,dd.MM.yyyy HH:mm:ss.SSS} *{4}* [{2}] {3}: {5}
23.01.2023 11:37:02.962 *INFO* [main] org.weasis.launcher.WeasisLauncher: Config of flatlaf.uiScale = -1
23.01.2023 11:37:06.473 *INFO* [main] org.weasis.launcher.WeasisLauncher: Config of weasis.show.disclaimer = true
23.01.2023 11:37:06.474 *INFO* [main] org.weasis.launcher.WeasisLauncher: Config of weasis.show.release = true
23.01.2023 11:37:06.490 *INFO* [main] org.weasis.launcher.WeasisLauncher:
***** Configuration *****
  Last running version = 4.0.3
  Current version = 4.0.3
  Application name = Weasis
  Application Source ID = 419B40DE
  Application Profile = default
  Application local codebase = /Applications/Weasis.app/Contents/app
  Application codebase URL = file:/Applications/Weasis.app/Contents/app
  Application configuration file = file:/Applications/Weasis.app/Contents/app/conf/config.properties
  Application extension configuration file = file:/Applications/Weasis.app/Contents/app/conf/ext-config.properties
  User = marco
  User home directory = /Users/marco/.weasis
  Resources path = /Applications/Weasis.app/Contents/app/resources
  Preferences directory = /Users/marco/.weasis/preferences/marco/default
  Look and Feel = org.weasis.launcher.FlatWeasisTheme
  Languages path = file:/Applications/Weasis.app/Contents/app/bundle-i18n/
  Languages available = en,ar,bg_BG,bs_BA,cs,de,el,es,fa,fr,hr_HR,hu_HU,it,ja,ko,ms_MY,pl_PL,pt,pt_BR,ro,ru_RU,si,sk_SK,sr_RS,sv,tr,uk,vi,vi_VN,zh_CN,zh-Hans,zh_TW
  OSGI native specs = macosx-x86-64
  HTTP user agent = Weasis/4.0.3 (Mac OS X; 12.6.2; x86_64; pf:default; rv:4.0.3) Java/19.0.1
  Operating system = Mac OS X 12.6.2 x86_64
  Java vendor = Eclipse Adoptium
  Java version = 19.0.1
  Java Path = /Applications/Weasis.app/Contents/runtime/Contents/Home
  Java max memory (less survivor space) = 1.0 GiB
***** End of Configuration *****
23.01.2023 11:37:06.494 *INFO* [main] org.weasis.launcher.WeasisLauncher:
Starting OSGI Bundles...

         | | /| / /__ ___ ____ (_)__
         | |/ |/ / -_) _ `(_-</ (_-<
         |__/|__/\__/\_,_/___/_/___/

23.01.2023 11:37:08.519 *INFO* [FelixStartLevel] org.opencv.osgi: Successfully loaded OpenCV native library.
23.01.2023 11:37:12.707 *INFO* [main] org.weasis.launcher.WeasisLauncher: Logs has been delegated to the OSGI service and can be read in /Users/marco/.weasis/log/default.log


Weasis starts correctly but doesn't load images.
if I manually open the patient from File/Dicom.. etc : it loads the images without problems.
What am I doing wrong?

Nicolas Roduit

unread,
Jan 23, 2023, 11:06:29 AM1/23/23
to dcm4che
The URL has been cut. There is a bit missing at the beginning and at the end. Could it be an encoding problem?

> :rs%20--url%20%E2%80%9Chttp://192.168.1.6:8080/dcm4chee-arc/aets/DCM4CHEE/rs%22%20-r%20%22patientID=8787%5E%5E%5EDCM4CHEE.61BC3666.0BA79B29%22%20--query-ext%20%22
Decoding this URL:
:rs --url “http://192.168.1.6:8080/dcm4chee-arc/aets/DCM4CHEE/rs" -r "patientID=8787^^^DCM4CHEE.61BC3666.0BA79B29" --query-ext "

It should be:
$dicom:rs --url “http://192.168.1.6:8080dcm4chee-arc/aets/DCM4CHEE/rs" -r "patientID=8787^^^DCM4CHEE.61BC3666.0BA79B29" --query-ext "&includedefaults=false"

Marco Simonetti

unread,
Jan 24, 2023, 5:31:44 AM1/24/23
to dcm4che
Thanks Nicolas
what can i do to fix this problem?

Nicolas Roduit

unread,
Jan 24, 2023, 1:57:34 PM1/24/23
to dcm4che
I've never heard about a similar issue. Have you verified the configuration of properties from the left menu Configuration > Devices > dcm4chee-arc > Extensions > Edit extension > Child Objects > Web Applications > DCM4CHEE

Marco Simonetti

unread,
Jan 24, 2023, 4:18:24 PM1/24/23
to dcm4che
it seems to me that everything is correct also because I haven't changed anything except the property settings that I sent you. on the link it says that they had to be 4 strings and instead they are 3... how come?

Nicolas Roduit

unread,
Jan 25, 2023, 10:01:10 AM1/25/23
to dcm4che
The configuration is not correct. You have added unconventional quotes just before http:

> weasis://$dicom:rs --url http://192.168.1.6:8080{{qidoBasePath}}" -r "patientID={{patientID}}" --query-ext "&includedefaults=false"

Marco Simonetti

unread,
Jan 25, 2023, 11:39:48 AM1/25/23
to dcm4che
you were great, now it works great!
I wouldn't get there... I thought I followed the instructions.. :-((
Thank you very much
SUPER

Marco Simonetti

unread,
Feb 20, 2023, 3:47:13 AM2/20/23
to dcm4che
Dear Nicolas,
I don't know what could have happened but from today I have this error:

Failed to execute command 'export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin; export LANG=C.UTF-8; export LANGUAGE=; docker-compose --file '/DOCKER//dcm-compose/dcm-compose.yml' --env-file '/DOCKER//dcm-compose/dcm-compose.env' up -d 2>&1':  Network dcm-compose_default  Creating
 Network dcm-compose_default  Created
 Container dcm-compose-ui-1  Creating
 Container dcm-compose-ldap-1  Creating
 Container dcm-compose-db-1  Creating
 Container dcm-compose-ui-1  Created
 Container dcm-compose-db-1  Created
 Container dcm-compose-ldap-1  Created
 Container dcm-compose-arc-1  Creating
 Container dcm-compose-arc-1  Created
 Container dcm-compose-ui-1  Starting
 Container dcm-compose-ldap-1  Starting
 Container dcm-compose-db-1  Starting
Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: unable to apply apparmor profile: apparmor failed to apply profile: write /proc/self/attr/apparmor/exec: no such file or directory: unknown

OMV\ExecException: Failed to execute command 'export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin; export LANG=C.UTF-8; export LANGUAGE=; docker-compose --file '/DOCKER//dcm-compose/dcm-compose.yml' --env-file '/DOCKER//dcm-compose/dcm-compose.env' up -d 2>&1':  Network dcm-compose_default  Creating
 Network dcm-compose_default  Created
 Container dcm-compose-ui-1  Creating
 Container dcm-compose-ldap-1  Creating
 Container dcm-compose-db-1  Creating
 Container dcm-compose-ui-1  Created
 Container dcm-compose-db-1  Created
 Container dcm-compose-ldap-1  Created
 Container dcm-compose-arc-1  Creating
 Container dcm-compose-arc-1  Created
 Container dcm-compose-ui-1  Starting
 Container dcm-compose-ldap-1  Starting
 Container dcm-compose-db-1  Starting
Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: unable to apply apparmor profile: apparmor failed to apply profile: write /proc/self/attr/apparmor/exec: no such file or directory: unknown in /usr/share/openmediavault/engined/rpc/compose.inc:330
Stack trace:
#0 /usr/share/php/openmediavault/rpc/serviceabstract.inc(619): OMVRpcServiceCompose->{closure}('/tmp/bgstatusCH...', '/tmp/bgoutputqa...')
#1 /usr/share/openmediavault/engined/rpc/compose.inc(333): OMV\Rpc\ServiceAbstract->execBgProc(Object(Closure))
#2 [internal function]: OMVRpcServiceCompose->doCommand(Array, Array)
#3 /usr/share/php/openmediavault/rpc/serviceabstract.inc(123): call_user_func_array(Array, Array)
#4 /usr/share/php/openmediavault/rpc/rpc.inc(86): OMV\Rpc\ServiceAbstract->callMethod('doCommand', Array, Array)
#5 /usr/sbin/omv-engined(537): OMV\Rpc\Rpc::call('Compose', 'doCommand', Array, Array, 1)
#6 {main}

What may have happened?

Thanks
Reply all
Reply to author
Forward
0 new messages