Error launching weasis from weasis-pacs-connector

2,483 views
Skip to first unread message

dcor...@gmail.com

unread,
Sep 15, 2016, 5:03:44 PM9/15/16
to dcm4che
Hello

I am having problems launching weasis via weasis-pacs-connector and dcm4chee. 
Please excuse the length of this message.
I wanted to be a specific as possible with my problem.

Dcm4chee and weasis were installed on a brand new Linux build from Nicolas Roudit's github page using the following files:
dcm4chee-mysql_2.18.3_all.deb
dcm4chee-weasis_2.0.7_all.deb

The system is:
Linux Mint 17.3 Cinnamon 64-bit
Cinnamon version 2.8.4
Linux Kernel 3.19.0-32-generic

The initial install worked fine.
I am able to add studies to the database.
I am able to log into dcm4chee-web3 interface using localhost and also from other computers on the LAN
I am able to view studies in Weasis when I launch through the dcm4chee-web3 interface from localhost and also from other computers on the LAN

I am NOT able to view studies using weasis when launching weasis-pacs-connector via

localhost:8080/weasis-pacs-connector/viewer?PatientID=xx

or via

IP_on_the_LAN:8080/weasis-pacs-connector/viewer?PatientID=xx


I have not changed the AET title from DCM4CHEE. 
The viewer.jnlp downloads normally
Weasis downloads and opens normally when the .jnlp file is opened.
After Weasis opens I get the following error:


The server.log below from the time I execute IP_on_the_LAN:8080/weasis-pacs-connector/viewer?PatientID=xx
to the time I get the error.

I dont know where the XML manifest is stored on the server to check if it is correct.
When I successfully open a study via the web3 interface it looks like the manifest is shown in the server log so I suspect the manifest is not being properly created but I dont know how to verify or correct this problem.
I had also installed Oviyam2.war into the server/default/deploy folder (also not working...) and had to sudo chmod o+w /server/default/deploy in order to do this.
After the copy I did chmod o-w /server/default/deploy
Could I have screwed up the permissions on this folder somehow and that is causing the problem?

Any suggestions or guidance would be greatly appreciated.
I know everyone is very busy.
I've spend about 2 days trying to figure out where the problem is but have hit a roadblock.
Many thanks in advance.

----

server.log:


