[EDM Bulk Import] - Unable to capture local files containing a spaceDescriptionThere is currently an issue in Employee Document Management's bulk import functionality where files containing a space in the file's name are unable to imported using a local, MID-based import configuration. The capture process will result in a "java.lang.IllegalArgumentException: Invalid uri "HTTP error that can be seen in the ECC queue response for these files.Steps to Reproduce 1. Install Employee Document Management plugin on an instance.2. Download a MID server and configure it to connect to the instance.3. Go to Bulk Import > Import Configuration module and create a configuration using the mid server.4. Using the import configuration, stage a file accessible from the MID server that contains a space character in the filename.5. Set the staging record state to Ready and run the capture process.6. Refresh the staging record form and see that "invalid uri" error and stack trace is outputted.7. Repeat steps 4 and 5 using a file without a space character.8. See that the capture process completes normally as expected.Workaround1. Go to ef_LocalFileCapture script include: Starting on line 63 the code should look like this: // Construct pathvar path = this.contentInfo['directory'];if (!path.endsWith('/'))path += '/';//path += '\'' + this.requestInfo['fileName'] + '\'';path += this.requestInfo['fileName'];path = path.replace(/\s/g,'\\ '); ================================= Also replace following code line : payload = payload.replace('${file_name}', this.requestInfo['fileName']); withpayload = payload.replace('${file_name}', encodeURIComponent(this.requestInfo['fileName']));So that lines 76 to 85 looks like this: payload = payload.replace('${host}', this.contentInfo['host']);payload = payload.replace('${port}', this.contentInfo['port'] || 22);payload = payload.replace('${credential_tag}', this.requestInfo['credential_alias_id']);payload = payload.replace('${path}', path);payload = payload.replace('${table_name}', 'sn_hr_ef_employee_document');payload = payload.replace('${table_sys_id}', this.requestInfo['employeeFileID']);//payload = payload.replace('${file_name}', this.requestInfo['fileName']);payload = payload.replace('${file_name}', encodeURIComponent(this.requestInfo['fileName']));payload = payload.replace('${content_type}', this._getContentType(this.requestInfo['fileName'])); ============================================================== And also one more line change is required:In the same script include as below: ef_LocalFileCapture==========================Replace following line:if (String(output).endsWith('201 Created'))withif (output && new GlideRecord('sys_attachment').get(output))=========================So that code looks like this:// Parse response from ECC queue payload//if (String(output).endsWith('201 Created'))if (output && new GlideRecord('sys_attachment').get(output))Related Problem: PRB1415355