Weasis not loading WADORS on MAC OS

366 views
Skip to first unread message

Felipe Salazar

unread,
Jul 29, 2020, 11:33:35 AM7/29/20
to dcm4che
Hello,

I've installed Weasis 3.6.0 on MAC OS, Linux (elementary Os), and Windows (8.1, 10). In linux and windows, I can open the weasis desktop app via xdg-open using the command in the browsers (Firefox, Chrome):

weasis://"$dicom:rs --url "${urlWadoRs}" -r "studyUID=${studyUid}" -H "Authorization: Basic ${basicAuthToken}"

It works like a charm on windows and linux using Chrome, or Firefox, but for some reason, it doesn't work on MAC OS (Firefox/Chrome). The url is HTTPS (a secured reverse proxy for DCM4CHEE ARC 5.21).

Expected behavior: On click, open new Weasis window with the study/serie using Basic Auth Token.
Current behavior: On click, a new Weasis window gets open (after accepting weasis in xdg-open window), but, study/serie never loads, is like it can't retrieve the necessary metada to start fetching from WADO RS, and just opens an empty Weasis window.

Haven't found a way to inspect logs on MAC OS, since I'm Windows/Linux user.

Hope someone can guide me on this.

Have a good day.



Felipe Salazar

unread,
Jul 29, 2020, 11:49:55 AM7/29/20
to dcm4che
After verifying server logs, I can see this on the MAC OS request:

2020-07-29 10:39:41,220 WARN  [org.dcm4chee.arc.audit.AuditService] (default task-242) Failed to spool Wado Retrieve for [StudyIUID=1.3.12.2.1107.5.1.4.74228.30000019081XXXXX]
: java.lang.ArrayIndexOutOfBoundsException: 0

Felipe Salazar

unread,
Jul 29, 2020, 12:22:30 PM7/29/20
to dcm4che
Well, after verifying, MAC OS (3.6) has different version from Linux (3.6.1, 3.5.4) and Windows (3.6.1) users, so gonna upgrade, MAC OS Weasis version native installer and test again.

Felipe Salazar

unread,
Jul 29, 2020, 1:05:00 PM7/29/20
to dcm4che
After upgrading, it is still not loading, I can see in the reverse proxy a 200 OK response, meaning, credentials are ok:

X.X.X.X - QiwbG80DX6 [29/Jul/2020:11:58:40 -0500] "GET /rs/studies/1.2.392.200036.9107.307.12606.1112606191Z/series?includefield=0008103E,00080060,0020000E,00200011,00081190 HTTP/1.1" 200 663 "-" "Weasis/3.6.1 (Windows 10; 10.0; amd64) Java/15-ea"

The strange thing is, 3.6.1 is not working on windows neither. Pulling of my hair now >:D, gonna try to trace requests, to verify is not network issue, but, on the PCs it was tested, thr URL is accesible via browsers (Chrome, Firefox).

Nicolas Roduit

unread,
Jul 29, 2020, 1:45:40 PM7/29/20
to dcm4che

Felipe Salazar

unread,
Jul 29, 2020, 2:20:21 PM7/29/20
to dcm4che
Thank you for you answer Nicolas, after inspecting network packets (wireshark), found this:

My reverse proxy IP that is in front of the PACS is 192.168.98.142
My PACS IP address (DCM4CHEE ARC 5.21) is 192.168.98.141

The issue:

I can see that Weasis, requests the series metada of the study with something like:

2020-07-29 12:56:14,447 INFO  [org.dcm4chee.arc.qido.QidoRS] (default task-300) Process GET /dcm4chee-arc/aets/DCM4CHEE/rs/series?0020000E=X&includefield=00080020,00080030,00080050,00080061,00080090,00081030,00100010,00100020,00100021,00100030,00100040,0020000D,00200010,0008103E,00080060,00081190,00200011 from nu...@192.168.98.142

It's ok, and in the JSON answer I find this:

