Null Pointer Problem mit Parser
Hansjörg
- java
Hallo zusammen
ich hab ein kleines Problem an dem ich jetzt schon ne ganze Weile sitze. Langsam zweifel ich an meinen Fähigkeiten und es wäre toll, wenn mir jemand helfen könnte. In Visual Age for Java läuft mein Code wunderprächtig durch ohne Fehler. In den Tomcat exportiert, von wo aus die Klasse aufgerufen wird, krieg ich eine NullPointerexception. Ich poste hier jetzt einfach mal kurz und schmerzlos meinen Code. Ich benutze übrigens den JAXP Parser.
Danke schon einmal für eure Mühe
.
.
.
public String performXMLParser(InputSource isource)
{
String fehler="";
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setValidating(true);
XMLReader xmlReader=null;
try
{
SAXParser saxParser = spf.newSAXParser();
//Hierher komm ich noch. Keine Ahnung, warum das nächste
//Statement eine NullpointerException bringt
xmlReader = saxParser.getXMLReader();
//Hierher komm ich nicht mehr
}
catch (Exception ex)
{
System.err.println("SAX Parser Creation Error:"+ex.getMessage());
}
xmlReader.setContentHandler(new MyContentHandler());
xmlReader.setErrorHandler(new MyErrorHandler());
//diese beiden Klassen liegen vor. An denen kanns nicht
//hängen
try
{
xmlReader.parse(isource);
}
catch (SAXException se)
{
System.out.println("Error in parsing: " + se.getMessage());
fehler="Fehler:"+se.getMessage();
}
catch (IOException ioe)
{
System.out.println("Error reading InputSource: " + ioe.getMessage());
fehler="Fehler:"+ioe.getMessage();
}
finally
{
return fehler;
}
}
.
.
.
dein Object saxParser enthält NULL, da der Aufruf spf.newSAXParser();
null zurückgibt, überprüfe, ob du das Object spf richtig instanziiert hast.
Hallo zusammen
ich hab ein kleines Problem an dem ich jetzt schon ne ganze Weile sitze. Langsam zweifel ich an meinen Fähigkeiten und es wäre toll, wenn mir jemand helfen könnte. In Visual Age for Java läuft mein Code wunderprächtig durch ohne Fehler. In den Tomcat exportiert, von wo aus die Klasse aufgerufen wird, krieg ich eine NullPointerexception. Ich poste hier jetzt einfach mal kurz und schmerzlos meinen Code. Ich benutze übrigens den JAXP Parser.
Danke schon einmal für eure Mühe
.
.
.
public String performXMLParser(InputSource isource)
{
String fehler="";
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setValidating(true);
XMLReader xmlReader=null;
try
{
SAXParser saxParser = spf.newSAXParser();
//Hierher komm ich noch. Keine Ahnung, warum das nächste
//Statement eine NullpointerException bringt
xmlReader = saxParser.getXMLReader();
//Hierher komm ich nicht mehr
}
catch (Exception ex)
{
System.err.println("SAX Parser Creation Error:"+ex.getMessage());
}
xmlReader.setContentHandler(new MyContentHandler());
xmlReader.setErrorHandler(new MyErrorHandler());
//diese beiden Klassen liegen vor. An denen kanns nicht
//hängen
try
{
xmlReader.parse(isource);
}
catch (SAXException se)
{
System.out.println("Error in parsing: " + se.getMessage());
fehler="Fehler:"+se.getMessage();
}
catch (IOException ioe)
{
System.out.println("Error reading InputSource: " + ioe.getMessage());
fehler="Fehler:"+ioe.getMessage();
}
finally
{
return fehler;
}
}
.
.
.
dein Object saxParser enthält NULL, da der Aufruf spf.newSAXParser();
null zurückgibt, überprüfe, ob du das Object spf richtig instanziiert hast.
Mit dem Aufruf wird doch aber eine neue Instanz erstellt, wenn keine vorhanden ist. Und selbst wenn null in der spf enthalten ist, so müßte doch die ganze Sache im catch Block abgefangen werden (für was ist der Schmarrn denn sonst auch da). Und wie gesagt unter Visual Age läuft alles. Kann es daran liegen, daß im Tomcat auf JDK 1.3.1 verwiesen wird und Visual Age 3.5 nur JDK1.2.2 kennt???