Question

Is it possible to make a HTTP call with a Content-Transfer-Encoding header?

  • 20 July 2023
  • 3 replies
  • 55 views

Badge

We have a series of API calls to a Bentley API which have been working fine until recently and are still working fine in Postman. We have a GET request in FME which returns a  “HTTP/1.1 403 Forbidden” error.

 

We have been through this with Bentley support and have found the source of the issue is related to the Content-Transfer-Encoding header. Bentley's API’s security rules have recently been updated to block requests which contain the ‘Content-Transfer-Encoding’ header. This is because the header has been deprecated and has the potential to be a security vulnerability.

 

FME seems to default send "Content-Transfer-Encoding: binary" with the GET request and there doesn't appear to be an option to change it. Does anyone have any ideas about how we can get round this?

 

Thanks in advance!


3 replies

Userlevel 2
Badge +10

Hi @edwibberley​ sorry to hear you're running into these issues. What version of FME are you running? In FME 2022.2 and FME 2023.0 we made changes to retry with a workaround when the HTTPCaller receives a bad Content-Encoding response. If you're not already on one of these versions, I recommend downloading and trying them to see if it resolves the issue.

 

Alternatively, to manually workaround this issue, you can add the Accept-Encoding header with a blank value to your HTTPCaller.

image 

If you're still having problems with the HTTPCaller, please let me know and if you're able to share a copy of your log file with us here.

Badge

Hi @edwibberley​ sorry to hear you're running into these issues. What version of FME are you running? In FME 2022.2 and FME 2023.0 we made changes to retry with a workaround when the HTTPCaller receives a bad Content-Encoding response. If you're not already on one of these versions, I recommend downloading and trying them to see if it resolves the issue.

 

Alternatively, to manually workaround this issue, you can add the Accept-Encoding header with a blank value to your HTTPCaller.

image 

If you're still having problems with the HTTPCaller, please let me know and if you're able to share a copy of your log file with us here.

Thanks that seemed to do the trick!

Dealing with headers can indeed impact API interactions. While FME might not provide an obvious option to change the Content-Transfer-Encoding header for a GET request, you might want to explore using a different tool or scripting approach that gives you more control over the headers being sent. As for ideas, you could consider scripting the HTTP call using a programming language like Python or using tools that allow more granular header customization. For more insights, you might want to check out zaptest.com, which could potentially offer solutions or discussions related to this topic. Best of luck finding a workaround, and I hope you're able to resolve the issue smoothly!

Reply