CMMN Implementation "Invalid content was found starting with element 'extensionElements'."

548 views
Skip to first unread message

Subhrajyoti Moitra

unread,
Dec 3, 2014, 8:18:24 AM12/3/14
to camunda-...@googlegroups.com
Hello Team,
I am using the new CMMN model and execution engine in Camunda 7.2.0 release.

I am getting an XML schema validation error when i am trying to deploy the file using deployment api.

ProcessEngine pe=guiceBundle.getInjector().getInstance(ProcessEngine.class);
        Deployment deploy = pe.getRepositoryService()
                .createDeployment()
                .addClasspathResource("Test6.cmmn")
                .name("TestDeployment: " + System.currentTimeMillis())
                .deploy();

I am getting the below error

ERROR [2014-12-03 13:05:19,350] org.camunda.bpm.engine.impl.interceptor.CommandContext: Error while closing command context
! org.xml.sax.SAXException: Error: URI=null Line=11: cvc-complex-type.2.4.a: Invalid content was found starting with element 'extensionElements'. One of '{"http://www.omg.org/spec/CMMN/20131201/MODEL":defaultControl, "http://www.omg.org/spec/CMMN/20131201/MODEL":planItem, "http://www.omg.org/spec/CMMN/20131201/MODEL":sentry, "http://www.omg.org/spec/CMMN/20131201/MODEL":planningTable, "http://www.omg.org/spec/CMMN/20131201/MODEL":planItemDefinition}' is expected.
! at org.camunda.bpm.model.xml.impl.util.DomUtil$DomErrorHandler.error(DomUtil.java:197) ~[camunda-xml-model-7.2.0.jar:7.2.0]
.....
...


PFA the xml file i am using.

Please help, how I cam fix this problem and use extensionElements in cmmn execution process.

Thanks a lot in advance.
Subhro.
Test6.cmmn

thorben....@camunda.com

unread,
Dec 3, 2014, 8:45:19 AM12/3/14
to camunda-...@googlegroups.com
Hi Subhro,

I just tried to deploy your case in a unit test and was able to deploy the case successfully. Could you please post the entire stack trace?

You can find my test project here: https://github.com/ThorbenLindhauer/camunda-engine-unittest

Cheers,
Thorben

thorben....@camunda.com

unread,
Dec 3, 2014, 8:46:10 AM12/3/14
to camunda-...@googlegroups.com

Subhrajyoti Moitra

unread,
Dec 3, 2014, 11:36:47 PM12/3/14
to camunda-...@googlegroups.com
Thanks a lot for your time and effort.
Unit tests ran just fine.

I am using the engine inside a dropwizard container.
Also there are jboss, modeshape-embedded dependencies.

