gpt4 book ai didi

java - JaxBMarshaller 中定义的自定义 CharacterEscapeHandler 在 Jetty 中有效,但在 Weblogic 中无效

转载 作者:行者123 更新时间:2023-12-01 14:24:47 24 4
gpt4 key购买 nike

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:Xml 编码异常 在 com.hilton.api.ws.view.xml.XmlViewRenderer.renderMergedOutputModel(XmlViewRenderer.java:101) 在 org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250) 在 org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1060) 在 org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:798) 在 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716) 在 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647) 在 org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:563)

欢迎任何想法。提前致谢。

最佳答案

WebLogic 12.1.1 包含 EclipseLink JAXB (MOXy)默认 JAXB (JSR-222)提供商(请参阅:http://blog.bdoughan.com/2011/12/eclipselink-moxy-is-jaxb-provider-in.html)。该版本的 EclipseLink 不支持 CharacterEscapeHandlerExtension,此支持是在 EclipseLink 2.4.0 中添加的(请参阅: http://blog.bdoughan.com/2012/06/eclipselink-24-release-available-for.html )。以下是将较新版本的 EclipseLink 添加到 WebLogic 中的说明:

关于java - JaxBMarshaller 中定义的自定义 CharacterEscapeHandler 在 Jetty 中有效,但在 Weblogic 中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17236662/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com