JaxB2Marshaller бросает исключение нулевого указателя
Итак, у меня есть этот метод, который маршалирует объект.
public String marshalResponse(Object messageObject) {
if (messageObject == null) {
return null;
}
String finalstring ="No results found!";
try {
StringWriter sw = new StringWriter();
StreamResult streamResult = new StreamResult(sw);
getJaxb2Marshaller().marshal(messageObject, streamResult);
StringWriter sw2 = (StringWriter) streamResult.getWriter();
StringBuffer sb = sw2.getBuffer();
finalstring = sb.toString();
System.out.println("Response:"+finalstring);
return finalstring;
} catch (Exception ex) {
log.warn("marshalObject(): Exception caught while trying to marshal an object (object.class.name="
+ messageObject.getClass().getName() + ", ex=" + ex + ")");
}
return null;
}
getJaxb2Marshaller ()
public Jaxb2Marshaller getJaxb2Marshaller() {
return jaxb2Marshaller;
}
Я не знаю, почему он вызывает исключение нулевого указателя в getJaxb2Marshaller(). Marshal(messageObject, sw); И, более того, когда я попытался выполнить sysout finalstring, он выдает результат легитимации, но сам метод возвращает Null. Я поставил отладку на код и обнаружил, что нулевой указатель из-за StreamResult, который является нулевым. Я понятия не имею, почему это так происходит. Пожалуйста помоги!