2016-09-16 07:26:58,211 DEBUG -> (http-0.0.0.0-8080-14) [org.weasis.servlet.WeasisLauncher] logRequestInfo() - getRequestQueryURL: http://10.1.1.10:8080/weasis-pacs-connector/viewer?PatientID=92
2016-09-16 07:26:58,211 DEBUG -> (http-0.0.0.0-8080-14) [org.weasis.servlet.WeasisLauncher] logRequestInfo() - getContextPath: /weasis-pacs-connector
2016-09-16 07:26:58,211 DEBUG -> (http-0.0.0.0-8080-14) [org.weasis.servlet.WeasisLauncher] logRequestInfo() - getServletPath: /viewer
2016-09-16 07:26:58,211 DEBUG -> (http-0.0.0.0-8080-14) [org.weasis.servlet.ServletUtil] wadoQueryUrl = http://10.1.1.10:8080/weasis-pacs-connector/RequestManifest?id=9
2016-09-16 07:26:58,212 DEBUG -> (http-0.0.0.0-8080-14) [org.weasis.servlet.SLwebstart_launcher] logRequestInfo() - getRequestQueryURL: http://10.1.1.10:8080/weasis-pacs-connector/?cdb=http://10.1.1.10:8080/weasis&arg=$dicom:get -w http://10.1.1.10:8080/weasis-pacs-connector/RequestManifest?id=9
2016-09-16 07:26:58,212 DEBUG -> (http-0.0.0.0-8080-14) [org.weasis.servlet.SLwebstart_launcher] logRequestInfo() - getContextPath: /weasis-pacs-connector
2016-09-16 07:26:58,212 DEBUG -> (http-0.0.0.0-8080-14) [org.weasis.servlet.SLwebstart_launcher] logRequestInfo() - getServletPath: /
2016-09-16 07:26:58,212 DEBUG -> (http-0.0.0.0-8080-14) [org.weasis.servlet.SLwebstart_launcher] locateLauncherTemplate() - String templatePath = http://10.1.1.10:8080/weasis-pacs-connector
2016-09-16 07:26:58,212 DEBUG -> (http-0.0.0.0-8080-14) [org.weasis.servlet.SLwebstart_launcher] locateLauncherTemplate() - String templateFileName = weasis.jnlp
2016-09-16 07:26:58,212 DEBUG -> (http-0.0.0.0-8080-14) [org.weasis.servlet.SLwebstart_launcher] locateLauncherTemplate() - URL templateURL = file:/var/lib/dcm4chee/server/default/./tmp/deploy/tmp5599405785055081567weasis-pacs-connector-exp.war/weasis.jnlp
2016-09-16 07:26:58,212 DEBUG -> (http-0.0.0.0-8080-14) [org.weasis.servlet.SLwebstart_launcher] locateLauncherTemplate(HttpServletRequest) - String codeBasePath = http://10.1.1.10:8080/weasis
2016-09-16 07:26:58,212 DEBUG -> (http-0.0.0.0-8080-14) [org.weasis.servlet.SLwebstart_launcher] locateLauncherTemplate(HttpServletRequest) - String codeBaseExtPath = http://10.1.1.10:8080/weasis-ext
2016-09-16 07:26:58,215 DEBUG -> (http-0.0.0.0-8080-14) [org.weasis.servlet.SLwebstart_launcher] doGet() - launcherStr = [
<jnlp spec="1.6+" version="" codebase="http://10.1.1.10:8080/weasis">
  <information>
    <title>Weasis</title>
    <vendor>Weasis Team</vendor>
    <description>DICOM images viewer</description>
    <description kind="short">An application to visualize and analyze DICOM images.</description>
    <description kind="one-line">DICOM images viewer</description>
    <description kind="tooltip">Weasis</description>
  </information>
  <security>
    <all-permissions />
  </security>
  <resources>
    <!-- Requires Java SE 6 update 10 release for jnlp extension without codebase (substance.jnlp) -->
    <j2se version="1.6.0_10+" href="http://java.sun.com/products/autodl/j2se" initial-heap-size="128m" max-heap-size="512m" />
    <j2se version="1.6.0_10+" initial-heap-size="128m" max-heap-size="512m" />
    <jar href="http://10.1.1.10:8080/weasis/weasis-launcher.jar" main="true" />
    <!-- Optional library (Substance Look and feel, only since version 1.0.8). Requires the new Java Plug-in introduced in 
the Java SE 6 update 10 release.For previous JRE 6, substance.jnlp needs a static codebase URL -->
    <!-- Allows to get files in pack200 compression, only since Weasis 1.1.2 -->
    <property name="jnlp.packEnabled" value="true" />
    <!-- ================================================================================================================= -->
    <!-- Security Workaround. Add prefix "jnlp.weasis" for having a fully trusted application without signing jnlp (only since 
    <!-- Required parameter. Define the location of config.properties (the OSGI configuration and the list of plug-ins to install/start) -->
    <property name="jnlp.weasis.felix.config.properties" value="http://10.1.1.10:8080/weasis/conf/config.properties" />
    <!-- Optional parameter. Define the location of ext-config.properties (extend/override config.properties) -->
    <property name="jnlp.weasis.felix.extended.config.properties" value="http://10.1.1.10:8080/weasis-ext/conf/ext-config.properties" />
    <!-- Required parameter. Define the code base of Weasis for the JNLP -->
    <property name="jnlp.weasis.weasis.codebase.url" value="http://10.1.1.10:8080/weasis" />
    <!-- Optional parameter. Define the code base ext of Weasis for the JNLP -->
    <property name="jnlp.weasis.weasis.codebase.ext.url" value="http://10.1.1.10:8080/weasis-ext" />
    <!-- Required parameter. OSGI console parameter -->
    <property name="jnlp.weasis.gosh.args" value="-sc telnetd -p 17179 start" />
    <!-- Optional parameter. Allows to have the Weasis menu bar in the top bar on Mac OS X (works only with the native Aqua 
look and feel) -->
    <property name="jnlp.weasis.apple.laf.useScreenMenuBar" value="true" />
    <!-- Optional parameter. Allows to get plug-ins translations -->
    <property name="jnlp.weasis.weasis.i18n" value="http://10.1.1.10:8080/weasis/../weasis-i18n" />
    <!-- Optional Weasis Documentation -->
    <!-- <property name="jnlp.weasis.weasis.help.url" value="${cdb}/../weasis-doc" /> -->
  </resources>
  <application-desc main-class="org.weasis.launcher.WebstartLauncher">
  </application-desc>
</jnlp>
]
2016-09-16 07:27:09,545 DEBUG -> (http-0.0.0.0-8080-18) [org.weasis.servlet.RequestManifest] doGet [id=9] - START
2016-09-16 07:27:09,545 ERROR -> (http-0.0.0.0-8080-18) [org.weasis.servlet.RequestManifest] Building Manifest Exception [id=9] - java.util.concurrent.ExecutionException: WadoQueryException: No Patients List
2016-09-16 07:27:09,545 INFO  -> (http-0.0.0.0-8080-18) [org.weasis.servlet.RequestManifest] Consume ManifestBuilder with key=9

Nicolas Roduit

unread,
Sep 16, 2016, 2:22:33 AM9/16/16
to dcm4che
The log files shows that everything is OK but the patientID request returns an empty list of exams.

If it is working from the web interface you should be able to see the request in the log file. If you have activated the encryption of the parameters, all the IDs must also be encrypted from a direct request to weasis-pacs-connector.

dcor...@gmail.com

unread,
Sep 16, 2016, 8:23:32 PM9/16/16
to dcm4che
This is the request I see in the log when I activate weasis via the web3 interface:

2016-09-17 12:13:20,541 DEBUG -> (http-0.0.0.0-8080-14) [org.weasis.dicom.data.Patient] Patient toXml [<Patient PatientID="50" PatientName="50" PatientSex="F" >

The is the request when in the log when I activate via weasis-pacs-connector:

At least I think this is the request.


It does not look like encryption is on.  I actually don't know how to tell.
I did not modify any files after the install to see if encryption is on (i.e. I did not download weasis-connector-default.properties, make changes, and put it in server/defauly/conf.
Is encryption activated a part of the default install?
If it works from the web3 interface but not through weasis-pacs-connector/viewer  then where else might the problem be?

Thanks,

Dan

Nicolas Roduit

unread,
Sep 17, 2016, 3:07:03 AM9/17/16
to dcm4che
You're right, the request from web interface is different (the manifest is upload directly).

Encryption is off by default.

The issue should be in the DICOM association between PACS-CONNECTOR and DCM4CHEE (did you activate restriction for Q/R on a list of AETitle from JMX Console). In the log file above, we don't see any dcm4chee activities, within this time period it must have the DICOM query for the patient.

dcor...@gmail.com

unread,
Sep 17, 2016, 3:03:41 PM9/17/16
to dcm4che
I have not activated restriction for Q/R.
To be sure I checked in the JMX console under dcm4chee.archive   service=QueryRetrieveScp

UnrestrictedQueryPermissionsToAETitles is set to ANY

and

UnrestrictedReadPermissionsToAETitles is set to ANY

I have made no changes in JMX Console following installation.

dcor...@gmail.com

unread,
Sep 20, 2016, 5:37:00 PM9/20/16
to dcm4che
Embarassingly the problem has been solved.

The request should be


2016-09-16 07:26:58,211 DEBUG -> (http-0.0.0.0-8080-14) [org.weasis.servlet.WeasisLauncher] logRequestInfo() - getRequestQueryURL:http://10.1.1.10:8080/weasis-pacs-connector/viewer?patientID=92

with a lowercase "p"

1 week of troubleshooting for a syntax error.
Thanks all for your help.

ede obinna

unread,
Jun 3, 2019, 5:35:04 PM6/3/19
to dcm4che
Hello,

I had similar problem. Please how did you correct that "p" in patientID? Which file did you make the changes?

Regards

Ede

Augusto Santana

unread,
Jun 5, 2019, 2:12:38 PM6/5/19
to dcm4che
I had the same problem here, i´m my case the cause was that the patient´s name and/or the Study Description received latin characters (ç, ã, õ, é, ô).

Andres Caicedo

unread,
May 13, 2021, 8:54:32 PM5/13/21
to dcm4che
I hae the same problem. I made the same installation in another machine and it works in Centos 8

Andres Caicedo

unread,
May 13, 2021, 8:56:39 PM5/13/21
to dcm4che
I need to get the study not all of the patients studies

Marco Simonetti

unread,
Jan 19, 2023, 10:57:29 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
Reply all
Reply to author
Forward
0 new messages