在JaxBMarshaller定义自定义CharacterEscapeHandler工作在码头,但不

2019-10-30 03:58发布

网络逻辑的版本是12C。

所以我们,所以我们定义了自己的CharacterEscapeHandler具有双&问题与JaxBMasheller,基本上什么都不做:

 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);
          }
 });

这在码头,在这里我们做我们的大多数测试的伟大工程。 然而,一旦我们部署这个到本地WebLogic实例,我们得到的异常:

java.lang.IllegalArgumentException异常:在com.hilton.api.ws.view.xml.XmlViewRenderer.renderMergedOutputModel(XmlViewRenderer.java:101)在org.springframework.web.servlet.view.AbstractView.render(AbstractView.java XML编组异常: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)

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

Answer 1:

12.1.1的WebLogic包含的EclipseLink JAXB(莫西)作为默认的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中较新版本的说明:

  • http://blog.bdoughan.com/2012/10/updating-eclipselink-in-weblogic.html


文章来源: Custom CharacterEscapeHandler defined in JaxBMarshaller works in Jetty, but not in Weblogic