XML 메시지를 소비하고 처리하는 데 mule을 사용하는 서버 측 웹 응용 프로그램 코드가 있습니다. 최근에 나는 새로운 바람둥이 판으로 옮겼다. 노새가 xml을 dom으로 변환하려고 시도하는 동안 다음 오류가 표시됩니다.노새 용 DOM 파서를 명시 적으로 지정하십시오.
Exception Stack trace:
1. org.apache.xerces.parsers.XIncludeAwareParserConfiguration은 org.apache.xerces.xni.parser.XMLParserConfiguration (java.lang.ClassCastException가) org.apache.xerces.parsers.DOMParser 캐스트 할 수없는 : -1 (null) 2. org.apache.xerces.parsers.XIncludeAwareParserConfiguration을 org.apache.xerces.xni.parser.XMLParserConfiguration (java.lang.ClassCastException)에 캐스트 할 수 없습니다 (org.mule.api.transformer.TransformerException).) org.mule.module.xml.transformer.XmlToDomDocument : 64 (http://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에 캐스팅 할 수 없습니다. at org.apache.xerces.parsers.DOMParser. (알 수없는 소스) org.apache.xerces.parsers.DOMParser에서 . (알 수없는 소스) org.apache.xerces.jaxp.DocumentBuilderImpl에서 . (알 수없는 소스) 알 org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder에서 (출처) com.sun.org.apache.xalan.internal.xsltc.trax.SAX2DOM.createDocument (SAX2DOM.java:324) com.sun.org.apache.xalan.internal.xsltc.trax.SAX2DOM. (SAX2DOM.java:84) com.sun.org.apache.xalan.internal.xsltc.runtime.output.TransletOutputHandlerFactory.getSerializationHandler (TransletOutputHandlerFacto com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getOutputHandler (TransformerImpl.java:392) (com.sun.org.apache.xalan.internal.xsltc). trax.TransformerImpl.transform (TransformerImpl.java:298) 에서 org.mule.module.xml.transformer.XmlToDomDocument.doTransform (XmlToDomDocument.java:58) at org.mule.transformer.AbstractTransformer.transform (AbstractTransformer.java : 254)
내 WEB-INF/lib 디렉터에서 xerces 2.9.1 때문에이 문제가 발생했다고 생각했습니다. 난 항아리를 제거하고 모두 괜찮 았어. 문제는 classpath에서 xerces의 vesion을 필요로하는 lib에 다른 legacy third pary jar가 있기 때문에 저의 lib에있는 jar를 찾았습니다.
- 다른 DOM 파서를 지정하고 클래스 패스에서 노새를 선택하는 방법이 있습니까?
- xerces java doc을 검사 한 결과, XIncludeAwareParserConfiguration이 XMLParserConfiguration을 구현합니다. 궁금한 점이 클래스 캐스팅을 던지는 이유는 무엇입니까?