[{"00080005":{"vr":"CS","Value":["ISO_IR 100"]},"00080020":{"vr":"DA","Value":["20190811"]},"00080030":{"vr":"TM","Value":["134530.147000"]},"00080050":{"vr":"SH"},"00080054":{"vr":"AE","Value":["DCM4CHEELT1"]},"00080056":{"vr":"CS","Value":["ONLINE"]},"00080060":{"vr":"CS","Value":["CT"]},"00080061":{"vr":"CS","Value":["CT"]},"00080090":{"vr":"PN"},"00081030":{"vr":"LO","Value":["Abdomen^TX_ABDOMEN_CC_SAFIRE (Adulto)"]},"0008103E":{"vr":"LO","Value":["<MPR Rango>"]},"00081190":{"vr":"UR","Value":["http://192.168.98.141:8080/dcm4chee-arc/aets/DCM4CHEE/rs/studies/X/series/Y"]},"00100010":{"vr":"PN","Value":[{"Alphabetic":"DUMMY DUMMY"}]},"00100020":{"vr":"LO","Value":["1737740"]},"00100030":{"vr":"DA","Value":["19610906"]},"00100040":{"vr":"CS","Value":["M"]},"0020000D":{"vr":"UI","Value":["Y1"]},"0020000E":{"vr":"UI","Value":["Y2"]},"00200010":{"vr":"SH","Value":["1"]},"00200011":{"vr":"IS","Value":[605]},"00201206":{"vr":"IS","Value":[8]},"00201208":{"vr":"IS","Value":[1623]},"00201209":{"vr":"IS","Value":[50]}}]

So the next request, goes to the PACS server, no to the REVERSE PROXY server, and, the PACS server is restricted to certain IPs (the linux and windows), not for public use (where I did the MAC OS test), so, it fails hard trying to retrieve.

After disabling firewall on PACS server, finally I can retrieve the studies:

2020-07-29 12:56:15,078 INFO  [org.dcm4chee.arc.wado.WadoRS] (default task-300) Process GET /dcm4chee-arc/aets/DCM4CHEE/rs/studies/X/series/Y/instances/Z?null from nu...@192.168.74.212 <- client ip

But this is not the desired scenario, I need the reverse proxy in front of the PACS server because there is where I have my security scheme. For the moment I will try to change the base url for WADO in DCM4CHEE, and will try again in MAC OS. Weasis is working as expected under this circumstances at the moment.

After solving this, will post you the result of trying with MAC OS.

Thank you very much Nicolas.

Felipe Salazar

unread,
Jul 30, 2020, 12:40:31 PM7/30/20
to dcm4che
Nicolas,

All other problems where solved, now is working from any ip address in Windows and Linux, but still showing nothing in MAC OS.

These are the logs. The first is with the orthanc demo launch, and the second is mine:

=================================================================

29.07.2020 10:19:25.413 *INFO* [main] org.weasis.launcher.ConfigData: Starting Weasis...
29.07.2020 10:19:25.748 *INFO* [main] org.weasis.launcher.ConfigData: Initialization of the launch configuration...
29.07.2020 10:19:25.749 *INFO* [main] org.weasis.launcher.ConfigData: Main arg 0 = weasis://%24dicom%3Ars%20--url%20%22https%3A%2F%2Fdemo.orthanc-server.com%2Fdicom-web%22%20-r%20%22patientID%3D5Yp0E%22%20--accept-ext%3D%22%3B%22
29.07.2020 10:19:25.976 *CONFIG* [main] org.weasis.launcher.Singleton: Local port of the Singleton server: 59.760
29.07.2020 10:19:26.027 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of locale.lang.code = en
29.07.2020 10:19:26.027 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of locale.format.code = system
29.07.2020 10:19:26.028 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.level = INFO
29.07.2020 10:19:26.028 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.file.activate = false
29.07.2020 10:19:26.028 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.file.number = 5
29.07.2020 10:19:26.028 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.file.size = 10MB
29.07.2020 10:19:26.029 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.stack.limit = 3
29.07.2020 10:19:26.029 *CONFIG* [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}
29.07.2020 10:19:30.607 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of weasis.show.disclaimer = true
29.07.2020 10:19:30.608 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of weasis.show.release = true
29.07.2020 10:19:30.623 *INFO* [main] org.weasis.launcher.WeasisLauncher: 
***** Configuration *****
  Last running version = 3.6.0
  Current version = 3.6.0
  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 = tic
  User home directory = /Users/tic/.weasis
  Resources path = /Applications/Weasis.app/Contents/app/resources
  Preferences directory = /Users/tic/.weasis/preferences/tic/default
  Look and Feel = com.apple.laf.AquaLookAndFeel
  Languages path = file:/Applications/Weasis.app/Contents/app/bundle-i18n/
  Languages available = en,ar,az_AZ,bs_BA,bg_BG,zh_CN,zh_TW,hr_HR,cs,fr,ka,de,el,hu_HU,it,ja,ko,ms_MY,fa,pl_PL,pt,pt_BR,ro,ru_RU,sr_RS,sk_SK,es,sv,tr,uk,vi,vi_VN
  OSGI native specs = macosx-x86-64
  HTTP user agent = Weasis/3.6.0 (Mac OS X; 10.13.6; x86_64)
  Operating system = Mac OS X 10.13.6 x86_64
  Java vendor = N/A
  Java version = 15-internal
  Java Path = /Applications/Weasis.app/Contents/runtime/Contents/Home
  Java max memory (less survivor space) = 4.0 GiB
