Data Source REST Import not working because of File Extension Restriction

Sebastian R_
Kilo Sage

We are using a data source with Type REST (IntegrationHub) which retrieves the data via xml.

During our setup for the Instance Hardening (Instance Security Center) we modified the allowed extensions for attachments (glide.attachment.extensions).

Now the data source is not working anymore and the IH Step returns the following error:

find_real_file.png

Error encountered while creating Attachment. Error creating Attachment rest_action_response_body : Method failed: (/api/now/hub/temporaryattachment) with code: 400
Operation(Test Action Get.d61f2c951b10a0106da0bb31dd4bcbfc) failed with error: com.snc.process_flow.exception.OpException: Error encountered while creating Attachment. Error creating Attachment rest_action_response_body : Method failed: (/api/now/hub/temporaryattachment) with code: 400
at com.snc.process_flow.operation.AbstractHttpOperation.getOpExceptionWithMessage(AbstractHttpOperation.java:462)
at com.snc.process_flow.operation.AbstractHttpOperation.processResponseAttachment(AbstractHttpOperation.java:394)
at com.snc.process_flow.operation.HttpOperation.processResponse(HttpOperation.java:287)
at com.snc.process_flow.operation.AbstractHttpOperation.requestAndProcessResponse(AbstractHttpOperation.java:131)
at com.snc.process_flow.operation.AbstractHttpOperation.invoke(AbstractHttpOperation.java:111)
at com.snc.process_flow.operation.RetryableIntegrationOperation.run(RetryableIntegrationOperation.java:46)
at com.snc.process_flow.engine.Operation.execute(Operation.java:165)
at com.snc.process_flow.engine.ProcessEngine.executeOps(ProcessEngine.java:496)
at com.snc.process_flow.engine.ProcessEngine.run(ProcessEngine.java:412)
at com.snc.process_flow.engine.ProcessAutomation.run(ProcessAutomation.java:66)
at com.snc.process_flow.engine.MidProcessAutomation.messageFlow(MidProcessAutomation.java:55)
at com.service_now.mid.probe.IPaaSActionProbe.probe(IPaaSActionProbe.java:72)
at com.service_now.mid.probe.AProbe.process(AProbe.java:104)
at com.service_now.mid.queue_worker.AWorker.runWorker(AWorker.java:122)
at com.service_now.mid.queue_worker.AWorkerThread.run(AWorkerThread.java:20)
at com.service_now.mid.threadpool.ResourceUserQueue$RunnableProxy.run(ResourceUserQueue.java:647)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

The problem is obviously because the tempory file is called "rest_action_response_body" without an extension.

Has anyone faced the same problem and got a solutions for it? (Except clearing the property)

1 ACCEPTED SOLUTION

Robert Abordo
ServiceNow Employee
ServiceNow Employee

This problem has been fixed in KB0866858.

  1. If you are able to upgrade, review the Fixed In section (within KB0866858) to determine the latest version with a permanent fix your instance can be upgraded to.
  2. The workaround is to add a valid extension to the attachment_name from system property "glide.attachment.extensions", ie "rest_action_response_boy.json"
  3. Alternatively, set the system property "glide.attachment.extensions" to null/empty.

View solution in original post

13 REPLIES 13

Maik Skoddow
Tera Patron
Tera Patron

Hi

can you please provide the content of the property glide.attachment.extensions

Kind regards
Maik

Currently we use the following:

bmp,csv,doc,docx,gif,htm,html,jpeg,jpg,log,msg,p7s,pdf,png,pptx,rar,txt,xls,xlsx,xml,zip,zipx,svg,json

Thank you.

Just an idea (I have never tested before): What about adding a single comma at the end to allow files without an extension?

And if that not helps: Empty the property and test again.

I had the same idea and tried it with a single comma or a whitespace. Looks like ServiceNow just ignores it.

Clearing the property works of course but is not our goal for the instance security and would only be our last way out.