Thanks Nick. Both staging and live are using "oracle.xml.jaxp.JXSAXParserFactory" from exactly the same version of xmlparserv2.jar - but one works, while the other doesn't.
Locally, I'm using "org.apache.xerces.jaxp.SAXParserFactoryImpl", from apache-xml-xerces.jar - which works. Both jars are available on all environments - where might any setting of the default be taking place? This is on Tomcat; nothing seems to be specified in sentenv.sh... Seb On 7 September 2017 at 11:40:07, Nick Burch (apa...@gagravarr.org) wrote: On Thu, 7 Sep 2017, Seb Duggan wrote: > Notice the differences in the first two lines... > > There is a minimal difference in the Java version on the servers: my local > computer is running 1.8.0_112, staging is running 1.8.0_45, and live > (producing the corrupt files) is on 1.8.0_66. All are Oracle 64-bit. > > Can anyone think of what might be causing the difference in output between > the servers? I've been banging my head against this now for a couple of > days! My best guess is that on production, you have deliberately or accidentally configured in a different (likely older / less functional) XML library as your JVM-default XML handler I'd suggest doing something like "SAXParserFactory.newInstance();" then checking what class you got + which jar that class came from. My hunch is they won't be the same on both servers, and likely won't be what you wanted / expected on your broken server! Nick --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@poi.apache.org For additional commands, e-mail: user-h...@poi.apache.org