내가 색슨 9.7.0-14 EE 및 XML 빈스-2.6.0/XML 빈스 - XPath는-2.6.0색슨 9.7 및 XML 빈스/XPath를
Movement mov = (Movement) XPathUtils.executeQueryNoResultNull(message.getPayload(), "//trx:Movement [@tipo='RESTO']");
와 내 웹 응용 프로그램에서 XPath를 사용하려고 해요
public static XmlObject executeQueryNoResultNull(XmlObject source, String query) {
XmlObject[] results = source.selectPath(DECLARE_NS + "$this" + query);
if (results.length == 0) {
return null;
} else {
return results[0];
}
}
나는이 오류
java.lang.RuntimeException: Trying XBeans path engine... Trying XQRL... Trying XDK... Trying delegated path engine... FAILED on declare namespace trx='http://www.test.com/xxx/xx/trx';$this//trx:Movement[@tipo='RESTO']
at org.apache.xmlbeans.impl.store.Path.getCompiledPath(Path.java:185)
at org.apache.xmlbeans.impl.store.Path.getCompiledPath(Path.java:136)
at org.apache.xmlbeans.impl.store.Cursor._selectPath(Cursor.java:902)
at org.apache.xmlbeans.impl.store.Cursor.selectPath(Cursor.java:2634)
at org.apache.xmlbeans.impl.values.XmlObjectBase.selectPath(XmlObjectBase.java:476)
at org.apache.xmlbeans.impl.values.XmlObjectBase.selectPath(XmlObjectBase.java:460)
문제의 XML 빈스가 있나요? Saxon 만 사용하고 XMLBeans를 제거 할 수 있습니까? 여기
내을 Module.xml
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="app-common">
<resources>
<resource-root path="jsr173_1.0_api.jar"/>
<resource-root path="resolver.jar"/>
<resource-root path="xbean_xpath.jar"/>
<resource-root path="saxon9ee.jar"/>
<resource-root path="saxon9-dom.jar"/>
<resource-root path="xmlbeans-2.6.0.jar"/>
이 메시지는 일반적으로 Saxon 클래스가 발견되지 않음을 나타냅니다. jar 파일이 실제로 어디에 설치되어 있고,'module.xml '의'path' 값에있는 jar 파일의 이름이 JAR 파일의 실제 이름과 일치하는지 다시 확인하는 것이 좋습니다. 파일 시스템. 또한 Saxon 버전이 XMLBeans 문서의 내용과 일치하는지 확인해야 할 수도 있습니다. – sideshowbarker
JAR 파일이 정확하고 JBoss 모듈 디렉토리에 있습니다. https://wiki.apache.org/xmlbeans/XmlBeansFaq#whatJars 여기를 보면 Saxon 9.7이 XMLBeans에서 지원되지 않는 것 같습니다. 내가 잘못 ? – user817057
여기 내 JBoss modules 디렉토리 http://imageshack.com/a/img924/9306/K0MIpI.png – user817057