Configuring Conquest Web on Windows IIS

  • Hi,


    I know it gets harder for every new version of IIS, mainly to enable CGI and give it enough rights. Also you have to make sure the CGI app starts in the correct folder to locate dicom.ini. With apache it works as a breeze.


    Marcel

  • I am experimenting with just this because my organization doesn't like other web server apps. I got it mostly working, on a windows 2008 server with IIS7. I say mostly as the weasis viewer that seems to be included by default in the 1.4.17d config files isn't working fully for me yet.


    When installing IIS, I made sure to tell it to use CGI (was an option when installing from scratch)
    Copied cgi-bin folder to C:\inetpub\wwwroot
    In IIS Manager made the cgi-bin folder an application folder (right click and "convert to Application")
    with the cgi-bin folder highlighted in IIS, clicked "handler mappings" and created a new one. I the line after creation shows
    name = dgate
    path = *.exe
    state = enabled
    file = unspecified
    handler = cgimodule


    That should get you working with responses to http://servername:8080/cgi-bin/dgate.exe?mode=top


    I have weasis partially working - steps taken downloaded weasis portable (make sure you get a new version - my first google search got me one from 2011). Put the weasis directory from the archive in C:\inetpub\wwwroot. Make folder an application folder - add a MIME type of .jnlp - with MIME type application/x-java-jnlp-file. That should make weasis try to open rather than download as a file, but with the config files that came with 1.4.17d, I'm getting "Unable to launch the application" - and I haven't yet figured that out yet. I need to make time to really read through the sticky on Weasis to figure it out. I'll put the created launch file that is generated and exception below (note I am running the web server on port 8080, and had to modify C:\inetpub\wwwroot\cgi-bin\viewers - LaunchWeasisStudy.cq launchWeasis.cq to add the :8080 after %server_name% (both files needed to be modified in multiple places)


    Code
    <jnlp spec="1.6+" codebase="http://tstvnadbw8k1v: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> <icon href="images/logo-button.png" kind="default"/> <icon href="images/about.png" kind="splash"/> <shortcut online="false"> <desktop/> <menu submenu="Weasis"/> </shortcut> </information> <security> <all-permissions/> </security> <resources> <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"/> <extension href="substance.jnlp"/> <property name="jnlp.packEnabled" value="true"/> </resources> <application-desc main-class="org.weasis.launcher.WebstartLauncher"> <argument>-VMPfelix.config.properties="http://tstvnadbw8k1v:8080/weasis/conf/config.properties"</argument> <argument>-VMPfelix.extended.config.properties="http://tstvnadbw8k1v:8080/weasis/conf/ext-config.properties"</argument> <argument>-VMPweasis.codebase.url="http://tstvnadbw8k1v:8080/weasis"</argument> <argument>-VMPgosh.args="-sc telnetd -p 17179 start"</argument> <argument>-VMPapple.laf.useScreenMenuBar="true"</argument> <argument>-VMPweasis.i18n="http://tstvnadbw8k1v:8080/weasis-i18n"</argument> <argument>$dicom:get -w http://10.230.30.70/cgi-bin/dgate.exe?port=107&address=10.230.30.70&mode=weasisstudyxml&compress=un&study=1137323678.1864233347:1.2.826.0.1.3680043.2.135.735333.28061483.7.1399385632.349.23&dum=.xml</argument> </application-desc></jnlp>


  • I also re-read your original question - just so you understand how this works - you must have an instance of conquest up and running - the dgate.exe that the web server runs serves up web pages, but communicates with the other instance of conquest to view/delete studies. Keep that in mind as you set up the dicom.ini file that is in the cgi-bin folder.

  • I thought I had it - but alas still having problems. The XML pointer in the above example did not include the :8080 - I thought that was my issue, but updating the .cq files for the correct address didn't make any changes to behavior.


    I tried going to http://tstvnadbw8k1v:8080/cgi-…399385632.349.23&dum=.xml and am getting error:


    Code
    XML Parsing Error: no element found
    Location: http://tstvnadbw8k1v:8080/cgi-bin/dgate.exe?port=107&address=10.230.30.70&mode=weasisstudyxml&study=1137323678.1864233347:1.2.826.0.1.3680043.2.135.735333.28061483.7.1399385632.349.23&dum=.xml
    Line Number 1, Column 1:
  • It is set up, but I don't think the web server is processing it properly, and dgate can't run it. I tried giving .lua files a mime type of text/plain, as well as application/xml within IIS, and neither caused any change. I also tried creating a handler mapping for *.lua to C:\inetpub\wwwroot\cgi-bin\dgate.exe, but that also doesn't seem to work.


    quick question - when you go to /cgi-bin/viewers/weasisseriesxml.lua, what is served up? By default (no config changes) I got "page not found". When I switched it to plain text, I got plain text print out of the file. With application/xml I got an error (below) and with a handler mapping I get the "Default script: reached because [DefaultPage] source=*.lua is set in dicom.ini " which is what I also see when going to /cgi-bin/dgate.exe without any options.


    Code
    XML Parsing Error: syntax error
    Location: http://tstvnadbw8k1v:8080/cgi-bin/weasisseriesxml.lua
    Line Number 1, Column 1:-- updated to pass compress mode, mvh 20140126
  • Hi,


    weasistudyxml is a lua script that generates an xml file with all the references to the images in a study. It works as follow:


    view hyperlink
    weasis JNLP with studyUID embedded in page
    weasis loads
    asks for weasistudyxml web page passing studyUID
    this runs weasistudyxml.lua
    this does queries to the dicom server
    and returns xml page


    it is setup as follows in cgi-bin/dicom.ini:


    [weasisstudyxml]
    source=weasisstudyxml.lua
    header = Content-type: text/xml\


    Marcel

  • I found I get a different error in IE when trying to go to http://tstvnadbw8k1v:8080/cgi-…399385632.349.23&dum=.xml In IE, I'm seeing.

    Code
    The XML page cannot be displayed
    Cannot view XML input using style sheet. Please correct the error and then click the Refresh button, or try again later.
    --------------------------------------------------------------------------------
    XML document must have a top level element. Error processing resource 'http://tstvnadbw8k1v:8080/cgi-bin/dgate.exe?port=107...
  • we both submitted new info around the same time. The error above was before I made a change. In the dicom.ini file I only had


    [weasisstudyxml]
    source = viewers\weasisstudyxml.lua


    I have added in header = Content-type: text/xml\ and now get a different error.

    Code
    The XML page cannot be displayed
    Cannot view XML input using style sheet. Please correct the error and then click the Refresh button, or try again later.
    --------------------------------------------------------------------------------
    Invalid at the top level of the document. Error processing resource 'http://tstvnadbw8k1v:8080/cgi-bin/dgate.exe?port=107&a...
    Content-Type: application/xml
  • I finally got weasis to launch - but I'm not seeing any images. My launching issue was that the config.properties and ext-config.properties were not being serverd up correctly. I created a MIME type for .properties of text/plain, which finally make weasis open. Any thoughts on why it isn't launching images? I know I am not supposed to hit the xml link directly, but shouldn't I at least see something in the browser (other than an error) when pulling up the link?


    http://10.230.30.70:8080/cgi-b…399385632.349.23&dum=.xml

  • never mind - working! I started putting files back to the original versions and trying again. I am able to get images if I remove the "header = Content-type: text/xml\" line that I previously added to the dicom.ini [weasisseriesxml] and [weasisstudyxml] sections.


    So it will and does work in IIS. I believe the following are all necessary to make it work:
    - make cgi-bin directory an app directory (right click and choose convert to application)
    - Add a handler mapping/Script map inside the cgi folder. Request path = *.exe, Executable = C:\inetpub\wwwroot\cgi-bin\dgate.exe
    - make weasis directory an app directory (right click and choose convert to application)
    - Add MIME type application/x-java-jnlp-file for .jnlp files (can be done within weasis folder, or at the default site level)
    - Add MIME type text/plain for .properties files (I did this at the default site level)
    - change cgi-bin\LaunchWeasisStudy.cq and launchWeasis.cq files to point to a specified port# (Only required if you are not using the html port - port 80)


    I believe those are the only changes that I made that were actually required. I did a lot of "playing" within the directory and may have made another required change without realizing it. If I ever get a chance to load a "fresh" copy again, I'll try to verify that nothing else was needed.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!