显式指定mule的DOM解析器

显式指定mule的DOM解析器,dom,mule,xerces,Dom,Mule,Xerces,我有一个服务器端web应用程序代码,它使用mule来使用xml消息并进行一些处理。最近我换了一个新的tomcat版本。当mule尝试将xml转换为dom时,我看到以下错误 Exception Stack trace: 一,。org.apache.xerces.parsers.xincludeawarseparserconfiguration无法强制转换为org.apache.xerces.xni.parser.XMLParserConfiguration java.lang.ClassCas

我有一个服务器端web应用程序代码,它使用mule来使用xml消息并进行一些处理。最近我换了一个新的tomcat版本。当mule尝试将xml转换为dom时,我看到以下错误

Exception Stack trace: 
一,。org.apache.xerces.parsers.xincludeawarseparserconfiguration无法强制转换为org.apache.xerces.xni.parser.XMLParserConfiguration java.lang.ClassCastException org.apache.xerces.parsers.DOMParser:-1 null 2.org.apache.xerces.parsers.xincludeawareseparserconfiguration无法强制转换为org.apache.xerces.xni.parser.XMLParserConfiguration java.lang.ClassCastException org.mule.api.transformer.TransformerException org.mule.module.xml.transformer.XmlToDomDocument:64http://www.mulesource.org/docs/site/current2/apidocs/org/mule/api/transformer/TransformerException.html

根异常堆栈跟踪: java.lang.ClassCastException:org.apache.xerces.parsers.XIncludeAwareParserConfiguration不能强制转换为org.apache.xerces.xni.parser.XMLParserConfiguration 位于org.apache.xerces.parsers.DOMParser.Unknown Source 位于org.apache.xerces.parsers.DOMParser.Unknown Source 位于org.apache.xerces.jaxp.DocumentBuilderImpl.Unknown Source 位于org.apache.xerces.jaxp.documentbuilderfactorympl.newDocumentBuilderUnknown Sourceat com.sun.org.apache.xalan.internal.xsltc.trax.SAX2DOM.createDocumentSAX2DOM.java:324 位于com.sun.org.apache.xalan.internal.xsltc.trax.SAX2DOM.SAX2DOM.java:84 位于com.sun.org.apache.xalan.internal.xsltc.runtime.output.TransletOutputHandlerFactory.getSerializationHandlerTransletOutputHandlerFactory.java:187 位于com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getOutputHandlerTransformerImpl.java:392 www.com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.TransformerImpl.java:298 位于org.mule.module.xml.transformer.XmlToDomDocument.doTransferormxmltodomdocument.java:58 位于org.mule.transformer.AbstractTransformer.transformAbstractTransformer.java:254

我想这是因为我的WEB-INF/lib控制器中的xerces 2.9.1。我把罐子取了下来,一切都很好。问题是我需要在我的库中使用这个jar,因为库中还有其他遗留的第三方jar,它需要类路径中的xerces版本

有没有一种方法可以让我指定一个不同的DOM解析器,并让mule从类路径中获取它。 我检查了xerces java文档,XIncludeAwareParserConfiguration确实实现了XMLParserConfiguration。想知道为什么要投一个班级演员? Thnks

Mule提供了多种配置选项,包括setXMLInputFactory,我相信这将帮助您实现目标

问题是这些配置选项不是在XML级别提供的,因此您必须将声明为自定义转换器,以便在其上设置不同的属性