***** End of Configuration *****
29.07.2020 10:19:30.647 *INFO* [main] org.weasis.launcher.WeasisLauncher: 
Starting OSGI Bundles...

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

29.07.2020 10:19:32.668 *INFO* [FelixStartLevel] org.opencv.osgi: Successfully loaded OpenCV native library.
30.07.2020 11:07:09.726 *INFO* [main] org.weasis.launcher.ConfigData: Starting Weasis...
30.07.2020 11:07:09.810 *INFO* [main] org.weasis.launcher.ConfigData: Initialization of the launch configuration...
30.07.2020 11:07:09.867 *CONFIG* [main] org.weasis.launcher.Singleton: Local port of the Singleton server: 49.482
30.07.2020 11:07:09.874 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of locale.lang.code = en
30.07.2020 11:07:09.874 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of locale.format.code = es_EC
30.07.2020 11:07:09.875 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.level = TRACE
30.07.2020 11:07:09.875 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.file.activate = false
30.07.2020 11:07:09.875 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.file.number = 5
30.07.2020 11:07:09.876 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.file.size = 10MB
30.07.2020 11:07:09.876 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.stack.limit = 10
30.07.2020 11:07:09.876 *CONFIG* [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}
30.07.2020 11:07:12.121 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of weasis.show.disclaimer = true
30.07.2020 11:07:12.121 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of weasis.show.release = true
30.07.2020 11:07:12.124 *INFO* [main] org.weasis.launcher.WeasisLauncher: 
***** Configuration *****
  Last running version = 3.6.1
  Current version = 3.6.1
  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 = tic
  User home directory = /Users/tic/.weasis
  Resources path = /Applications/Weasis.app/Contents/app/resources
  Preferences directory = /Users/tic/.weasis/preferences/tic/default
  Look and Feel = com.apple.laf.AquaLookAndFeel
  Languages path = file:/Applications/Weasis.app/Contents/app/bundle-i18n/
  Languages available = en,ar,bs_BA,bg_BG,zh_CN,zh_TW,hr_HR,cs,fr,de,el,hu_HU,it,ja,ko,ms_MY,pl_PL,pt,pt_BR,ro,ru_RU,sr_RS,sk_SK,es,sv,tr,uk,vi,vi_VN
  OSGI native specs = macosx-x86-64
  HTTP user agent = Weasis/3.6.1 (Mac OS X; 10.13.6; x86_64)
  Operating system = Mac OS X 10.13.6 x86_64
  Java vendor = N/A
  Java version = 15-internal
  Java Path = /Applications/Weasis.app/Contents/runtime/Contents/Home
  Java max memory (less survivor space) = 4.0 GiB
***** End of Configuration *****
30.07.2020 11:07:12.126 *INFO* [main] org.weasis.launcher.WeasisLauncher: 
Starting OSGI Bundles...

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

30.07.2020 11:07:12.658 *INFO* [FelixStartLevel] org.opencv.osgi: Successfully loaded OpenCV native library.

=================================================================

The main difference between the 2 executions it that I'm using Basic Auth, but it is not problem on linux and windows. These are Linux logs:

=================================================================

