Android Client Exception when Rest API managed by DreamFactory (double quote on params)

Hi
I’m developing an Android mobile App with delphi using a Rest API hosted by an Apache server.
Everything was working perfectly until I place DreamFactory between clients and Rest API server.
I implemented Service, role, users…
Working fine with

  • Postman
  • W32 version Mobile App compilation (easy with Delphi)

But when I call DreamFactory exposed API with Android client I get an exception

EJNIException
java.net.ProtocolException : unexpected end of stream

It seems linked to different sizes of data between expected and received
And this occurs only with Android (not iOS tested yet) and DreamFactory
Direct request to Web Server hosting Rest API works fine even with Android.

Current DreamFactory used for test = v4.5.3

Is there setting to define, helping to improve Android support?

Thanks

Sylvain

PS : duplicated ticket as the first was created in wrong Section, my bad.

Hi
I think I get a idea about cause of this behaviour but it seems on DF side

By increasing log level to debug I get

[2021-05-28T08:42:28.856361+00:00] local.INFO: [REQUEST] {"API Version":"2.0","Method":"GET","Service":"ecopoi","Resource":"padmobile/padmobileby_km_gps/","Requestor":1} 
[2021-05-28T08:42:28.856509+00:00] local.DEBUG: [REQUEST] {"Parameters":"{\"Latitude\":\"'48.9100651'\",\"Longitude\":\"'2.290791'\",\"Km\":\"20\",\"categories\":\"'emo,'\",\"UUID\":\"''\"}","API Key":"949c100cf510be8807d3e191e9a41d195d28e78c9b47c7d3ab4033e34819c818","JWT":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxZDJhYjE2NDU1OWFhZjhhMzBlZWJmNTE2ZDJmNjNhZCIsImlzcyI6Imh0dHBzOi8vYXBpaHViLmVjb2xvZ2ljLXByZXByb2QubmV0L2FwaS92Mi91c2VyL3Nlc3Npb24iLCJpYXQiOjE2MjIxOTEzNDEsImV4cCI6MTYyMjI3Nzc0MSwibmJmIjoxNjIyMTkxMzQxLCJqdGkiOiJVNFdEeXlBdjd3QjVqSXVDIiwidXNlcl9pZCI6MywiZm9yZXZlciI6ZmFsc2V9.cfXa_3lsk9mv8WGUIV2BtUO7u74A9SOJQplsrex6Kwo"} 
[2021-05-28T08:42:28.859441+00:00] local.DEBUG: Outbound HTTP request: GET: http://xxxxxxxxxx.net/ecologic/poi/padmobile/padmobileby_km_gps?Latitude=%2748.9100651%27&Longitude=%272.290791%27&Km=20&categories=%27emo%252C%27&UUID=%27%27&categories=%27emo%2C%27  
[2021-05-28T08:42:28.880914+00:00] local.INFO: [RESPONSE] {"Status Code":200,"Content-Type":"application/json"} 
[2021-05-28T08:42:28.881211+00:00] local.INFO: [RESPONSE] {"Status Code":200,"Content-Type":"application/json"} 

What seems wrong it’s the integration of %27 for all string parameters in URL

Latitude=%2748.9100651%27&Longitude=%272.290791%27&Km=20&categories=%27emo%252C%27&UUID=%27%27&categories=%27emo%2C%27

If I test this URL with Windows browser => all is OK, this is what is used by Windows Code probably
If I test this URL with Postman => KO closer to Android behavior I guess.

Question
is there a way to indicate to DreamFactory to not add double quote and encode parameter in URL?

I tried to solve issue by clean incoming request on API but it wasn’t enough
So I switch to another API GW and everything is working at first attempt and very faster => tyk.io