org.xml.sax.SAXParseException: Przedwczesny koniec pliku dla * VALID * XML
Dostaję bardzo dziwny „Przedwczesny koniec pliku”. wyjątek za ostatnie kilka dni na jednym z naszych serwerów. Thepodobnie konfiguracja XML działa dobrze na innym serwerze. Używamy Tomcat 5.0.28 na obu tych serwerach. Ten kod działa od wieków (ponad 7 lat), dopiero po ostatniej awarii serwera napotkaliśmy ten problem na jednym z serwerów. Nie ma żadnych zmian w kodzie XML i Java. :(
Jedyną różnicą, jaką widzę, jest wersja Java -
Serwer problemów java wersja "1.6.0_16" Java (TM) SE Runtime Environment (kompilacja 1.6.0_16-b01) Java HotSpot (TM) 64-bitowy serwer VM (kompilacja 14.2-b01, tryb mieszany)
Pracujący serwer java wersja "1.6.0_07" Java (TM) SE Runtime Environment (kompilacja 1.6.0_07-b06) Java HotSpot (TM) 64-bitowy serwer VM (kompilacja 10.0-b23, tryb mieszany)
Oto kod Java, który działa od kilku lat -
private void readSource(final InputSource in ) {
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(in);
Element elt = doc.getDocumentElement();
this.readElement( elt );
} catch ( Exception ex ) {
ex.printStackTrace();
throw new ConfigurationException( "Unable to parse configuration information", ex );
}
}
A oto wyjątek.
[Fatal Error] :-1:-1: Premature end of file.
org.xml.sax.SAXParseException: Premature end of file.
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at com.circus.core.Configuration.readSource(Configuration.java:706)
Próbowałem już sprawdzania poprawności XML i nie znalazłem tam żadnych błędów. Jakiś pomysł, gdzie jeszcze mogę szukać możliwych problemów?
Wszelkie wskazówki byłyby bardzo mile widziane!
TIA, - Manish