Navigation Menu

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Going from 3.3.0 to 3.3.1 breaks Docx4J.bind #215

Closed
roytmana opened this issue Aug 31, 2016 · 3 comments
Closed

Going from 3.3.0 to 3.3.1 breaks Docx4J.bind #215

roytmana opened this issue Aug 31, 2016 · 3 comments
Assignees

Comments

@roytmana
Copy link

roytmana commented Aug 31, 2016

Docx4J.bind(wordMLPackage, serialize(caseData, jaxbContext), Docx4J.FLAG_BIND_INSERT_XML + Docx4J.FLAG_BIND_BIND_XML);

here is how my caseData is serialized:

<case xmlns="http://gctrack.gao.gov/templates/case-data">
    <fileNumber>xxxx</fileNumber>
    <caseNumber>5</caseNumber>
....
</case>
org.docx4j.openpackaging.exceptions.Docx4JException: Exception executing /ns0:case[1]/ns0:bnumber[1]
    at org.docx4j.openpackaging.parts.XmlPart.cachedXPathGetString(XmlPart.java:241)
    at org.docx4j.openpackaging.parts.CustomXmlDataStoragePart.cachedXPathGetString(CustomXmlDataStoragePart.java:166)
    at org.docx4j.model.datastorage.BindingHandler.xpathGetString(BindingHandler.java:319)
    at org.docx4j.model.datastorage.BindingTraverserXSLT.xpathGenerateRuns(BindingTraverserXSLT.java:925)
    at org.docx4j.model.datastorage.BindingTraverserXSLT.xpathGenerateRuns(BindingTraverserXSLT.java:873)
:
org.apache.xalan.extensions.ExtensionHandlerJavaPackage.callFunction(ExtensionHandlerJavaPackage.java:343)
    at org.apache.xalan.extensions.ExtensionHandlerJavaPackage.callFunction(ExtensionHandlerJavaPackage.java:440)
    at org.apache.xalan.extensions.ExtensionsTable.extFunction(ExtensionsTable.java:222)
    at org.apache.xalan.transformer.TransformerImpl.extFunction(TransformerImpl.java:475)
    at org.apache.xpath.functions.FuncExtFunction.execute(FuncExtFunction.java:208)
:
    at org.docx4j.XmlUtils.transform(XmlUtils.java:1275)
    at org.docx4j.XmlUtils.transform(XmlUtils.java:1100)
    at org.docx4j.model.datastorage.BindingTraverserXSLT.traverseToBind(BindingTraverserXSLT.java:172)
    at org.docx4j.model.datastorage.BindingHandler.applyBindings(BindingHandler.java:259)
    at org.docx4j.model.datastorage.BindingHandler.applyBindings(BindingHandler.java:189)
    at org.docx4j.Docx4J.bind(Docx4J.java:426)
    at org.docx4j.Docx4J.bind(Docx4J.java:373)
    at org.docx4j.Docx4J.bind(Docx4J.java:347)
    at gov.gao.ogc.gctrack.web.rs.TemplateResource.createDocument(TemplateResource.java:130)
:
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
:
Caused by: org.apache.xpath.domapi.XPathStylesheetDOM3Exception: Prefix must resolve to a namespace: ns0
    at org.apache.xpath.compiler.XPathParser.errorForDOM3(XPathParser.java:655)
    at org.apache.xpath.compiler.Lexer.mapNSTokens(Lexer.java:647)
    at org.apache.xpath.compiler.Lexer.tokenize(Lexer.java:274)
    at org.apache.xpath.compiler.Lexer.tokenize(Lexer.java:98)
    at org.apache.xpath.compiler.XPathParser.initXPath(XPathParser.java:112)
    at org.apache.xpath.XPath.<init>(XPath.java:178)
    at org.apache.xpath.CachedXPathAPI.eval(CachedXPathAPI.java:288)
    at org.apache.xpath.CachedXPathAPI.selectNodeIterator(CachedXPathAPI.java:183)
    at org.apache.xpath.CachedXPathAPI.selectSingleNode(CachedXPathAPI.java:144)
    at org.apache.xpath.CachedXPathAPI.selectSingleNode(CachedXPathAPI.java:124)
    at org.docx4j.openpackaging.parts.XmlPart.cachedXPathGetString(XmlPart.java:212)
    ... 116 more
ERROR 31/08/16 16:54:12 docx4j.XmlUtils - org.docx4j.model.datastorage.InputIntegrityException: Exception executing /ns0:case[1]/ns0:bnumber[1]
; Line#: 787; Column#: 27
javax.xml.transform.TransformerException: org.docx4j.model.datastorage.InputIntegrityException: Exception executing /ns0:case[1]/ns0:bnumber[1]

Caused by: org.docx4j.model.datastorage.InputIntegrityException: Exception executing /ns0:case[1]/ns0:bnumber[1]
    at org.docx4j.model.datastorage.BindingHandler.xpathGetString(BindingHandler.java:337)
    at org.docx4j.model.datastorage.BindingTraverserXSLT.xpathGenerateRuns(BindingTraverserXSLT.java:925)
    at org.docx4j.model.datastorage.BindingTraverserXSLT.xpathGenerateRuns(BindingTraverserXSLT.java:873)
@plutext plutext self-assigned this Sep 1, 2016
@plutext
Copy link
Owner

plutext commented Sep 1, 2016

It is caused by this stuff 342b1b4

I'll need to create a test case to fix it.

In the meantime, if you look towards the start of your log file, what does org.docx4j.XmlUtils log at INFO level? I'm looking for something like:

INFO org.docx4j.XmlUtils . line 193 - setProperty com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
INFO org.docx4j.XmlUtils . line 206 - actual: com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
INFO org.docx4j.XmlUtils . line 244 - setProperty com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
INFO org.docx4j.XmlUtils . line 260 - actual: com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl

@roytmana
Copy link
Author

roytmana commented Sep 1, 2016

WARN  31/08/16 22:24:11 utils.ResourceUtils - Couldn't get resource: docx4j.properties
WARN  31/08/16 22:24:11 docx4j.Docx4jProperties - Couldn't find/read docx4j.properties; docx4j.properties not found via classloader.
INFO  31/08/16 22:24:11 docx4j.XmlUtils - setProperty com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
INFO  31/08/16 22:24:11 docx4j.XmlUtils - actual: com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
INFO  31/08/16 22:24:11 docx4j.XmlUtils - setProperty com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
INFO  31/08/16 22:24:11 docx4j.XmlUtils - actual: com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
WARN  31/08/16 22:24:11 io3.Load3 - No JAXB model for this CustomXmlDataStorage part; null
WARN  31/08/16 22:24:11 datastorage.BindingHandler - OpenDoPE XPaths part missing
INFO  31/08/16 22:24:11 docx4j.XmlUtils - Using org.apache.xalan.transformer.TransformerImpl
ERROR 31/08/16 22:24:11 datastorage.BindingHandler - Exception executing /ns0:case[1]/ns0:bnumber[1]

@plutext
Copy link
Owner

plutext commented Sep 3, 2016

Fixed by 391a506

@plutext plutext closed this as completed Sep 3, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants