Hi Marcel,
It's still doesn't work for me and I don't see why so I'm going to describe you my context :
My main error is that my own web application which use conquest mainly for PACS protocol, generate it's own jnlp file and wado query for weasis. This works because I use the "DirectDownloadFile" option in the wado and I give an url for the dicom files.
Since I want to use stream compression for dicom with dgate, I need to use dgate query to retrieve the image.
So I removed the "DirectDownloadFile" mode and also add the "overrideDicomTagsList" : "0x00000000" option as you mention in an another post.
Weasis is launching well and download all DicomObjects from dgate but I have a java.io.EOFException
11.12.2013 16:31:33.332 *INFO* [pool-1-thread-1] org.weasis.dicom.explorer.wado.DownloadManager Downloading WADO references: http://<my_external_ip>/media/weasis_data/5a7952e02228abb206365d796f76108b/wado/wado_query_1.2.392.200036.9125.1.58730.33930.20120129.94545.17_20131211.xmlCacheEntry[http://<my_external_ip>/media/weasis_data/5a7952e02228abb206365d796f76108b/wado/wado_query_1.2.392.200036.9125.1.58730.33930.20120129.94545.17_20131211.xml]: updateAvailable=true,lastModified=Wed Dec 11 13:07:19 CET 2013,length=79011.12.2013 16:31:33.474 *INFO* [pool-1-thread-1] org.weasis.dicom.explorer.wado.DownloadManager [Validate with XSD schema] wado_query is valid11.12.2013 16:31:33.491 *INFO* [pool-1-thread-1] org.weasis.dicom.explorer.wado.DownloadManager Adding new patient: PATIENT NAME11.12.2013 16:31:33.502 *INFO* [pool-2-thread-1] org.weasis.dicom.explorer.wado.LoadSeries Downloading series of PATIENT NAME [1.2.392.200036.9125.3.481999152236.64672508865.21803296]11.12.2013 16:31:33.580 *INFO* [AWT-EventQueue-2] org.weasis.dicom.explorer.DicomExplorer Add series: 1.2.392.200036.9125.3.481999152236.64672508865.21803296java.io.EOFException at org.dcm4che2.io.DicomInputStream.readFully(DicomInputStream.java) at org.dcm4che2.io.DicomInputStream.readBytes(DicomInputStream.java) at org.dcm4che2.io.DicomInputStream.readValue(DicomInputStream.java) at org.dcm4che2.io.StopTagInputHandler.readValue(StopTagInputHandler.java) at org.dcm4che2.io.DicomInputStream.parse(DicomInputStream.java) at org.dcm4che2.io.DicomInputStream.readDicomObject(DicomInputStream.java) at org.dcm4che2.io.DicomInputStream.readDicomObject(DicomInputStream.java) at org.weasis.dicom.explorer.wado.LoadSeries$Download.writFile(LoadSeries.java) at org.weasis.dicom.explorer.wado.LoadSeries$Download.call(LoadSeries.java) at org.weasis.dicom.explorer.wado.LoadSeries$Download.call(LoadSeries.java) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)11.12.2013 16:31:34.054 *WARN* [pool-5-thread-1] org.weasis.dicom.explorer.wado.LoadSeries Download interruption http://<my_external_ip>/cgi-bin/dgate?requestType=WADO&studyUID=1.2.392.200036.9125.1.58730.33930.20120129.94545.17&seriesUID=1.2.392.200036.9125.3.481999152236.64672508865.21803296&objectUID=1.2.392.200036.9125.9.0.235928477.97333248.1662250136&contentType=application%2Fdicom 11.12.2013 16:31:34.092 *INFO* [AWT-EventQueue-2] org.weasis.dicom.explorer.DicomModel Remove Patient: PATIENT NAME11.12.2013 16:31:34.092 *INFO* [AWT-EventQueue-2] org.weasis.dicom.explorer.DicomModel Remove Study: 29 janv. 2012 00:00:00
My wado query is
<?xml version="1.0" encoding="UTF-8"?><wado_query additionnalParameters="" overrideDicomTagsList="0x00000000" requireOnlySOPInstanceUID="false" wadoURL="http://<my_external_ip>/cgi-bin/dgate" xmlns="http://www.weasis.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Patient PatientBirthDate="19650525" PatientID="DEV-VEN-1201000345-CR" PatientName="PATIENT NAME"><Study StudyDate="20120129" StudyDescription="" StudyInstanceUID="1.2.392.200036.9125.1.58730.33930.20120129.94545.17" StudyTime="094725.000"><Series Modality="CR" SeriesDescription="" SeriesInstanceUID="1.2.392.200036.9125.3.481999152236.64672508865.21803296" SeriesNumber="1001"><Instance InstanceNumber="1001" SOPInstanceUID="1.2.392.200036.9125.9.0.235928477.97333248.1662250136"/></Series></Study></Patient></wado_query>
my jnlp template is :
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE jnlp PUBLIC "-//Sun Microsystems, Inc//DTD JNLP Descriptor 6.0//EN" "http://java.sun.com/dtd/JNLP-6.0.dtd"><jnlp spec="1.6+" codebase="http://{{{local_host_ip}}}/media/weasis" href=""> <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="weasis-launcher.jar" main="true" /> <jar href="felix.jar" /><!-- Optional library (Substance Look and feel, only since version 1.0.8). Requires the new Java Plug-in introduced inthe Java SE 6 update 10 release.For previous JRE 6, substance.jnlp needs a static codebase URL --> <extension href="substance.jnlp" /><!-- Allows to get the file in pack200 compression --></resources> <application-desc main-class="org.weasis.launcher.WebstartLauncher"><!-- Required parameter. Define the location of config.properties (the OSGI configuration and the list of plug-ins to install/start) --> <argument>-VMPfelix.config.properties="http://{{{local_host_ip}}}/media/weasis/conf/config.properties"</argument><!-- Optional parameter. Define the location of ext-config.properties (extend/override config.properties) --> <argument>-VMPfelix.extended.config.properties="http://{{{local_host_ip}}}/media/weasis/conf/ext-config.properties"</argument><!-- Required parameter. Define the code base of Weasis for the JNLP --> <argument>-VMPweasis.codebase.url="http://{{{local_host_ip}}}/media/weasis"</argument><!-- Required parameter. Start local OSGI console on the port 17179 --> <argument>-VMPgosh.args="-sc telnetd -p 17179 start"</argument><!-- 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) --> <argument>-VMPapple.laf.useScreenMenuBar="true"</argument><!-- Example for opening dicom files from remote xml file --> <argument>$dicom:get -w {{{wado_query_file_url}}}</argument> </application-desc></jnlp>
The query looks good and I don't know why there is this EOFException...
I'm using dgate dgate-1.4.17c and weasis 1.2.7 in my web app.
Don't know where to look for next so I try to have your weasis example working on my server.
https://<my_external_ip>/cgi-bin/dgate?mode=weasis&series=DEV-VEN-1201000345-CR:1.2.392.200036.9125.3.481999152236.64672508865.21803296 <= works !
I get a jnlp file
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE jnlp PUBLIC "-//Sun Microsystems, Inc//DTD JNLP Descriptor 6.0//EN" "http://java.sun.com/dtd/JNLP-6.0.dtd"> <jnlp spec="1.6+" version="1.1.3" codebase="http://dicom.vital-it.ch:8089/weasis" href=""> <information> <title>Weasis</title> <vendor>Hôpitaux Universitaires de Genève (HUG)</vendor> <homepage href="docs/help.html"/> <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> <icon href="images/logo-button.png" kind="default" /> <icon href="images/about.png" kind="splash" /> </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" /> <!-- Weasis launcher --> <jar href="weasis-launcher.jar" main="true" /> <!-- OSGI Felix framework --> <jar href="felix.jar" /> <!-- 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 --> <extension href="substance.jnlp"/> <!-- Allows to get files in pack200 compression, only available from Weasis 1.1.2 --> <property name="jnlp.packEnabled" value="true" /> <!-- Required parameter. Define the location of config.properties (the OSGI configuration and the list of plug-ins to install/start) --> <property name="felix.config.properties" value="http://dicom.vital-it.ch:8089/weasis/conf/config.properties" /> <!-- Required parameter. Define the code base of Weasis for the JNLP --> <property name="weasis.codebase.url" value="http://dicom.vital-it.ch:8089/weasis" /> <!-- Required parameter. Start OSGI console on the port 17179 --> <property name="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="apple.laf.useScreenMenuBar" value="true" /> <!-- Optional parameter. Allows to get plug-ins translations --> <property name="weasis.i18n" value="http://dicom.vital-it.ch:8089/weasis-i18n" /> <!-- Optional Weasis Documentation, appears in the menu Help > User Manual --> <!-- <property name="weasis.help.url" value="http://dicom.vital-it.ch:8089/weasis-doc" /> --> </resources> <!-- Main class --> <application-desc main-class="org.weasis.launcher.WebstartLauncher"> <!-- Example for opening dicom files from URLs --> <argument>$dicom:get -w http://<my_external_ip>/cgi-bin/dgate?port=20000&address=127.0.0.1&mode=weasisseriesxml&series=DEV-VEN-1201000345-CR:1.2.392.200036.9125.3.481999152236.64672508865.21803296&dum=.xml </argument> </application-desc> </jnlp>
and then an xml error in java console for the wado request
11.12.2013 17:08:43.195 *INFO* [pool-1-thread-1] org.weasis.dicom.explorer.wado.DownloadManager Downloading WADO references: http://<my_external_ip>/cgi-bin/dgate?port=20000&address=127.0.0.1&mode=weasisseriesxml&series=DEV-VEN-1201000345-CR:1.2.392.200036.9125.3.481999152236.64672508865.21803296&dum=.xmlERROR: 'ParseError at [row,col]:[1,1]Message: Contenu non autorisé dans le prologue.'11.12.2013 17:08:43.644 *ERROR* [pool-1-thread-1] org.weasis.dicom.explorer.wado.DownloadManager [Validate with XSD schema] wado_query is NOT valid11.12.2013 17:08:43.644 *ERROR* [pool-1-thread-1] org.weasis.dicom.explorer.wado.DownloadManager Reason: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]Message: Contenu non autorisé dans le prologue.javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]Message: Contenu non autorisé dans le prologue. at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown Source) at org.weasis.dicom.explorer.wado.DownloadManager.buildDicomSeriesFromXml(DownloadManager.java) at org.weasis.dicom.explorer.wado.LoadRemoteDicomManifest.doInBackground(LoadRemoteDicomManifest.java) at org.weasis.dicom.explorer.wado.LoadRemoteDicomManifest.doInBackground(LoadRemoteDicomManifest.java) at javax.swing.SwingWorker$1.call(Unknown Source) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at javax.swing.SwingWorker.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
and if I try the url in webbrowser:
http://<my_external_ip>/cgi-bin/dgate?port=20000&address=127.0.0.1&mode=weasisseriesxml&series=&dum=.xml
I have a Dicom Object file but it seems the same file that I have with my own application and dont work with weasis.
May be u can see what I doing wrong ...
my cgi-bin/dicom.ini is
kFactorFile = /home/user/data/dicom.sql
ACRNemaMap = /home/user/data/acrnema.map
SOPClassList = /home/user/data/dgatesop.lst
WebScriptAddress = http://<my_external_ip>/cgi-bin/dgate
studyviewer = studyweasis
source = viewers/launchWeasis.cq
header = Content-Type: application/x-java-jnlp-file\
source = viewers/LaunchWeasisStudy.cq
header = Content-Type: application/x-java-jnlp-file\
Display More
Thanks for your time.