Web 逻辑的版本是 12c。
所以我们在 JaxBMasheller 中遇到了双重问题,所以我们定义了自己的 CharacterEscapeHandler,基本上什么都不做:
marshaller.setProperty(CharacterEscapeHandler.class.getName(),
new CharacterEscapeHandler() {
@Override
public void escape(char[] ch, int start, int length, boolean isAttVal,
Writer out) throws IOException {
out.write(ch, start, length);
}
});
这在我们进行大部分测试的 Jetty 中效果很好。但是,一旦我们将其部署到本地 weblogic 实例,就会出现异常:
java.lang.IllegalArgumentException:在 org.springframework.web.servlet.view.AbstractView.render 的 com.hilton.api.ws.view.xml.XmlViewRenderer.renderMergedOutputModel(XmlViewRenderer.java:101) 处的 Xml 编组异常:250) 在 org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:798) 在 org.springframework.web.servlet 的 org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1060)。 DispatcherServlet.doService(DispatcherServlet.java:716) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:563)
任何想法都会受到欢迎。提前致谢。