XML 解析异常org.xml.sax.SAXParseException cvc-elt.1

XML parsing exception org.xml.sax.SAXParseException cvc-elt.1

我的XML包含

<?xml version="1.0" encoding="UTF-8"?>
<organization:Organization xmlns:organization="http://www.bonitasoft.org/ns/organization/6.0.0-beta-016">
......
</organization:Organization>

完整的 XML 文件,请查看: https://github.com/bonitasoft/bonita-examples/blob/master/rest-api-example/src/main/resources/ACME.xml

我在服务器端收到此错误 (JAVA & Tomcat) :

org.xml.sax.SAXParseException;行号:2;列数:106; cvc-elt.1: 找不到元素 'organization:Organization'. 的声明 (下面是完整的堆栈跟踪)

我将 'organization' 标签更改为 <organization> ... </organization>

我仍然得到同样的错误: cvc-elt.1: 找不到元素 'organization'

的声明

编辑


当我将 xmlns URI 更改为

时它起作用
<organization:Organization xmlns:organization="http://documentation.bonitasoft.com/organization-xml-schema/1.1">

谁能解释一下。


我正在尝试 运行 Bonitasoft 文档中提到的 REST API 示例:http://documentation.bonitasoft.com/create-your-first-project-web-rest-api-and-maven-0 (我猜这是纯粹的 XML 解析问题 & 它与 Bonitasoft 代码无关)

谁能帮我解决这个问题。

非常感谢您的宝贵时间。

完整堆栈跟踪:

2015-08-25 16:37:19.885 +0900 org.bonitasoft.web.toolkit.server.servlet.ToolkitHttpServlet org.bonitasoft.web.toolkit.server.servlet.ToolkitHttpServlet catchAllExceptions 
SEVERE: Can't import organization. Please check that your file is well-formed
org.bonitasoft.web.toolkit.server.ServiceException: Can't import organization. Please check that your file is well-formed
    at org.bonitasoft.console.server.service.OrganizationImportService.run(OrganizationImportService.java:62)
    at org.bonitasoft.web.toolkit.server.ServiceServletCall.run(ServiceServletCall.java:92)
    at org.bonitasoft.web.toolkit.server.ServiceServletCall.doPost(ServiceServletCall.java:72)
    at org.bonitasoft.web.toolkit.server.servlet.ToolkitHttpServlet.doPost(ToolkitHttpServlet.java:188)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
    at org.bonitasoft.web.toolkit.server.servlet.ToolkitHttpServlet.service(ToolkitHttpServlet.java:75)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at org.bonitasoft.web.toolkit.server.servlet.ToolkitHttpServlet.service(ToolkitHttpServlet.java:226)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
    at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
    at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
    at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.bonitasoft.console.common.server.login.filter.AuthenticationFilter.isAuthorized(AuthenticationFilter.java:152)
    at org.bonitasoft.console.common.server.login.filter.AuthenticationFilter.doAuthenticationFiltering(AuthenticationFilter.java:134)
    at org.bonitasoft.console.common.server.login.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:119)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.bonitasoft.console.security.SessionFixationValve.invoke(SessionFixationValve.java:77)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.bonitasoft.engine.identity.OrganizationImportException: USERNAME=install | org.bonitasoft.engine.xml.SValidationException:

**org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 106; cvc-elt.1: Cannot find the declaration of element 'organization:Organization'.**
    at org.bonitasoft.engine.api.impl.IdentityAPIImpl.importOrganization(IdentityAPIImpl.java:1427)
    at org.bonitasoft.engine.api.impl.IdentityAPIImpl.importOrganization(IdentityAPIImpl.java:1414)
    at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.bonitasoft.engine.api.impl.ServerAPIImpl.invokeAPI(ServerAPIImpl.java:467)
    at org.bonitasoft.engine.api.impl.ServerAPIImpl.call(ServerAPIImpl.java:436)
    at org.bonitasoft.engine.transaction.JTATransactionServiceImpl.executeInTransaction(JTATransactionServiceImpl.java:312)
    at org.bonitasoft.engine.api.impl.ServerAPIImpl.invokeAPIInTransaction(ServerAPIImpl.java:443)
    at org.bonitasoft.engine.api.impl.ServerAPIImpl.invokeAPI(ServerAPIImpl.java:278)
    at org.bonitasoft.engine.api.impl.ServerAPIImpl.invokeMethod(ServerAPIImpl.java:131)
    at org.bonitasoft.engine.api.impl.ClientInterceptor.invoke(ClientInterceptor.java:88)
    at com.sun.proxy.$Proxy18.importOrganization(Unknown Source)
    at org.bonitasoft.console.server.service.OrganizationImportService.run(OrganizationImportService.java:60)
    ... 38 more

**Caused by: org.bonitasoft.engine.xml.SValidationException: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 106; cvc-elt.1: Cannot find the declaration of element 'organization:Organization'.**
    at org.bonitasoft.engine.xml.SAXValidator.validate(SAXValidator.java:91)
    at org.bonitasoft.engine.xml.SAXValidator.validate(SAXValidator.java:80)
    at org.bonitasoft.engine.xml.parse.SAXParser.validate(SAXParser.java:138)
    at org.bonitasoft.engine.identity.xml.ImportOrganization.execute(ImportOrganization.java:131)
    at org.bonitasoft.engine.api.impl.IdentityAPIImpl.importOrganization(IdentityAPIImpl.java:1425)
    ... 51 more

**Caused by: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 106; cvc-elt.1: Cannot find the declaration of element 'organization:Organization'.**
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198)
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:437)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:325)
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1906)
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:746)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:379)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:605)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3138)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:880)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
    at com.sun.org.apache.xerces.internal.jaxp.validation.StreamValidatorHelper.validate(StreamValidatorHelper.java:155)
    at com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.validate(ValidatorImpl.java:116)
    at javax.xml.validation.Validator.validate(Validator.java:124)
    at org.bonitasoft.engine.xml.SAXValidator.validate(SAXValidator.java:89)
    ... 55 more

错误 Cannot find the declaration of element 'organization:Organization 表明您正在尝试根据某些模式验证 XML 实例。该模式将包含一些命名空间中的许多元素的定义。它与命名空间 http://documentation.bonitasoft.com/organization-xml-schema/1.1 一起使用的事实表明这是架构所需的正确命名空间。如果是这种情况,那么使用您自己发明的不同命名空间将导致您观察到的错误。这纯粹是您是否使用架构中定义的名称空间的问题。