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, который является нулевым. Я понятия не имею, почему это так происходит. Пожалуйста помоги!

0 ответов

Другие вопросы по тегам