{"record":{"id":"6e124fe5edcbbacc","repo":"flowable/flowable-engine","slug":"error-importing-s-as-s-import-location-imp","errorCode":null,"errorMessage":"Error importing '%s' as '%s' (import location, import type)","messagePattern":"Error importing '(.+?)' as '(.+?)' \\(import location, import type\\)","errorType":"exception","errorClass":"FlowableException","httpStatus":null,"severity":"error","filePath":"modules/flowable-engine/src/main/java/org/flowable/engine/impl/bpmn/behavior/WebServiceActivityBehavior.java","lineNumber":281,"sourceCode":"        if (!xmlImporterMap.containsKey(theImport.getNamespace())) {\n\n            if (\"http://schemas.xmlsoap.org/wsdl/\".equals(theImport.getImportType())) {\n                try {\n                    ProcessEngineConfigurationImpl processEngineConfig = CommandContextUtil.getProcessEngineConfiguration();\n                    XMLImporter importerInstance = processEngineConfig.getWsdlImporterFactory()\n                            .createXMLImporter(theImport);\n\n                    xmlImporterMap.put(theImport.getNamespace(), importerInstance);\n                    importerInstance.importFrom(theImport, sourceSystemId);\n\n                    structureDefinitionMap.putAll(importerInstance.getStructures());\n                    wsServiceMap.putAll(importerInstance.getServices());\n                    wsOperationMap.putAll(importerInstance.getOperations());\n\n                } catch (FlowableException e) {\n                    throw e;\n                } catch (Exception e) {\n                    throw new FlowableException(String.format(\"Error importing '%s' as '%s'\", theImport.getLocation(),\n                            theImport.getImportType()), e);\n                }\n\n            } else {\n                throw new FlowableException(String.format(\"Unsupported import type '%s'\", theImport.getImportType()));\n            }\n        }\n    }\n\n    protected void returnMessage(List<DataAssociation> dataOutputAssociations, DelegateExecution execution) {\n        for (DataAssociation dataAssociationElement : dataOutputAssociations) {\n            AbstractDataAssociation dataAssociation = createDataOutputAssociation(dataAssociationElement);\n            dataAssociation.evaluate(execution);\n        }\n    }\n\n    protected void fillMessage(List<DataAssociation> dataInputAssociations, DelegateExecution execution) {\n        for (DataAssociation dataAssociationElement : dataInputAssociations) {","sourceCodeStart":263,"sourceCodeEnd":299,"githubUrl":"https://github.com/flowable/flowable-engine/blob/d6d39ce1c69ff244f2d9dc6af756a9b95e865586/modules/flowable-engine/src/main/java/org/flowable/engine/impl/bpmn/behavior/WebServiceActivityBehavior.java#L263-L299","documentation":"While scanning WSDL imports during process-definition parsing, Flowable instantiates a WSDL importer for each import. If importing the WSDL at the given location with the given import type throws any non-Flowable exception, it is wrapped in this formatted FlowableException carrying the import location and type. A FlowableException from the importer is rethrown unchanged.","triggerScenarios":"fillImporterInfo processing a WS import whose location URL is unreachable or malformed, the import type is not supported by the chosen importer, the WSDL is invalid, or the importer class fails to initialize (missing dependencies, network error).","commonSituations":"WSDL hosted on an intranet host unreachable from the engine server; TLS certificate failures; WSDL with schema imports the parser cannot resolve; typo in import location; SOAP library on classpath missing/incompatible.","solutions":["Check the wrapped cause (getCause()) for the real network/parse failure","Verify the import location URL is correct and reachable from the engine server (curl it)","Confirm the import type string matches what the importer supports (e.g. correct WSDL namespace/type)","Add/fix the required SOAP/WSDL dependencies on the classpath","Fix TLS/truststore issues if the WSDL is served over HTTPS"],"exampleFix":"// before\n<import location=\"http://internal-host/service?wsdl\" importType=\"wrongType\" />\n// after\n<import location=\"http://internal-host/service?wsdl\" importType=\"http://schemas.xmlsoap.org/wsdl/\" />","handlingStrategy":"validation","validationCode":"URL url = new URL(theImport.getLocation());\nHttpURLConnection c = (HttpURLConnection) url.openConnection();\nif (c.getResponseCode() != 200) {\n    throw new IllegalStateException(\"WSDL unreachable: \" + theImport.getLocation());\n}","typeGuard":null,"tryCatchPattern":"try {\n    deploy(processDefinition);\n} catch (FlowableException e) {\n    if (e.getMessage().startsWith(\"Error importing\")) {\n        logger.error(\"WSDL import failed for {}, cause: {}\", e.getMessage(), e.getCause());\n    }\n}","preventionTips":["Verify WSDL URLs are reachable from the engine server before deployment","Pin a local copy of critical WSDLs and import from a stable location","Keep SOAP/WSDL client dependencies on the classpath","Check TLS truststore configuration for HTTPS WSDLs"],"tags":["web-service","wsdl","import","deployment"],"backgroundTag":"upstream-api-error","analyzedSha":"d6d39ce1c69ff244f2d9dc6af756a9b95e865586","analyzedAt":"2026-09-11T06:41:19.413Z","contentChangedAt":"2026-09-11T06:41:19.413Z","schemaVersion":2},"datasetVersion":"2026-09-18T11:17:12.947Z"}