flowable/flowable-engine · error · FlowableException

Unsupported import type

Error message

Unsupported import type '%s'

What it means

Thrown in WebServiceBehavior.fillImporterInfo() when a BPMN <import> declares an importType the engine has no importer for. Only known import types (e.g. WSDL) are supported; any other importType string fails model parsing/deployment.

Solutions

  1. Set importType to the supported WSDL URI: http://schemas.xmlsoap.org/wsdl/
  2. Remove the <import> element if the WSDL is not actually needed by any service task in the model
  3. Pre-resolve the WSDL into the model/operation map manually and drop the unsupported import declaration
  4. Check spelling/casing of the importType attribute against the expected constant

Example fix

<!-- before -->
<import importType="wsdl" location="service.wsdl" namespace="http://example.com" />
<!-- after -->
<import importType="http://schemas.xmlsoap.org/wsdl/" location="service.wsdl" namespace="http://example.com" />
Defensive patterns

Strategy: validation

Validate before calling

if (!"http://schemas.xmlsoap.org/wsdl/".equals(theImport.getImportType())) {
    throw new IllegalArgumentException("Unsupported importType: " + theImport.getImportType());
}

Try / catch

try {
    deploymentBuilder.deploy();
} catch (FlowableException e) {
    if (e.getMessage().startsWith("Unsupported import type")) { /* fix importType attribute */ }
    throw e;
}

Prevention

When it happens

Trigger: Deploying a BPMN XML whose <definitions> contains an <import importType="..."> with an unsupported/misspelled type string (e.g. XSD-only imports or a typo like "wsdl/" without the proper URI).

Common situations: Copy-pasted import elements from other tools; wrong namespace constant for the importType attribute; tools emitting XSD import types the engine cannot handle.

Related errors


AI-assisted analysis of flowable/flowable-engine@d6d39ce1c6 (2026-09-11). Data as JSON: /api/errors/33f077275a17f0e1. Report an issue: GitHub.

Appendix: source

Thrown at modules/flowable5-engine/src/main/java/org/activiti/engine/impl/bpmn/behavior/WebServiceActivityBehavior.java:294

                    XMLImporter importerInstance = processEngineConfig.getWsdlImporterFactory()
                            .createXMLImporter(theImport);

                    xmlImporterMap.put(theImport.getNamespace(), importerInstance);
                    importerInstance.importFrom(theImport, sourceSystemId);

                    structureDefinitionMap.putAll(importerInstance.getStructures());
                    wsServiceMap.putAll(importerInstance.getServices());
                    wsOperationMap.putAll(importerInstance.getOperations());

                } catch (FlowableException e) {
                    throw e;
                } catch (Exception e) {
                    throw new FlowableException(String.format("Error importing '%s' as '%s'", theImport.getLocation(),
                            theImport.getImportType()), e);
                }

            } else {
                throw new FlowableException(String.format("Unsupported import type '%s'", theImport.getImportType()));
            }
        }
    }

    protected void returnMessage(List<DataAssociation> dataOutputAssociations, DelegateExecution execution) {
        for (DataAssociation dataAssociationElement : dataOutputAssociations) {
            AbstractDataAssociation dataAssociation = createDataOutputAssociation(dataAssociationElement);
            dataAssociation.evaluate(execution);
        }
    }

    protected void fillMessage(List<DataAssociation> dataInputAssociations, DelegateExecution execution) {
        for (DataAssociation dataAssociationElement : dataInputAssociations) {
            AbstractDataAssociation dataAssociation = createDataInputAssociation(dataAssociationElement);
            dataAssociation.evaluate(execution);
        }
    }

View on GitHub (pinned to d6d39ce1c6)