Could it be some xml lib conflicts/mismatch?
Below is the full stack trace.
ERROR [2014-12-04 03:53:30,701] org.camunda.bpm.engine.impl.interceptor.CommandContext: Error while closing command context
! org.xml.sax.SAXException: Error: URI=null Line=11: cvc-complex-type.2.4.a: Invalid content was found starting with element 'extensionElements'. One of '{"http://www.omg.org/spec/CMMN/20131201/MODEL":defaultControl, "http://www.omg.org/spec/CMMN/20131201/MODEL":planItem, "http://www.omg.org/spec/CMMN/20131201/MODEL":sentry, "http://www.omg.org/spec/CMMN/20131201/MODEL":planningTable, "http://www.omg.org/spec/CMMN/20131201/MODEL":planItemDefinition}' is expected.
! at org.camunda.bpm.model.xml.impl.util.DomUtil$DomErrorHandler.error(DomUtil.java:197) ~[camunda-xml-model-7.2.0-alpha6.jar:7.2.0-alpha6]
! at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source) ~[xercesImpl-2.8.1.jar:na]
! at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) ~[xercesImpl-2.8.1.jar:na]
! at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) ~[xercesImpl-2.8.1.jar:na]
! at org.apache.xerces.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(Unknown Source) ~[xercesImpl-2.8.1.jar:na]
! at org.apache.xerces.impl.xs.XMLSchemaValidator.reportSchemaError(Unknown Source) ~[xercesImpl-2.8.1.jar:na]
! at org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement(Unknown Source) ~[xercesImpl-2.8.1.jar:na]
! at org.apache.xerces.impl.xs.XMLSchemaValidator.startElement(Unknown Source) ~[xercesImpl-2.8.1.jar:na]
! at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) ~[xercesImpl-2.8.1.jar:na]
! at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) ~[xercesImpl-2.8.1.jar:na]
! at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) ~[xercesImpl-2.8.1.jar:na]
! at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) ~[xercesImpl-2.8.1.jar:na]
! at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) ~[xercesImpl-2.8.1.jar:na]
! at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) ~[xercesImpl-2.8.1.jar:na]
! at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) ~[xercesImpl-2.8.1.jar:na]
! at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) ~[xercesImpl-2.8.1.jar:na]
! at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:121) ~[na:1.7.0_60]
! at org.camunda.bpm.model.xml.impl.util.DomUtil.parseInputStream(DomUtil.java:234) ~[camunda-xml-model-7.2.0-alpha6.jar:7.2.0-alpha6]
! ... 29 common frames omitted
! Causing: org.camunda.bpm.model.xml.ModelParseException: SAXException while parsing input stream
! at org.camunda.bpm.model.xml.impl.util.DomUtil.parseInputStream(DomUtil.java:239) ~[camunda-xml-model-7.2.0-alpha6.jar:7.2.0-alpha6]
! at org.camunda.bpm.model.xml.impl.parser.AbstractModelParser.parseModelFromStream(AbstractModelParser.java:56) ~[camunda-xml-model-7.2.0-alpha6.jar:7.2.0-alpha6]
! at org.camunda.bpm.model.cmmn.impl.CmmnParser.parseModelFromStream(CmmnParser.java:66) ~[camunda-cmmn-model-7.2.0-alpha6.jar:7.2.0-alpha6]
! ... 27 common frames omitted
! Causing: org.camunda.bpm.model.cmmn.CmmnModelException: Unable to parse model
! at org.camunda.bpm.model.cmmn.impl.CmmnParser.parseModelFromStream(CmmnParser.java:69) ~[camunda-cmmn-model-7.2.0-alpha6.jar:7.2.0-alpha6]
! at org.camunda.bpm.model.cmmn.Cmmn.doReadModelFromInputStream(Cmmn.java:226) ~[camunda-cmmn-model-7.2.0-alpha6.jar:7.2.0-alpha6]
! at org.camunda.bpm.model.cmmn.Cmmn.readModelFromStream(Cmmn.java:142) ~[camunda-cmmn-model-7.2.0-alpha6.jar:7.2.0-alpha6]
! at org.camunda.bpm.engine.impl.cmmn.transformer.CmmnTransform.transform(CmmnTransform.java:101) ~[camunda-engine-7.2.0-alpha6.jar:7.2.0-alpha6]
! ... 24 common frames omitted
! Causing: org.camunda.bpm.engine.ProcessEngineException: Couldn't transform 'Test6.cmmn': Unable to parse model
! at org.camunda.bpm.engine.impl.cmmn.transformer.CmmnTransform.transform(CmmnTransform.java:104) ~[camunda-engine-7.2.0-alpha6.jar:7.2.0-alpha6]
! at org.camunda.bpm.engine.impl.cmmn.deployer.CmmnDeployer.transformResource(CmmnDeployer.java:105) ~[camunda-engine-7.2.0-alpha6.jar:7.2.0-alpha6]
! at org.camunda.bpm.engine.impl.cmmn.deployer.CmmnDeployer.deploy(CmmnDeployer.java:61) ~[camunda-engine-7.2.0-alpha6.jar:7.2.0-alpha6]
! at org.camunda.bpm.engine.impl.persistence.deploy.DeploymentCache.deploy(DeploymentCache.java:58) ~[camunda-engine-7.2.0-alpha6.jar:7.2.0-alpha6]
! at org.camunda.bpm.engine.impl.persistence.entity.DeploymentManager.insertDeployment(DeploymentManager.java:44) ~[camunda-engine-7.2.0-alpha6.jar:7.2.0-alpha6]
! at org.camunda.bpm.engine.impl.cmd.DeployCmd.deploy(DeployCmd.java:166) ~[camunda-engine-7.2.0-alpha6.jar:7.2.0-alpha6]
! at org.camunda.bpm.engine.impl.cmd.DeployCmd.execute(DeployCmd.java:84) ~[camunda-engine-7.2.0-alpha6.jar:7.2.0-alpha6]
! at org.camunda.bpm.engine.impl.cmd.DeployCmd.execute(DeployCmd.java:61) ~[camunda-engine-7.2.0-alpha6.jar:7.2.0-alpha6]
! at org.camunda.bpm.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24) ~[camunda-engine-7.2.0-alpha6.jar:7.2.0-alpha6]
! at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:97) ~[camunda-engine-7.2.0-alpha6.jar:7.2.0-alpha6]
! at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:32) [camunda-engine-7.2.0-alpha6.jar:7.2.0-alpha6]
! at org.camunda.bpm.engine.impl.RepositoryServiceImpl.deploy(RepositoryServiceImpl.java:82) [camunda-engine-7.2.0-alpha6.jar:7.2.0-alpha6]
! at org.camunda.bpm.engine.impl.repository.DeploymentBuilderImpl.deploy(DeploymentBuilderImpl.java:125) [camunda-engine-7.2.0-alpha6.jar:7.2.0-alpha6]
! at com.hsn18.cs.core.IncidentServiceApplication.run(IncidentServiceApplication.java:100) [classes/:na]
! at com.hsn18.cs.core.IncidentServiceApplication.run(IncidentServiceApplication.java:37) [classes/:na]
! at io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:42) [dropwizard-core-0.7.1.jar:0.7.1]
! at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:76) [dropwizard-core-0.7.1.jar:0.7.1]
! at io.dropwizard.cli.Cli.run(Cli.java:70) [dropwizard-core-0.7.1.jar:0.7.1]
! at io.dropwizard.Application.run(Application.java:72) [dropwizard-core-0.7.1.jar:0.7.1]
! at com.hsn18.cs.core.IncidentServiceApplication.main(IncidentServiceApplication.java:51) [classes/:na]
! at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_60]
! at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_60]
! at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_60]
! at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_60]
! at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) [idea_rt.jar:na]
Exception in thread "main" org.camunda.bpm.engine.ProcessEngineException: Couldn't transform 'Test6.cmmn': Unable to parse model
at org.camunda.bpm.engine.impl.cmmn.transformer.CmmnTransform.transform(CmmnTransform.java:104)
at org.camunda.bpm.engine.impl.cmmn.deployer.CmmnDeployer.transformResource(CmmnDeployer.java:105)
at org.camunda.bpm.engine.impl.cmmn.deployer.CmmnDeployer.deploy(CmmnDeployer.java:61)
at org.camunda.bpm.engine.impl.persistence.deploy.DeploymentCache.deploy(DeploymentCache.java:58)
at org.camunda.bpm.engine.impl.persistence.entity.DeploymentManager.insertDeployment(DeploymentManager.java:44)
at org.camunda.bpm.engine.impl.cmd.DeployCmd.deploy(DeployCmd.java:166)
at org.camunda.bpm.engine.impl.cmd.DeployCmd.execute(DeployCmd.java:84)
at org.camunda.bpm.engine.impl.cmd.DeployCmd.execute(DeployCmd.java:61)
at org.camunda.bpm.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24)
at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:97)
at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:32)
at org.camunda.bpm.engine.impl.RepositoryServiceImpl.deploy(RepositoryServiceImpl.java:82)
at org.camunda.bpm.engine.impl.repository.DeploymentBuilderImpl.deploy(DeploymentBuilderImpl.java:125)
at com.hsn18.cs.core.IncidentServiceApplication.run(IncidentServiceApplication.java:100)
at com.hsn18.cs.core.IncidentServiceApplication.run(IncidentServiceApplication.java:37)
at io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:42)
at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:76)
at io.dropwizard.cli.Cli.run(Cli.java:70)
at io.dropwizard.Application.run(Application.java:72)
at com.hsn18.cs.core.IncidentServiceApplication.main(IncidentServiceApplication.java:51)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
Caused by: org.camunda.bpm.model.cmmn.CmmnModelException: Unable to parse model
at org.camunda.bpm.model.cmmn.impl.CmmnParser.parseModelFromStream(CmmnParser.java:69)
at org.camunda.bpm.model.cmmn.Cmmn.doReadModelFromInputStream(Cmmn.java:226)
at org.camunda.bpm.model.cmmn.Cmmn.readModelFromStream(Cmmn.java:142)
at org.camunda.bpm.engine.impl.cmmn.transformer.CmmnTransform.transform(CmmnTransform.java:101)
... 24 more
Caused by: org.camunda.bpm.model.xml.ModelParseException: SAXException while parsing input stream
at org.camunda.bpm.model.xml.impl.util.DomUtil.parseInputStream(DomUtil.java:239)
at org.camunda.bpm.model.xml.impl.parser.AbstractModelParser.parseModelFromStream(AbstractModelParser.java:56)
at org.camunda.bpm.model.cmmn.impl.CmmnParser.parseModelFromStream(CmmnParser.java:66)
... 27 more
Caused by: org.xml.sax.SAXException: Error: URI=null Line=11: cvc-complex-type.2.4.a: Invalid content was found starting with element 'extensionElements'. One of '{"http://www.omg.org/spec/CMMN/20131201/MODEL":defaultControl, "http://www.omg.org/spec/CMMN/20131201/MODEL":planItem, "http://www.omg.org/spec/CMMN/20131201/MODEL":sentry, "http://www.omg.org/spec/CMMN/20131201/MODEL":planningTable, "http://www.omg.org/spec/CMMN/20131201/MODEL":planItemDefinition}' is expected.
at org.camunda.bpm.model.xml.impl.util.DomUtil$DomErrorHandler.error(DomUtil.java:197)
at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.xs.XMLSchemaValidator.reportSchemaError(Unknown Source)
at org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement(Unknown Source)
at org.apache.xerces.impl.xs.XMLSchemaValidator.startElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:121)
at org.camunda.bpm.model.xml.impl.util.DomUtil.parseInputStream(DomUtil.java:234)
... 29 more

