0

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)

任何想法都会受到欢迎。提前致谢。

4

1 回答 1

1

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

于 2013-06-21T15:00:34.450 回答