08/19/2020
Hi everyone,
I have a case where an OPC UA server sends a ServiceFault with the message BadTimeout 0x800a0000 where the Request Id matches a PublishRequest from the client. After the ServiceFault the server sends directly a PublishResponse, but with a newer Request ID. After that the communication continues normally and e.g. ReadRequests are answered correctly without delay. These ServiceFaults, always with a Request Id matching a PublishRequest, are constantly repeated in the network log. The question is, if it is defined in the specification, should the server react differently here or how should the timeout message be interpreted by the client? Does anyone have an idea? Thanks shcon times in advance!
PR
05/30/2017
Servers maintain a queue of PublishRequests and hold onto them until there is data to send. This can result in timeouts if the Client sets the TimeoutHint to a value that is too low (the appropriate values depends on the Subscription PublishingIntervals and the number of outstanding Publish requests).
IOW, the behavoiur you see is normal and can be fixed by increasing the TimeoutHint sent on your PublishRequests.
1 Guest(s)