{"record":{"id":"55247fca0422052e","repo":"flowable/flowable-engine","slug":"error-importing-s-as-s","errorCode":null,"errorMessage":"Error importing '%s' as '%s'","messagePattern":"Error importing '(.+?)' as '(.+?)'","errorType":"exception","errorClass":"FlowableException","httpStatus":null,"severity":"error","filePath":"modules/flowable5-engine/src/main/java/org/activiti/engine/impl/bpmn/behavior/WebServiceActivityBehavior.java","lineNumber":289,"sourceCode":"        if (!xmlImporterMap.containsKey(theImport.getNamespace())) {\n\n            if (\"http://schemas.xmlsoap.org/wsdl/\".equals(theImport.getImportType())) {\n                try {\n                    ProcessEngineConfigurationImpl processEngineConfig = Context.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":271,"sourceCodeEnd":307,"githubUrl":"https://github.com/flowable/flowable-engine/blob/d6d39ce1c69ff244f2d9dc6af756a9b95e865586/modules/flowable5-engine/src/main/java/org/activiti/engine/impl/bpmn/behavior/WebServiceActivityBehavior.java#L271-L307","documentation":"Thrown in WebServiceActivityBehavior.fillImporterInfo() when importing a WSDL (or other declared import) fails with an unexpected exception. Non-FlowableException failures during importer execution (I/O, parsing, reflection errors) are wrapped in a FlowableException carrying the import location and import type, with the original exception as cause.","triggerScenarios":"Parsing a BPMN model whose <definitions> declares an <import> (importType e.g. WSDL) and the importer for that location throws a non-Flowable exception — unreadable WSDL URL, malformed WSDL, missing schema, network failure.","commonSituations":"WSDL at an unreachable URL or behind authentication; WSDL with schema imports that cannot be resolved offline; wrong namespace/location attributes after moving services; DNS/proxy issues at deploy time.","solutions":["Inspect the cause exception to find the real failure (connection refused, parse error, 404) and fix that","Verify the import location URL is reachable and correct from the engine's host","Fix the WSDL so it parses (resolve all its own schema imports, valid XML)","Provide local copies of the WSDL/schema and correct the import location, or check proxy/network settings"],"exampleFix":"<!-- before (unreachable location) -->\n<import importType=\"http://schemas.xmlsoap.org/wsdl/\" location=\"http://internalhost:8080/service?wsdl\" namespace=\"http://example.com\" />\n<!-- after (corrected/reachable location) -->\n<import importType=\"http://schemas.xmlsoap.org/wsdl/\" location=\"http://prodhost:8080/service?wsdl\" namespace=\"http://example.com\" />","handlingStrategy":"try-catch","validationCode":"// before deployment: verify each import location is reachable\nnew URL(theImport.getLocation()).openStream().close();","typeGuard":null,"tryCatchPattern":"try {\n    deploymentBuilder.deploy();\n} catch (FlowableException e) {\n    if (e.getMessage().startsWith(\"Error importing\")) {\n        logger.error(\"WSDL import failed for location; cause:\", e.getCause());\n    }\n    throw e;\n}","preventionTips":["Verify WSDL URLs are reachable from the server before deployment","Keep local copies of WSDL/schema files for stable deployments","Resolve authentication/proxy requirements for WSDL locations up front"],"tags":["web-service","wsdl","import","deployment"],"backgroundTag":"http-request-failed","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"}