Conquest 1.4.19c1 Web Server Error on loading the XML manifest from http://192.168.0.100/cgi-bin/dgate.exe?port=11112

  • Hello, Marcel.

    Please, help me.

    I installed xamp server, copied all need folder to server, copied weasis files. JRE 1.8 installed.

    So, when i press view button of some study in web panel of conquest in IE, .jnlp loads success, then start weasis, but i get the next error: "Error on loading the XML manifest from http://192.168.0.100/cgi-bin/dgate.exe?port=11112". And files for corresponding study don't download in weasis.

    So, I Check command argument ($dicom:get ) for weasis in .jnlp file and if it copy in browser i get xml file correct. But automatically from web panel conquest study not loading. Do you have any issues?

  • yes, of course

    <?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://127.0.0.1:8080/weasis" href="">

    <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://127.0.0.1:8080/weasis/weasis-launcher.jar" main="true" />

    <jar href="http://127.0.0.1:8080/weasis/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 -->



    <!-- 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 weasis 1.2.9), http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6653241 -->


    <!-- 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://127.0.0.1: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://127.0.0.1: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://127.0.0.1:8080/weasis" />


    <!-- Optional parameter. Define the code base ext of Weasis for the JNLP -->

    <property name="jnlp.weasis.weasis.codebase.ext.url" value="http://127.0.0.1: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://127.0.0.1:8080/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">

    <argument>$dicom:get -w http://127.0.0.1:8080/cgi-bin/…9099347868938805&dum=.xml</argument>

    </application-desc>

    </jnlp>

  • Hello, Marcel. I change dicom.ini in cgi-bin, so now i use weasis_starter, all ok, BUT:

    1. I'm not sure, but WadoTransferSyntaxUID="1.2.840.10008.1.2.4.80" must be in <Series> tag (such as in the past releases or in weasisstudyxml.lua), else weasis always use uncompressed mode, so may be need correct weasis_starter.

    <Patient PatientID="72600" PatientName="____________________________________" PatientSex="F">

    <Study StudyTime="090602.04144" ReferringPhysicianName="" AccessionNumber="9998000000009136" StudyInstanceUID="1.2.826.0.1.3680043.8.839.1.109779686789265668069099347868938805" StudyID="" StudyDate="20181015" StudyDescription="">
    <Series SeriesNumber="4" SeriesDescription="" Modality="MG" SeriesInstanceUID="1.2.826.0.1.3680043.8.839.2.106594289127071084398992639143521512">
    <Instance InstanceNumber="" WadoTransferSyntaxUID="1.2.840.10008.1.2.4.80" SOPInstanceUID="1.2.840.10008.5.1.4.1.1.1.2.448697421972977866308412939741360800"/>

    </Series>

    <Series SeriesNumber="1" SeriesDescription="" Modality="MG" SeriesInstanceUID="1.2.826.0.1.3680043.8.839.2.162987651609855627322597340844212180">
    <Instance InstanceNumber="" WadoTransferSyntaxUID="1.2.840.10008.1.2.4.80" SOPInstanceUID="1.2.840.10008.5.1.4.1.1.1.2.159156482954743744489781713485521500"/>

    </Series>

    <Series SeriesNumber="2" SeriesDescription="" Modality="MG" SeriesInstanceUID="1.2.826.0.1.3680043.8.839.2.725580140258827284489454857940963040">
    <Instance InstanceNumber="" WadoTransferSyntaxUID="1.2.840.10008.1.2.4.80" SOPInstanceUID="1.2.840.10008.5.1.4.1.1.1.2.163200712621855152301552917151867400"/>

    </Series>

    <Series SeriesNumber="3" SeriesDescription="" Modality="MG" SeriesInstanceUID="1.2.826.0.1.3680043.8.839.2.940914230953344633023846305208816549">
    <Instance InstanceNumber="" WadoTransferSyntaxUID="1.2.840.10008.1.2.4.80" SOPInstanceUID="1.2.840.10008.5.1.4.1.1.1.2.135280840729859202159334231808433500"/>

    </Series>

    </Study>

    </Patient>

    2. From where script weasis_starter get the next params server_name and compression? When script creates .jnlp file in this my server_name is 127.0.0.1, but i need server_name is 127.0.0.1:8080 . (in dicom.ini WebScriptAddress = http://127.0.0.1:8080/cgi-bin/dgate.exe)

    local xmlline = string.format([[<argument>$dicom:get -w "http://%s?mode=weasis_starter&parameter=xml&compress=%s&%s&dum=.xml"</argument>]],

    server_name..script_name, (compression or 'un'), level..'='..ident)

  • Hi,


    can you help test this out?


    The transfer syntax is set in line 325:


    Code
    1. if wt~='' then t.WadoTransferSyntaxUID = wt end

    You can move this to after line 319 as such to move it to the series level:


    Code
    1. ser[k].StudyInstanceUID=nil
    2. if wt~='' then ser[k].WadoTransferSyntaxUID = wt end
    3. xmlopen('SERIES', tablify(ser[k]))

    The server is quoted 2 times (lines 140 and 262) as:


    server_name..script_name


    You can change that to:


    gpps('webdefaults', 'WebScriptAddress', '')


    as follows:


    Code
    1. local xmlline = string.format([[<argument>$dicom:get -w "%s?mode=weasis_starter&parameter=xml&compress=%s&%s&dum=.xml"</argument>]],
    2. gpps('webdefaults', 'WebScriptAddress', ''), (compression or 'un'), level..'='..ident)

    and

    Code
    1. xml[k] = string.gsub(v, 'baseUrl=".-"', 'baseUrl="'..gpps('webdefaults', 'WebScriptAddress', '')..'"')


    Can you give this a try?


    Thanks for your help!


    Marcel

    Marcel van Herk is developer of the Conquest DICOM server together with Lambert Zijp.

  • Hi, Marcel!

    1. gpps('webdefaults', 'WebScriptAddress', '') works fine!

    2. Also this function needs to use in line 243: local compress = CGI('compression', 'un') replace with local compress = gpps('webdefaults', 'compress', ''), because compress always has value 'un', don't know why.

    3. It's doesn't work:

    Code
    1. ser[k].StudyInstanceUID=nil
    2. if wt~='' then ser[k].WadoTransferSyntaxUID = wt end
    3. xmlopen('SERIES', tablify(ser[k])) 


    The next code works:

    Code
    1. for k=0, #ser-1 do
    2. local r = tablify(ser[k])
    3. if wt~='' then r.WadoTransferSyntaxUID = wt end
    4. r.WadoTransferSyntaxUID = wt
    5. r.QueryRetrieveLevel=nil
    6. r.TransferSyntaxUID=nil
    7. r.StudyInstanceUID=nil
    8. xmlopen('SERIES', r)

    So, firstly need make tablify() function, and the next make xmlopen()


    Now all works fine! Thanks for your help. You are great man!