2013-11-29 6 views
1

Я работаю над веб-службой с некоторым существующим кодом на Java. Веб-служба использует интерфейс ServletResponse для генерации ответа. Текущий код сначала создает объект ServletResponse, задает заголовки, затем передает ServletOutputStream другому методу и позволяет другому методу написать часть тела ответа. Код, как показано ниже:установить код состояния внутри ServletOutputStream

{ 
    ServeletResponse sr = new HttpServletResponseWrapper(); 
    sr.setContentType("text/xml;charset=utf-8"); 
//checkLogic write the HTTP response body to outputstream 
    checkLogic(xmlRequestTree, sr.getOutputStream()); 
} 

«checkLogic» проверяет сверку xmlRequestTree (относительно нашей BUSSINESS логики), и если подтверждено, напишите ответ на пройденный OutputStream, если нет, то напишите об ошибке в OutputStream. Теперь я хотел бы изменить checkLogic(), когда проверки не удались, не только написать сообщение об ошибке, но и вернуть код ошибки HTTP. Мой вопрос: если сохранить существующую структуру кода без изменений, можно ли установить код HTTP внутри checkLogic(), поскольку checkLogic() получает только OutPutStream ответа.

ответ

0

Нет, вам нужен объект ServletResponse.

Смежные вопросы