2016-08-09 12 views
0

Ich versuche, ein Excel-Dokument in Orbeon Forms zu ändern. Grundsätzlich versuche ich this Beispiel arbeiten zu lassen.Orbeon - Datei nicht gefunden bei Zip und Entpacken

Unwahrscheinlich, dass das Problem, dass die oxf:zip/oxf:unzip Operationen aufgrund einer "Datei nicht gefunden Ausnahme" fehlschlagen. Die Datei, die die unzip-Operation erzeugt, ist also nicht mehr für die zip-Operation verfügbar. Jede XSLT-Transformation kann den Inhalt dieser Dateien lesen. Was könnte das Problem sein?

Basics: Ich benutze Tomcat 7 mit Orbeon 2016,1

Nachricht:

| C: \ Program% 20Files \ Apache% 20Software% 20Foundation \ Tomcat% 207,0 \ temp \ upload_519c5622_1566e996c49__8000_00000002.tmp (th | | e-System kann den Weg nicht finden spezifiziert)

Reduzierte Quellcode:

<p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" 
      xmlns:oxf="http://www.orbeon.com/oxf/processors" 
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
      xmlns:xs="http://www.w3.org/2001/XMLSchema" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xmlns:saxon="http://saxon.sf.net/"> 

    <p:param type="input" name="instance"/> 
    <p:param type="output" name="data"/> 

    <!-- Read .xlsx file --> 
    <p:processor name="oxf:url-generator"> 
     <p:input name="config" transform="oxf:xslt" href="#instance"> 
      <config xsl:version="2.0"> 
       <url>--any excel file --</url> 
       <content-type>multipart/x-zip</content-type> 
       <cache-control><use-local-cache>false</use-local-cache></cache-control> 
      </config> 
     </p:input> 
     <p:output name="data" id="zip"/> 
    </p:processor> 

    <!-- Unzip file --> 
    <p:processor name="oxf:unzip"> 
     <p:input name="data" href="#zip"/> 
     <p:output name="data" id="zip-file-list"/> 
    </p:processor> 

    <!-- Zip stuff back --> 
    <p:processor name="oxf:zip"> 
     <p:input name="data" href="#zip-file-list"/> 
     <p:output name="data" id="new-zip" ref="data"/> 
    </p:processor> 

</p:config> 
+0

Ich versuche das und es funktioniert für mich: Ich kann den resultierenden Zip ohne Probleme herunterladen. Ich verwende Orbeon Forms 2016.1. Außerdem habe ich keine Leerzeichen in Verzeichnisnamen: Ich frage mich, ob dies ein Teil des Problems sein könnte. Was passiert, wenn Sie Tomcat anweisen, temporäre Dateien an einem anderen Ort zu speichern? Siehe auch http://serverfault.com/questions/13523/configure-tomcat-to-use-a-different-temp-directory-for-file-uploads. – ebruchez

+0

Ja, das ist es. Zum Testen habe ich mein java.io.tempdir in "C:/temp /" umbenannt und es funktioniert einwandfrei. –

+0

Schön das zu hören! – ebruchez

Antwort

1

Ich schreibe dies als Antwort, wie Denis in den Kommentaren oben bestätigt hat, dass das Problem mit dem Vorhandensein von Leerzeichen im Pfad zum temporären Verzeichnis zusammenhängt. Wenn Sie java.io.tempdir auf einen Pfad ohne Leerzeichen setzen, wird das Problem behoben.

Ich habe es auch geschafft, das Beispiel in einem Setup ohne Leerzeichen in den temporären Verzeichnispfadnamen zu arbeiten.