You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am trying to read a docx file and replace the author names with a constant string.
The library i'm using to manipulate docx files is Docx4j-Moxy. This library uses org.eclipse.persistence:org.eclipse.persistence.moxy.
When there is any shape element in the docx file, the below error is coming up.
Exception in thread "main" java.lang.ClassCastException: class org.docx4j.com.microsoft.schemas.office.word.x2010.wordprocessingShape.CTWordprocessingShape cannot be cast to class org.eclipse.persistence.internal.oxm.Root (org.docx4j.com.microsoft.schemas.office.word.x2010.wordprocessingShape.CTWordprocessingShape and org.eclipse.persistence.internal.oxm.Root are in unnamed module of loader 'app') at org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl.addXsiTypeAndClassIndicatorIfRequired(AbstractMarshalRecordImpl.java:211) at org.eclipse.persistence.oxm.record.XMLRecord.addXsiTypeAndClassIndicatorIfRequired(XMLRecord.java:406) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:462) at org.eclipse.persistence.oxm.mappings.XMLAnyCollectionMapping.buildCompositeRow(XMLAnyCollectionMapping.java:683) at org.eclipse.persistence.oxm.mappings.XMLAnyCollectionMapping.writeFromObjectIntoRow(XMLAnyCollectionMapping.java:554) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.writeOutMappings(XMLObjectBuilder.java:349) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:465) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:445) at org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping.buildCompositeRowForDescriptor(XMLCompositeObjectMapping.java:466) at org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping.buildCompositeRow(XMLCompositeObjectMapping.java:447) at org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping.writeSingleValue(XMLCompositeObjectMapping.java:680) at org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping.writeFromObjectIntoRow(XMLCompositeObjectMapping.java:645) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.writeOutMappings(XMLObjectBuilder.java:349) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:465) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:445) at org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping.buildCompositeRowForDescriptor(XMLCompositeObjectMapping.java:466) at org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping.buildCompositeRow(XMLCompositeObjectMapping.java:447) at org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping.writeSingleValue(XMLCompositeObjectMapping.java:680) at org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping.writeFromObjectIntoRow(XMLCompositeObjectMapping.java:645) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.writeOutMappings(XMLObjectBuilder.java:349) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:465) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:445) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.buildCompositeRowForDescriptor(XMLCompositeCollectionMapping.java:425) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.buildCompositeRow(XMLCompositeCollectionMapping.java:405) at org.eclipse.persistence.oxm.mappings.XMLChoiceCollectionMapping.writeFromObjectIntoRow(XMLChoiceCollectionMapping.java:335) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.writeOutMappings(XMLObjectBuilder.java:349) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:465) at org.eclipse.persistence.oxm.mappings.XMLAnyCollectionMapping.buildCompositeRow(XMLAnyCollectionMapping.java:683) at org.eclipse.persistence.oxm.mappings.XMLAnyCollectionMapping.writeFromObjectIntoRow(XMLAnyCollectionMapping.java:554) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.writeOutMappings(XMLObjectBuilder.java:349) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:465) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:445) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.buildCompositeRowForDescriptor(XMLCompositeCollectionMapping.java:425) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.buildCompositeRow(XMLCompositeCollectionMapping.java:405) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.writeFromObjectIntoRow(XMLCompositeCollectionMapping.java:463) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.writeOutMappings(XMLObjectBuilder.java:349) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:465) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:445) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.buildCompositeRowForDescriptor(XMLCompositeCollectionMapping.java:425) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.buildCompositeRow(XMLCompositeCollectionMapping.java:405) at org.eclipse.persistence.oxm.mappings.XMLChoiceCollectionMapping.writeFromObjectIntoRow(XMLChoiceCollectionMapping.java:335) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.writeOutMappings(XMLObjectBuilder.java:349) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:465) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:445) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.buildCompositeRowForDescriptor(XMLCompositeCollectionMapping.java:425) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.buildCompositeRow(XMLCompositeCollectionMapping.java:405) at org.eclipse.persistence.oxm.mappings.XMLChoiceCollectionMapping.writeFromObjectIntoRow(XMLChoiceCollectionMapping.java:335) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.writeOutMappings(XMLObjectBuilder.java:349) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:465) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:445) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.buildCompositeRowForDescriptor(XMLCompositeCollectionMapping.java:425) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.buildCompositeRow(XMLCompositeCollectionMapping.java:405) at org.eclipse.persistence.oxm.mappings.XMLChoiceCollectionMapping.writeFromObjectIntoRow(XMLChoiceCollectionMapping.java:335) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.writeOutMappings(XMLObjectBuilder.java:349) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:465) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:445) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.buildCompositeRowForDescriptor(XMLCompositeCollectionMapping.java:425) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.buildCompositeRow(XMLCompositeCollectionMapping.java:405) at org.eclipse.persistence.oxm.mappings.XMLChoiceCollectionMapping.writeFromObjectIntoRow(XMLChoiceCollectionMapping.java:335) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.writeOutMappings(XMLObjectBuilder.java:349) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:465) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:445) at org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping.buildCompositeRowForDescriptor(XMLCompositeObjectMapping.java:466) at org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping.buildCompositeRow(XMLCompositeObjectMapping.java:447) at org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping.writeSingleValue(XMLCompositeObjectMapping.java:680) at org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping.writeFromObjectIntoRow(XMLCompositeObjectMapping.java:645) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.writeOutMappings(XMLObjectBuilder.java:349) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:465) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:441) at org.eclipse.persistence.oxm.XMLBinder.updateXML(XMLBinder.java:189) at org.eclipse.persistence.jaxb.JAXBBinder.updateXML(JAXBBinder.java:145) at org.eclipse.persistence.jaxb.JAXBBinder.updateXML(JAXBBinder.java:133) at org.docx4j.XmlUtils.getJAXBAssociationsForXPath(XmlUtils.java:1611) at org.docx4j.XmlUtils.getJAXBNodesViaXPath(XmlUtils.java:1556) at org.docx4j.openpackaging.parts.JaxbXmlPartXPathAware.getJAXBNodesViaXPath(JaxbXmlPartXPathAware.java:211) at core.example.sf.App.removeUserInfo(App.java:44) at core.example.sf.App.main(App.java:27)
In AbstractMarshalRecordImpl.java:211 we are casting org.docx4j.com.microsoft.schemas.office.word.x2010.wordprocessingShape.CTWordprocessingShape to org.eclipse.persistence.internal.oxm.Root which is causing the exception.
I have tried the alternative docx4j-JAXB-ReferenceImpl instead of docx4j-JAXB-MOXy which doesn't cause the issue. ReferenceImpl uses org.glassfish.jaxb.runtime.v2.runtime.BinderImpl instead of JAXBBinder.
I have uploaded a light weight maven project where issue could be replicated.(It also has input .docx file that causes the issue) Project link Stack overflow query link
The text was updated successfully, but these errors were encountered:
I am trying to read a docx file and replace the author names with a constant string.
The library i'm using to manipulate docx files is Docx4j-Moxy. This library uses org.eclipse.persistence:org.eclipse.persistence.moxy.
When there is any shape element in the docx file, the below error is coming up.
Exception in thread "main" java.lang.ClassCastException: class org.docx4j.com.microsoft.schemas.office.word.x2010.wordprocessingShape.CTWordprocessingShape cannot be cast to class org.eclipse.persistence.internal.oxm.Root (org.docx4j.com.microsoft.schemas.office.word.x2010.wordprocessingShape.CTWordprocessingShape and org.eclipse.persistence.internal.oxm.Root are in unnamed module of loader 'app') at org.eclipse.persistence.internal.oxm.record.AbstractMarshalRecordImpl.addXsiTypeAndClassIndicatorIfRequired(AbstractMarshalRecordImpl.java:211) at org.eclipse.persistence.oxm.record.XMLRecord.addXsiTypeAndClassIndicatorIfRequired(XMLRecord.java:406) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:462) at org.eclipse.persistence.oxm.mappings.XMLAnyCollectionMapping.buildCompositeRow(XMLAnyCollectionMapping.java:683) at org.eclipse.persistence.oxm.mappings.XMLAnyCollectionMapping.writeFromObjectIntoRow(XMLAnyCollectionMapping.java:554) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.writeOutMappings(XMLObjectBuilder.java:349) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:465) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:445) at org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping.buildCompositeRowForDescriptor(XMLCompositeObjectMapping.java:466) at org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping.buildCompositeRow(XMLCompositeObjectMapping.java:447) at org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping.writeSingleValue(XMLCompositeObjectMapping.java:680) at org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping.writeFromObjectIntoRow(XMLCompositeObjectMapping.java:645) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.writeOutMappings(XMLObjectBuilder.java:349) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:465) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:445) at org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping.buildCompositeRowForDescriptor(XMLCompositeObjectMapping.java:466) at org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping.buildCompositeRow(XMLCompositeObjectMapping.java:447) at org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping.writeSingleValue(XMLCompositeObjectMapping.java:680) at org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping.writeFromObjectIntoRow(XMLCompositeObjectMapping.java:645) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.writeOutMappings(XMLObjectBuilder.java:349) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:465) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:445) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.buildCompositeRowForDescriptor(XMLCompositeCollectionMapping.java:425) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.buildCompositeRow(XMLCompositeCollectionMapping.java:405) at org.eclipse.persistence.oxm.mappings.XMLChoiceCollectionMapping.writeFromObjectIntoRow(XMLChoiceCollectionMapping.java:335) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.writeOutMappings(XMLObjectBuilder.java:349) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:465) at org.eclipse.persistence.oxm.mappings.XMLAnyCollectionMapping.buildCompositeRow(XMLAnyCollectionMapping.java:683) at org.eclipse.persistence.oxm.mappings.XMLAnyCollectionMapping.writeFromObjectIntoRow(XMLAnyCollectionMapping.java:554) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.writeOutMappings(XMLObjectBuilder.java:349) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:465) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:445) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.buildCompositeRowForDescriptor(XMLCompositeCollectionMapping.java:425) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.buildCompositeRow(XMLCompositeCollectionMapping.java:405) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.writeFromObjectIntoRow(XMLCompositeCollectionMapping.java:463) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.writeOutMappings(XMLObjectBuilder.java:349) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:465) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:445) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.buildCompositeRowForDescriptor(XMLCompositeCollectionMapping.java:425) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.buildCompositeRow(XMLCompositeCollectionMapping.java:405) at org.eclipse.persistence.oxm.mappings.XMLChoiceCollectionMapping.writeFromObjectIntoRow(XMLChoiceCollectionMapping.java:335) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.writeOutMappings(XMLObjectBuilder.java:349) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:465) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:445) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.buildCompositeRowForDescriptor(XMLCompositeCollectionMapping.java:425) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.buildCompositeRow(XMLCompositeCollectionMapping.java:405) at org.eclipse.persistence.oxm.mappings.XMLChoiceCollectionMapping.writeFromObjectIntoRow(XMLChoiceCollectionMapping.java:335) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.writeOutMappings(XMLObjectBuilder.java:349) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:465) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:445) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.buildCompositeRowForDescriptor(XMLCompositeCollectionMapping.java:425) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.buildCompositeRow(XMLCompositeCollectionMapping.java:405) at org.eclipse.persistence.oxm.mappings.XMLChoiceCollectionMapping.writeFromObjectIntoRow(XMLChoiceCollectionMapping.java:335) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.writeOutMappings(XMLObjectBuilder.java:349) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:465) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:445) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.buildCompositeRowForDescriptor(XMLCompositeCollectionMapping.java:425) at org.eclipse.persistence.oxm.mappings.XMLCompositeCollectionMapping.buildCompositeRow(XMLCompositeCollectionMapping.java:405) at org.eclipse.persistence.oxm.mappings.XMLChoiceCollectionMapping.writeFromObjectIntoRow(XMLChoiceCollectionMapping.java:335) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.writeOutMappings(XMLObjectBuilder.java:349) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:465) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:445) at org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping.buildCompositeRowForDescriptor(XMLCompositeObjectMapping.java:466) at org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping.buildCompositeRow(XMLCompositeObjectMapping.java:447) at org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping.writeSingleValue(XMLCompositeObjectMapping.java:680) at org.eclipse.persistence.oxm.mappings.XMLCompositeObjectMapping.writeFromObjectIntoRow(XMLCompositeObjectMapping.java:645) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.writeOutMappings(XMLObjectBuilder.java:349) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:465) at org.eclipse.persistence.internal.oxm.XMLObjectBuilder.buildIntoNestedRow(XMLObjectBuilder.java:441) at org.eclipse.persistence.oxm.XMLBinder.updateXML(XMLBinder.java:189) at org.eclipse.persistence.jaxb.JAXBBinder.updateXML(JAXBBinder.java:145) at org.eclipse.persistence.jaxb.JAXBBinder.updateXML(JAXBBinder.java:133) at org.docx4j.XmlUtils.getJAXBAssociationsForXPath(XmlUtils.java:1611) at org.docx4j.XmlUtils.getJAXBNodesViaXPath(XmlUtils.java:1556) at org.docx4j.openpackaging.parts.JaxbXmlPartXPathAware.getJAXBNodesViaXPath(JaxbXmlPartXPathAware.java:211) at core.example.sf.App.removeUserInfo(App.java:44) at core.example.sf.App.main(App.java:27)
In AbstractMarshalRecordImpl.java:211 we are casting org.docx4j.com.microsoft.schemas.office.word.x2010.wordprocessingShape.CTWordprocessingShape to org.eclipse.persistence.internal.oxm.Root which is causing the exception.
I have tried the alternative docx4j-JAXB-ReferenceImpl instead of docx4j-JAXB-MOXy which doesn't cause the issue. ReferenceImpl uses org.glassfish.jaxb.runtime.v2.runtime.BinderImpl instead of JAXBBinder.
I have uploaded a light weight maven project where issue could be replicated.(It also has input .docx file that causes the issue)
Project link
Stack overflow query link
The text was updated successfully, but these errors were encountered: