使用ServletFilter的Jersey POST xml和javax.xml.bind.UnmarshalException

时间:2013-02-26 18:49:46

标签: jaxb jersey servlet-filters

我有一个Jersey POST REST服务,它生成并使用MediaType.APPLICATION_XML。 我还有一个ServletFilter进行一些身份验证:

 if (request instanceof HttpServletRequest) {

//read headers

//authenticate

filterChain.doFilter(request, response);

...

如果没有图片中的过滤器,我的REST api就能完美运行。 使用过滤器,我确实在Firebug中看到响应XML,但有400状态代码: javax.xml.bind.UnmarshalException   - 链接异常: [org.xml.sax.SAXParseException:文件过早结束。]

我读到的帖子提到过滤器改变了响应,但我真的不知道如何解决这个问题。 请帮忙!

1 个答案:

答案 0 :(得分:0)

我使用了ContainerRequestFilter而不是javax.servlet.Filter并且运行良好。