Loading a BLOB

  

Hi there,


Well, in my project, I have to send several fields, almost 30 fields using a WebService Rest. And one of them is a BinaryData. I'm catching this binary from a blob from external database. I'm using a Get widget to get the register that i want, but some registers has blobs that exceed more then 15mb. The problem happen because the WebService has a timeout limit (100 seconds ). When the application find some register that has a heavy blob, it returns Timeout.


How can I improve this flow to decrease the time of upload of this blob?



Thanks.

Hello Henrique,

Are you consuming the web service or exposing?

In case you are consuming, the timeout is happening when you send the information  or when you are preparing it?

If you are exposing, why the timmeout is so short? Can't you change the timeout?

I don't see a way to "accelerate" an upload, as this is related to the size of the file, network conditions, etc.

Cheers.

Hi Eduardo, thank you for your quick reply.

So, I'm exposing the service.

why the timmeout is so short? 

Actually It's the outsystems default.

Can't you change the timeout?

I don't know how, Can you teach me please?


Thanks.

Hi Henrique.

In the method you will find a property called Timeout in Seconds. if you don't set its value, the system will assum 100 seconds.

https://success.outsystems.com/Support/Enterprise_Customers/Maintenance_and_Operations/Timeouts_Under_the_Hood

Cheers

Hi Eduardo

Thanks, i'll try this,

Let me understand one thing. When the outsystems get the binary data from external data base, it load and build the binary. Right?

Is there some way to send this binary without build it (or upload it) in outsystems?


Solution

Hi,

Don't understand what you mean by "built" the binary. 

The binary is in an external database, you are sending the answer to a web service request. If you want to send the binary in the body as base64 (the usual) you have to fetch the data from the database, convert to base64 if not in this format and include in the answer.

But I suppose you can instead send a link/token and make a page to download the file using this.

In any case, you will have code to fetch the data and return it for who is asking.

Cheers.

Solution