Hi,
On the Nevion Video iPath driver we have a session defined as shown below:
When performing this request we get a huge response capable of reaching +40MB.
Most of the times we are able to fetch the data successfully and process it.
But some other times we get this exception when processing the response content:
Unexpected end when deserializing object. Path 'data.config.network.nGraphElements['device92.e99e0dff-4942-334a-b967-900556a4404d.S224146c4-23aa-3f3b-b85a-44cad38a079c'].value.descriptor', line 1252505, position 4.
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ThrowUnexpectedEndException(JsonReader reader, JsonContract contract, Object currentObject, String message)
We tried to increase the timeout session attribute to 20s and it reduced the amount of times this happened, which can indicate that by having more time to receive data, the probability of receiving a response successfully is higher.
Note that the element never goes into timeout after performing this request.
This being said, I would like to know if it's possible that the session is reaching the timeout time, causing all the packets received until this point to be merged into an incomplete response that's set on the content parameter of the session?
Thanks in advance.
Hi Pedro,
According to your analysis, I think your assumptions are correct. If by increasing the timeout time you decrease the probability of Timing out I would say there is a direct relationship between the time it takes to receive the reply and the allowed timeout.
An HTTP message is only considered fully received once you have all packets.
DataMiner never gives you partial HTTP data.
If possible please consider changing that call into multiple sub calls. This way you will do extra calls but your connector will be more reactive and robust from receiving huge replies.