I’m trying to understand where my problem is. Most of the time the code is working just fine, but sometimes it is waiting to be respond for a long-long time.
Sometimes the service, from which I’m waiting a respond is crushed. Is there any way to find out, that it crushed and don’t wait for it?
Is there any lines (except SendWaitForReply(600000); and SLEEP(100) that code from going on?
I’ve found such a function ReceiveTimeout in IMSMQBusAdapter Interface - if I put there any value - will it prevent form hanging?
OutMsg:= CC2.CreateoutMessage(‘Sockets://’ + … + ‘:’ + …);
OutStream := OutMsg.GetStream();
ReplyMsg := OutMsg.SendWaitForReply(600000);
IF NOT ISSERVICETIER THEN
ReplyStream := ReplyMsg.GetStream()
i := 0;
ReplyStream := ReplyMsg.GetStream();
IF ReplyStream.EOS THEN
Timeout := TRUE
i += 1;
IF i = 100 THEN
Timeout := TRUE;