I think you should be using setHeader("Content-Type", "application/x-java-jnlp-file") Otherwise the blank line ending the headers would be inserted (by Zope's machinery) before the line you put into your file, causing it to be ignored. [Christian Peer] Additional to Message 91060: Yes, I have inserted a blank line. Here is the source code of the DTML Method (SimpleExample.jnlp): Content-Type: application/x-java-jnlp-file <?xml version="1.0" encoding="utf-8"?> <!-- JNLP File for SimpleExample Application --> <jnlp codebase=http://localhost/ href="SimpleExample.jnlp"> <information> <title>Swing Application - Hello World</title> <vendor>Rags</vendor> <description>Swing Application - Hello World</description> <description kind="short">Swing Application - Hello World</description> <offline-allowed/> </information> <resources> <j2se version="1.3"/> <jar href="SimpleExample.jar"/> </resources> <application-desc main-class="SimpleExample"/> </jnlp> The SimpleExample.html links to SimpleExample.jnlp and the third file in the Zope folder is SimpleExample.jar. What happens: Java Web Start is loaded correctly and than I get a download error when it tries to access the recource "http://localhost/SimpleExample.jnlp", the server returns wrong MIME type text/html. Could you help me? Thanks. Chris