Subhrajyoti Moitra

unread,
Dec 3, 2014, 11:43:12 PM12/3/14
to camunda-...@googlegroups.com
I notice that error in the unit tests(deliberate) show the following xml packages

at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:137)
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$XSIErrorReporter.reportError(XMLSchemaValidator.java:458)


This is different from what i see in the stacktrace of my app.

! at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source) ~[xercesImpl-2.8.1.jar:na]
! at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) ~[xercesImpl-2.8.1.jar:na]
! at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) ~[xercesImpl-2.8.1.jar:na]
! at org.apache.xerces.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(Unknown Source) ~[xercesImpl-2.8.1.jar:na]


Subhrajyoti Moitra

unread,
Dec 4, 2014, 2:19:00 AM12/4/14
to camunda-...@googlegroups.com
For my app the following values are being used:

DocumentBuilderFactory implementation: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl loaded from: file:/C:/Users/Subhrajyoti.Moitra/.m2/repository/xerces/xercesImpl/2.8.1/xercesImpl-2.8.1.jar
XPathFactory implementation: com.sun.org.apache.xpath.internal.jaxp.XPathFactoryImpl loaded from: Java Runtime
TransformerFactory implementation: com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl loaded from: Java Runtime
SAXParserFactory implementation: org.apache.xerces.jaxp.SAXParserFactoryImpl loaded from: file:/C:/Users/Subhrajyoti.Moitra/.m2/repository/xerces/xercesImpl/2.8.1/xercesImpl-2.8.1.jar



