Answered by:
The operation with action "CompositeOperation" took longer than the specified timeout "00:01:00" wcf-sql

Question
-
Hi,
i have an esb application to share master data .Iam using WCF-SQL adaptor. If records count is more ,then i Get the following error.
The operation with action "CompositeOperation" took longer than the specified timeout "00:01:00"
How to increase the time .
Please help me.
Thursday, April 7, 2016 5:34 AM
Answers
-
Hi Rachit,
I am using WCF-SQL for schema creation.
And i am using dynamic send port.
How to do it.
You have two options:
1) Set the value to individual property like below:
yourmessage(WCF.SendTimeout) = "00:10:00"; yourmessage(WCF.CloseTimeout) = "00:10:00"; yourmessage(WCF.OpenTimeout) = "00:10:00";
2) Set the binding configuration like below:
yourmessage(WCF.BindingConfiguration) = @"<binding name=""WCF-SQL"" closeTimeout=""00:10:00"" sendTimeout=""00:10:00"" openTimeout=""00:10:00""></binding>";
Rachit Sikroria (Microsoft Azure MVP)
- Edited by Rachit SikroriaModerator Thursday, April 7, 2016 7:20 AM edit
- Proposed as answer by Angie Xu Monday, April 11, 2016 2:49 AM
- Marked as answer by Angie Xu Friday, April 15, 2016 1:36 AM
Thursday, April 7, 2016 7:12 AMModerator -
Since this is a Send Operation, just increase the SendTimeout value to a larger one, say from 1 minute to 10 minutes - "00:10:00". This should allow your SQL operations more time to execute before the WCF channel on BizTalk times out.
Also, you may want to check if there is any performance degradation at the destination SQL Server side, which may be causing these operations to take long.
Refer this for more details on the various config settings for WCF-SQL adapter-
https://msdn.microsoft.com/en-us/library/dd787981.aspx
Thanks Arindam
- Edited by Arindam Paul RoyEditor Thursday, April 7, 2016 6:40 AM
- Proposed as answer by Arindam Paul RoyEditor Tuesday, January 31, 2017 7:35 PM
- Marked as answer by Arindam Paul RoyEditor Tuesday, January 31, 2017 7:35 PM
Thursday, April 7, 2016 6:30 AMModerator
All replies
-
Please set below setting for on WCF-Sql Bindings on your send port. This is should take care of your end to end transaction with SQL before the WCF channel timeout.
1) OpenTimeout : 01:00:00
OpenTimeout (TimeSpan) – the interval of time provided for an open operation to complete including security handshakes (WS-Trust, WS-Secure Conversation etc.). The default is 00:01:00.
2) CloseTimeOut: 01:00:00
CloseTimeout (TimeSpan) – the interval of time provided for a close operation to complete. The default is 00:01:00.
3) SendTimeout: 01:00:00
SendTimeout (TimeSpan) – the interval of time provided for an entire operation to complete. This includes both sending of message and receiving reply! The default is 00:01:00.
4) ReceiveTimeout: 01:00:00
ReceiveTimeout (TimeSpan) – the interval of time that a connection can remain inactive, during which no application messages are received, before it is dropped. The default is 00:10:00.
This setting is only used on the server-side and has no effect on client-side.
When using Reliable Sessions remember to set the InactivityTimeout property on the reliableSession element to the same value as the ReceiveTimeout property, as both inactivity timers has to be satisfied.Configuring Timeout Values on a Binding
Rachit Sikroria (Microsoft Azure MVP)
- Edited by Rachit SikroriaModerator Thursday, April 7, 2016 6:47 AM
Thursday, April 7, 2016 5:48 AMModerator -
Since this is a Send Operation, just increase the SendTimeout value to a larger one, say from 1 minute to 10 minutes - "00:10:00". This should allow your SQL operations more time to execute before the WCF channel on BizTalk times out.
Also, you may want to check if there is any performance degradation at the destination SQL Server side, which may be causing these operations to take long.
Refer this for more details on the various config settings for WCF-SQL adapter-
https://msdn.microsoft.com/en-us/library/dd787981.aspx
Thanks Arindam
- Edited by Arindam Paul RoyEditor Thursday, April 7, 2016 6:40 AM
- Proposed as answer by Arindam Paul RoyEditor Tuesday, January 31, 2017 7:35 PM
- Marked as answer by Arindam Paul RoyEditor Tuesday, January 31, 2017 7:35 PM
Thursday, April 7, 2016 6:30 AMModerator -
Hi Rachit,
I am using WCF-SQL for schema creation.
And i am using dynamic send port.
How to do it.
Thursday, April 7, 2016 7:06 AM -
Hi Rachit,
I am using WCF-SQL for schema creation.
And i am using dynamic send port.
How to do it.
You have two options:
1) Set the value to individual property like below:
yourmessage(WCF.SendTimeout) = "00:10:00"; yourmessage(WCF.CloseTimeout) = "00:10:00"; yourmessage(WCF.OpenTimeout) = "00:10:00";
2) Set the binding configuration like below:
yourmessage(WCF.BindingConfiguration) = @"<binding name=""WCF-SQL"" closeTimeout=""00:10:00"" sendTimeout=""00:10:00"" openTimeout=""00:10:00""></binding>";
Rachit Sikroria (Microsoft Azure MVP)
- Edited by Rachit SikroriaModerator Thursday, April 7, 2016 7:20 AM edit
- Proposed as answer by Angie Xu Monday, April 11, 2016 2:49 AM
- Marked as answer by Angie Xu Friday, April 15, 2016 1:36 AM
Thursday, April 7, 2016 7:12 AMModerator -
Just for clarity, the only binding property that will have a bearing in your case is the SendTimeOut property - increasing just this is enough. Rest do not apply in your case.
Thanks Arindam
Thursday, April 7, 2016 7:21 AMModerator