I am creating a dropwizard service which uses the process engine to handle bpmn flows. I have created a user task that has a conditional sequence flow with the following code:
When the engine parses the file, an exception is thrown:
ERROR [2016-07-26 14:52:31,503] org.camunda.bpm.engine.context: ENGINE-16004 Exception while closing command context: ENGINE-09005 Could not parse BPMN process. Errors:
* Invalid type, only tFormalExpression is currently supported | bicycles.bpmn | line 22 | column 85
* Invalid type, only tFormalExpression is currently supported | bicycles.bpmn | line 79 | column 67
Caused by: org.camunda.bpm.engine.ProcessEngineException: ENGINE-09005 Could not parse BPMN process. Errors:
* <Line 22, Column 63>: XML-24065: (Error) xsi:type "tFormalExpression" not resolved to a type definition | bicycles.bpmn | line 22 | column 63
* <Line 79, Column 63>: XML-24065: (Error) xsi:type "tFormalExpression" not resolved to a type definition | bicycles.bpmn | line 79 | column 63
at org.camunda.bpm.engine.impl.util.EngineUtilLogger.exceptionDuringParsing(EngineUtilLogger.java:58)
at org.camunda.bpm.engine.impl.util.xml.Parse.throwExceptionForErrors(Parse.java:191)
at org.camunda.bpm.engine.impl.bpmn.parser.BpmnParse.execute(BpmnParse.java:307)
at org.camunda.bpm.engine.impl.bpmn.deployer.BpmnDeployer.transformDefinitions(BpmnDeployer.java:106)
at org.camunda.bpm.engine.impl.AbstractDefinitionDeployer.transformResource(AbstractDefinitionDeployer.java:96)
at org.camunda.bpm.engine.impl.AbstractDefinitionDeployer.parseDefinitionResources(AbstractDefinitionDeployer.java:71)
at org.camunda.bpm.engine.impl.AbstractDefinitionDeployer.deploy(AbstractDefinitionDeployer.java:61)
thanks for the XML. In the file you attached is the BPMN XML namespace prefix set to bpmn2. So the tFormalExpression has also to be prefix with bpmn2 otherwise it has the wrong namespace.
After adding the bpmn2 prefix I can successfully deploy your process on Camunda BPM 7.5.0. bicycles-prefix.bpmn (12.8 KB)
If you still have problems deploying the process. Please describe how you deploy the process.
Thanks for your investigation. The bpmn2 change was part of what I was trying out, but that does not solve the problem, I still get:
Exception in thread "main" org.camunda.bpm.engine.ProcessEngineException: ENGINE-08043 Exception while performing 'Deployment of Process Application Camunda Servlet Process Application' => 'Deployment of process archive 'null': ENGINE-09005 Could not parse BPMN process. Errors:
* Invalid type, only tFormalExpression is currently supported | bicycles.bpmn | line 22 | column 69
* Invalid type, only tFormalExpression is currently supported | bicycles.bpmn | line 79 | column 69
at org.camunda.bpm.container.impl.ContainerIntegrationLogger.exceptionWhilePerformingOperationStep(ContainerIntegrationLogger.java:312)
at org.camunda.bpm.container.impl.spi.DeploymentOperation.execute(DeploymentOperation.java:130)
at org.camunda.bpm.container.impl.jmx.MBeanServiceContainer.executeDeploymentOperation(MBeanServiceContainer.java:156)
at org.camunda.bpm.container.impl.spi.DeploymentOperation$DeploymentOperationBuilder.execute(DeploymentOperation.java:203)
at org.camunda.bpm.container.impl.RuntimeContainerDelegateImpl.deployProcessApplication(RuntimeContainerDelegateImpl.java:94)
at org.camunda.bpm.application.AbstractProcessApplication.deploy(AbstractProcessApplication.java:62)
I use the camunda-bpm-dropwizard module. This module looks for bpmn files on the classpath to deploy.
When debugging BpmnParse.java, I see that the prefix array that should contain the namespaces, is not initialized. This causes the expression type not to be correctly resolved. I am checking why this is.
I never used the dropwizard module but I’m quite sure it doesn’t change the parser. If you want to share your code we could have a look at it.
As I’m not able to reproduce the issue with your process I can only suggest to completely remove the xsi:type attribute. The parser doesn’t require them.
I think it has to do with the underlying XML parser. when parsing for namespace attributes, BpmParse expects attributes that start with xmlns:prefix but instead it receives entries with the format http://www.w3.org/2000/xmlns:prefix.
I tried your bpmn model on the latest snapshot of the camunda engine and it was parsed without any errors.
I only had to add the bpmn: again to the tFormalExpression, sorry for that.
My question is: What version of the camunda engine do you use?
Hello,
was any progress made with this issue? I’m still experiencing the problem on camunda 7.5.0 and camunda 7.6.0-alpha4, modeler 1.3.0. I’m embedding the camunda-engine into my application using maven and camunda-bom.
I’ve however been able to deploy the exact same bpmn to wildfly-camunda (camunda 7.5.0 and wildfly 10.0.0-Final) and start the process without any problems.