For the unit tests these are the implementations being used:

DocumentBuilderFactory implementation: com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl loaded from: Java Runtime
XPathFactory implementation: com.sun.org.apache.xpath.internal.jaxp.XPathFactoryImpl loaded from: Java Runtime
TransformerFactory implementation: com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl loaded from: Java Runtime
SAXParserFactory implementation: com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl loaded from: Java Runtime


Could this be the reason?

Thanks,
Subhro.


On Wednesday, 3 December 2014 19:16:10 UTC+5:30, thorben....@camunda.com wrote:

Subhrajyoti Moitra

unread,
Dec 4, 2014, 2:35:56 AM12/4/14
to camunda-...@googlegroups.com
I tried setting the system properties 

 System.setProperty("javax.xml.parsers.DocumentBuilderFactory","com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl");
 System.setProperty("javax.xml.parsers.SAXParserFactory","com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl");
 

But the same error is being thrown.. 

ERROR [2014-12-04 07:34:27,733] org.camunda.bpm.engine.impl.interceptor.CommandContext: Error while closing command context
! org.xml.sax.SAXException: Error: URI=null Line=11: cvc-complex-type.2.4.a: Invalid content was found starting with element 'extensionElements'. One of '{"http://www.omg.org/spec/CMMN/20131201/MODEL":defaultControl, "http://www.omg.org/spec/CMMN/20131201/MODEL":planItem, "http://www.omg.org/spec/CMMN/20131201/MODEL":sentry, "http://www.omg.org/spec/CMMN/20131201/MODEL":planningTable, "http://www.omg.org/spec/CMMN/20131201/MODEL":planItemDefinition}' is expected.
! at org.camunda.bpm.model.xml.impl.util.DomUtil$DomErrorHandler.error(DomUtil.java:197) ~[camunda-xml-model-7.2.0.jar:7.2.0]      


Any pointers on how to sort this out?

Thanks,
Subhro.

On Wednesday, 3 December 2014 19:16:10 UTC+5:30, thorben....@camunda.com wrote:

thorben....@camunda.com

unread,
Dec 4, 2014, 3:14:46 AM12/4/14
to camunda-...@googlegroups.com
Hi Subhro,

To provide some background: CMMN 1.0 has no concept of extension elements as they exist in BPMN (cf [1]). We expect this in a future version of the standard. For now, we have modified the xsd and ship the modified version as part of the cmmn model api jar. So the question would be against which xsd your model gets validated.

Since you cmmn xml does not specify a schemaLocation, I am not sure why it does not get validated against the modified schema. Perhaps you are able to debug a little further with this knowledge.

Best regards,
Thorben

[1] http://www.omg.org/spec/CMMN/20131201/CMMN10CaseModel.xsd

Subhrajyoti Moitra

unread,
Dec 4, 2014, 3:42:39 AM12/4/14
to camunda-...@googlegroups.com

Got it!!! Yipee!!
I had reference of the original CMMN10.xsd in my classpath (resources folder of maven project).
Once i remove my CMMN10.xsd, the xsd which come shipped with camunda got picked up and everything ran fine...

Thanks a lot of sorting this problem.

Thanks and regards,
Subhro.
Reply all
Reply to author
Forward
0 new messages