使用工作流开发功能时,保存定义的流程时结果出现了 javax.xml.stream.XMLStreamException: ParseError at [row,col]:[5,7]\nMessage: 前言中不允许有内容。

错误。看了下堆栈信息如下

org.flowable.bpmn.exceptions.XMLException: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[5,7]
Message: 前言中不允许有内容。
	at org.flowable.bpmn.converter.BpmnXMLConverter.convertToBpmnModel(BpmnXMLConverter.java:281) ~[flowable-bpmn-converter-6.8.0.jar:6.8.0]
	at org.flowable.engine.impl.bpmn.parser.BpmnParse.execute(BpmnParse.java:148) ~[flowable-engine-6.8.0.jar:6.8.0]
	at org.flowable.engine.impl.bpmn.deployer.ParsedDeploymentBuilder.createBpmnParseFromResource(ParsedDeploymentBuilder.java:97) ~[flowable-engine-6.8.0.jar:6.8.0]
	at org.flowable.engine.impl.bpmn.deployer.ParsedDeploymentBuilder.build(ParsedDeploymentBuilder.java:55) ~[flowable-engine-6.8.0.jar:6.8.0]
	at org.flowable.engine.impl.bpmn.deployer.BpmnDeployer.deploy(BpmnDeployer.java:78) ~[flowable-engine-6.8.0.jar:6.8.0]
	at org.flowable.engine.impl.persistence.deploy.DeploymentManager.deploy(DeploymentManager.java:62) ~[flowable-engine-6.8.0.jar:6.8.0]
	at org.flowable.engine.impl.cmd.DeployCmd.executeDeploy(DeployCmd.java:135) ~[flowable-engine-6.8.0.jar:6.8.0]
	at org.flowable.engine.impl.cmd.DeployCmd.execute(DeployCmd.java:70) ~[flowable-engine-6.8.0.jar:6.8.0]
	at org.flowable.engine.impl.cmd.DeployCmd.execute(DeployCmd.java:45) ~[flowable-engine-6.8.0.jar:6.8.0]
	at org.flowable.engine.impl.interceptor.CommandInvoker$1.run(CommandInvoker.java:67) ~[flowable-engine-6.8.0.jar:6.8.0]
	at org.flowable.engine.impl.interceptor.CommandInvoker.executeOperation(CommandInvoker.java:140) ~[flowable-engine-6.8.0.jar:6.8.0]
	at org.flowable.engine.impl.interceptor.CommandInvoker.executeOperations(CommandInvoker.java:114) ~[flowable-engine-6.8.0.jar:6.8.0]
	at org.flowable.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:72) ~[flowable-engine-6.8.0.jar:6.8.0]
	at org.flowable.engine.impl.interceptor.BpmnOverrideContextInterceptor.execute(BpmnOverrideContextInterceptor.java:26) ~[flowable-engine-6.8.0.jar:6.8.0]
	at org.flowable.common.engine.impl.interceptor.TransactionContextInterceptor.execute(TransactionContextInterceptor.java:53) ~[flowable-engine-common-6.8.0.jar:6.8.0]
	at org.flowable.common.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:105) ~[flowable-engine-common-6.8.0.jar:6.8.0]
	at org.flowable.common.spring.SpringTransactionInterceptor.lambda$execute$0(SpringTransactionInterceptor.java:57) ~[flowable-spring-common-6.8.0.jar:6.8.0]
	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) ~[spring-tx-5.3.24.jar:5.3.24]
	at org.flowable.common.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:57) ~[flowable-spring-common-6.8.0.jar:6.8.0]
	at org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30) ~[flowable-engine-common-6.8.0.jar:6.8.0]
	at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56) ~[flowable-engine-common-6.8.0.jar:6.8.0]
	at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:51) ~[flowable-engine-common-6.8.0.jar:6.8.0]
	at org.flowable.engine.impl.RepositoryServiceImpl.deploy(RepositoryServiceImpl.java:99) ~[flowable-engine-6.8.0.jar:6.8.0]
	at org.flowable.engine.impl.repository.DeploymentBuilderImpl.deploy(DeploymentBuilderImpl.java:206) ~[flowable-engine-6.8.0.jar:6.8.0]

应该是xml文件解析出错了。debug时发现参数中所有的<xml>文档信息都没有了,怀疑是被项目框架过滤掉了。看了一下我这里用的是若依cloud框架,会自动过滤脚本。

那么就在nacos对应的gateway.yml配置文件里增加过滤url


security:
  xss:
    enabled: true
    excludeUrls:
# 配置过滤url
      - /URL/**

问题解决!

Logo

快速构建 Web 应用程序

更多推荐