Page 1 of 1

error Failed to add parts from relationships

PostPosted: Thu Feb 28, 2013 1:03 am
by fachhoch
getting error Failed to add parts from relationships when trying to save mydocument.

stack tracre
Code: Select all
Caused by: org.docx4j.openpackaging.exceptions.Docx4JException: Failed to add parts from relationships
   at org.docx4j.openpackaging.io.SaveToZipFile.addPartsFromRelationships(SaveToZipFile.java:387)
   at org.docx4j.openpackaging.io.SaveToZipFile.save(SaveToZipFile.java:165)
   at gov.hhs.acf.document.DefaultAdlService$AdlFactory.createAdl(DefaultAdlService.java:273)
   at gov.hhs.acf.document.DefaultAdlService.getAdl(DefaultAdlService.java:114)
   ... 83 more
Caused by: org.docx4j.openpackaging.exceptions.Docx4JException: Failed to add parts from relationships
   at org.docx4j.openpackaging.io.SaveToZipFile.addPartsFromRelationships(SaveToZipFile.java:387)
   at org.docx4j.openpackaging.io.SaveToZipFile.savePart(SaveToZipFile.java:437)
   at org.docx4j.openpackaging.io.SaveToZipFile.addPartsFromRelationships(SaveToZipFile.java:382)
   ... 86 more
Caused by: org.docx4j.openpackaging.exceptions.Docx4JException: Problem saving part customXml/item3.xml
   at org.docx4j.openpackaging.io.SaveToZipFile.saveRawXmlPart(SaveToZipFile.java:304)
   at org.docx4j.openpackaging.io.SaveToZipFile.saveRawXmlPart(SaveToZipFile.java:195)
   at org.docx4j.openpackaging.io.SaveToZipFile.savePart(SaveToZipFile.java:419)
   at org.docx4j.openpackaging.io.SaveToZipFile.addPartsFromRelationships(SaveToZipFile.java:382)
   ... 88 more
Caused by: org.docx4j.openpackaging.exceptions.Docx4JException: Problems saving to OutputStream
   at org.docx4j.model.datastorage.CustomXmlDataStorageImpl.writeDocument(CustomXmlDataStorageImpl.java:88)
   at org.docx4j.openpackaging.io.SaveToZipFile.saveRawXmlPart(SaveToZipFile.java:258)
   ... 91 more
Caused by: java.lang.NullPointerException
   at org.apache.xml.serializer.TreeWalker.dispatachChars(TreeWalker.java:246)
   at org.apache.xml.serializer.TreeWalker.startNode(TreeWalker.java:416)
   at org.apache.xml.serializer.TreeWalker.traverse(TreeWalker.java:145)
   at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:390)
   at org.docx4j.model.datastorage.CustomXmlDataStorageImpl.writeDocument(CustomXmlDataStorageImpl.java:85)
   ... 92 more

Re: error Failed to add parts from relationships

PostPosted: Thu Feb 28, 2013 7:45 am
by jason
Can't do anything with this report.

You don't tell us what your Java code did to your document, so I can't possibly tell you what you have done wrong.

Please provide the input docx (if any), and your code, and tell us what version of docx4j you are using (just in case).

Re: error Failed to add parts from relationships

PostPosted: Thu Feb 28, 2013 8:07 am
by fachhoch
I am trying out a simple example this example works when run as standalone and fails when running in jetty.

I can reporduce this only in jetty.

the version I am using is 2.8.1

the error is happens in CustomXmlDataStorageImpl.writeDocument(CustomXmlDataStorageImpl.java:88)


Code: Select all
   public void writeDocument(OutputStream os) throws Docx4JException {
      // Used when saving to zip file
      /*
       * With Crimson, this gives:
       *
         Exception in thread "main" java.lang.AbstractMethodError: org.apache.crimson.tree.XmlDocument.getXmlStandalone()Z
            at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.setDocumentInfo(DOM2TO.java:373)
            at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:127)
            at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:94)
            at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:662)
            at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:708)
            at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:313)
            at org.docx4j.model.datastorage.CustomXmlDataStorageImpl.writeDocument(CustomXmlDataStorageImpl.java:174)
       *
       */
       try {
         DOMSource source = new DOMSource(doc);
          XmlUtils.getTransformerFactory().newTransformer().transform(source,
                new StreamResult(os) );
      } catch (Exception e) {
         throw new Docx4JException("Problems saving to OutputStream", e);
      }
      
   }



Caused by: java.lang.NullPointerException
at org.apache.xml.serializer.TreeWalker.dispatachChars(TreeWalker.java:246)

google search for this error shows this as a bug in xlan https://issues.apache.org/jira/browse/XALANJ-1198
bug comments say workaround replacing DOMSource with javax.xml.transform.stream.StreamSource works
can you advice how to use javax.xml.transform.stream.StreamSource this does not have constructor to pass org.w3c.dom.Node