30.07.2020 10:51:55.155 *INFO* [main] org.weasis.launcher.ConfigData: Starting Weasis...
30.07.2020 10:51:55.228 *INFO* [main] org.weasis.launcher.ConfigData: Initialization of the launch configuration...
30.07.2020 10:51:55.228 *INFO* [main] org.weasis.launcher.ConfigData: Main arg 0 = weasis://"$dicom:rs --url "https://mysuperpacs.dummy.com/pacs/weasis/lt1/rs/" -r "seriesUID=1.3.12.2.1107.5.1.4.74228.30000019081112054232400032595" -H "Authorization: Basic aFdFeFVDejFvejoxMk9MNDEzVDlj"
30.07.2020 10:51:55.268 *CONFIG* [main] org.weasis.launcher.Singleton: Local port of the Singleton server: 37,617
30.07.2020 10:51:55.272 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of locale.lang.code = en
30.07.2020 10:51:55.273 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of locale.format.code = en_US
30.07.2020 10:51:55.273 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.level = DEBUG
30.07.2020 10:51:55.273 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.file.activate = true
30.07.2020 10:51:55.273 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.file.number = 5
30.07.2020 10:51:55.274 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.file.size = 32MB
30.07.2020 10:51:55.274 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of org.apache.sling.commons.log.stack.limit = 3
30.07.2020 10:51:55.274 *CONFIG* [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}
30.07.2020 10:51:55.380 *CONFIG* [main] sun.awt.X11.backingStore.XToolkit: The system property sun.awt.backingStore is not set, by default backingStore=NotUseful
30.07.2020 10:51:55.993 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of weasis.show.disclaimer = true
30.07.2020 10:51:55.993 *CONFIG* [main] org.weasis.launcher.WeasisLauncher: Config of weasis.show.release = true
30.07.2020 10:51:55.997 *INFO* [main] org.weasis.launcher.WeasisLauncher: 
***** Configuration *****
  Last running version = 3.6.1
  Current version = 3.6.1
  Application name = Weasis
  Application Source ID = 45D86FE2
  Application Profile = default
  Application local codebase = /opt/weasis/lib/app
  Application codebase URL = file:/opt/weasis/lib/app
  Application configuration file = file:/opt/weasis/lib/app/conf/config.properties
  Application extension configuration file = file:/opt/weasis/lib/app/conf/ext-config.properties
  User = felipe
  User home directory = /home/felipe/.weasis
  Resources path = /opt/weasis/lib/app/resources
  Preferences directory = /home/felipe/.weasis/preferences/felipe/default
  Look and Feel = org.pushingpixels.substance.api.skin.SubstanceTwilightLookAndFeel
  Languages path = file:/opt/weasis/lib/app/bundle-i18n/
  Languages available = en,ar,bs_BA,bg_BG,zh_CN,zh_TW,hr_HR,cs,fr,de,el,hu_HU,it,ja,ko,ms_MY,pl_PL,pt,pt_BR,ro,ru_RU,sr_RS,sk_SK,es,sv,tr,uk,vi,vi_VN
  OSGI native specs = linux-x86-64
  HTTP user agent = Weasis/3.6.1 (Linux; 4.8.0-52-generic; amd64)
  Operating system = Linux 4.8.0-52-generic amd64
  Java vendor = Oracle Corporation
  Java version = 15-ea
  Java Path = /opt/weasis/lib/runtime
  Java max memory (less survivor space) = 3.9 GiB
***** End of Configuration *****
30.07.2020 10:51:56.003 *INFO* [main] org.weasis.launcher.WeasisLauncher: 
Starting OSGI Bundles...

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

30.07.2020 10:51:56.577 *INFO* [FelixStartLevel] org.opencv.osgi: Successfully loaded OpenCV native library.
30.07.2020 10:51:58.168 *INFO* [main] org.weasis.launcher.WeasisLauncher: Logs has been delegated to the OSGI service and can be read in /home/felipe/.weasis/log/default.log

=================================================================

And well on default.log, a big log about how is loading DICOM, but at the moment, in linux and windows is working nice!

Hope someone can guide me to get it working con MAC OS.

Have a good day.


El miércoles, 29 de julio de 2020, 12:45:40 (UTC-5), Nicolas Roduit escribió:

Nicolas Roduit

unread,
Jul 30, 2020, 1:03:49 PM7/30/20
to dcm4che
I just tried on Mac OS 10.15.5 and I can load your example in Chrome or in command line: open weasis://%24dicom%3Ars%20--url%20%22https%3A%2F%2Fdemo.orthanc-server.com%2Fdicom-web%22%20-r%20%22patientID%3D5Yp0E%22%20--accept-ext%3D%22%3B%22

Providing the error messages in default.log on mac should help.

Felipe Salazar

unread,
Jul 30, 2020, 1:15:28 PM7/30/20
to dcm4che
I'm really sorry, after splashing my head in the desk, I've noticed the evident: 

THE CALLING URL IS MAL FORMED (encoded/not encoded).

For some reason, some special characters get encoded, and others don't, but this mixture is the failure. After encoding in the right way, all worked like a charm!.

Thanks for your support.

Felipe Salazar

unread,
Jul 30, 2020, 1:16:58 PM7/30/20
to dcm4che
I'm really sorry Nicolas, after splashing my head in the desk, I've noticed the evident: 

THE CALLING URL IS MAL FORMED (encoded/not encoded).

For some reason, some special characters get encoded, and others don't, but this mixture is the failure. After encoding in the right way, all worked like a charm!.

Thanks for your support.

Salifu Njidda

unread,
Apr 1, 2024, 5:53:46 AMApr 1
to dcm4che
Hello, I am deployed dc4chee to a server and configured to view my dicom images  using weasis. On windows and Linux(Ubuntu) i just installed the weasis locally and on the server when i click on the view dicom study sample the weasis can open and view it. On macOS machine i have done procedure but i can not view it as on the other systems.
But when i try to open the weasis locally on the mac i can now open a dicom file within. I am unsure why it is not the case with the server as on windows and the linux 
Reply all
Reply to author
Forward
0 new messages