500 Timeout received while attempting to publish a custom content module item
I have a custom created a custom content module that has several fields to populate ( over 54 media image fields, 27 choices fields, a handful of text fields). I am receiving the timeout when I attempt to create and publish an item. Even when only attempting to add 3 images to the content item it still fails. I attempted to up the timeout value and remove the search indexes as described in the following knowledgebase but that did not help:
www.sitefinity.com/.../when-publishing-or-saving-a-page-you-are-getting-a-timeout-message-for-the-request-channel-of-waiting-for-response-for-some-time
I also created a web service trace that was described in another KB post and have attached a screenshot of it, unfortunately it won't allow me to attach the trace itself.
I also attempted to re-index the database itself following another knowledgebase article. Nothing seems to work at this point.
It appears that after I publish and receive the timeout error I am able to go back and look at the entered content for the item and it does appear to save it properly.
the following is the web service trace post
<
E2ETraceEvent
xmlns
=
"http://schemas.microsoft.com/2004/06/E2ETraceEvent"
>
<
System
xmlns
=
"http://schemas.microsoft.com/2004/06/windows/eventlog/system"
>
<
EventID
>131076</
EventID
>
<
Type
>3</
Type
>
<
SubType
Name
=
"Error"
>0</
SubType
>
<
Level
>2</
Level
>
<
TimeCreated
SystemTime
=
"2012-10-25T19:09:05.0351709Z"
/>
<
Source
Name
=
"System.ServiceModel"
/>
<
Correlation
ActivityID
=
"23e6621c-74ec-43f0-a9c2-5e0fc72ceff8"
/>
<
Execution
ProcessName
=
"w3wp"
ProcessID
=
"4744"
ThreadID
=
"8"
/>
<
Channel
/>
<
Computer
>ESSENSE-AESCUTI</
Computer
>
</
System
>
<
ApplicationData
>
<
TraceData
>
<
DataItem
>
<
TraceRecord
xmlns
=
"http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord"
Severity
=
"Error"
>
<
TraceIdentifier
>http://msdn.microsoft.com/en-US/library/System.ServiceModel.Diagnostics.TraceHandledException.aspx<;/
TraceIdentifier
>
<
Description
>Handling an exception.</
Description
>
<
AppDomain
>/LM/W3SVC/2/ROOT-3-129956652767987638</
AppDomain
>
<
Exception
>
<
ExceptionType
>System.TimeoutException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</
ExceptionType
>
<
Message
>The request channel timed out while waiting for a reply after 00:00:59.9539974. Increase the timeout value passed to the call to Request or increase the SendTimeout value on the Binding. The time allotted to this operation may have been a portion of a longer timeout.</
Message
>
<
StackTrace
>
Server stack trace:
at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Telerik.Sitefinity.ContentWorkflows.IService.SendMessage(String operationName, Boolean isCheckedOut, Guid workflowDefinitionId, Guid contentId, String providerName, Dictionary`2 contextBag)
at Telerik.Sitefinity.Workflow.WorkflowManager.MessageWorkflow(String wokflowUrl, String operationName, WorkflowDefinition workflowDefinition, Guid contentId, String providerName, Boolean isCheckedOut, Dictionary`2 contextBag)
at Telerik.Sitefinity.Workflow.WorkflowManager.MessageWorkflow(Guid itemId, Type itemType, String providerName, String operationName, Boolean isCheckedOut, Dictionary`2 contextBag)
at Telerik.Sitefinity.DynamicModules.Web.Services.DataService.SaveDataItemInternal(ItemContext`1 dataItem, String itemType, String provider, String workflowOperation, String parentId, String parentType, String newParentId)
at Telerik.Sitefinity.DynamicModules.Web.Services.DataService.SaveDataItem(ItemContext`1 dataItem, String dataItemId, String provider, String itemType, String workflowOperation)
at SyncInvokeSaveDataItem(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
</
StackTrace
>
<
ExceptionString
>System.TimeoutException: The request channel timed out while waiting for a reply after 00:00:59.9539974. Increase the timeout value passed to the call to Request or increase the SendTimeout value on the Binding. The time allotted to this operation may have been a portion of a longer timeout. ---> System.TimeoutException: The HTTP request to 'http://essense.localhost/DefaultWorkflows/ApprovalWorkflow.xamlx' has exceeded the allotted timeout of 00:00:59.9700000. The time allotted to this operation may have been a portion of a longer timeout. ---> System.Net.WebException: The operation has timed out
at System.Net.HttpWebRequest.GetResponse()
at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
--- End of inner exception stack trace ---
at System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException(WebException webException, HttpWebRequest request, HttpAbortReason abortReason)
at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
--- End of inner exception stack trace ---
Server stack trace:
at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Telerik.Sitefinity.ContentWorkflows.IService.SendMessage(String operationName, Boolean isCheckedOut, Guid workflowDefinitionId, Guid contentId, String providerName, Dictionary`2 contextBag)
at Telerik.Sitefinity.Workflow.WorkflowManager.MessageWorkflow(String wokflowUrl, String operationName, WorkflowDefinition workflowDefinition, Guid contentId, String providerName, Boolean isCheckedOut, Dictionary`2 contextBag)
at Telerik.Sitefinity.Workflow.WorkflowManager.MessageWorkflow(Guid itemId, Type itemType, String providerName, String operationName, Boolean isCheckedOut, Dictionary`2 contextBag)
at Telerik.Sitefinity.DynamicModules.Web.Services.DataService.SaveDataItemInternal(ItemContext`1 dataItem, String itemType, String provider, String workflowOperation, String parentId, String parentType, String newParentId)
at Telerik.Sitefinity.DynamicModules.Web.Services.DataService.SaveDataItem(ItemContext`1 dataItem, String dataItemId, String provider, String itemType, String workflowOperation)
at SyncInvokeSaveDataItem(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)</
ExceptionString
>
<
InnerException
>
<
ExceptionType
>System.TimeoutException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</
ExceptionType
>
<
Message
>The HTTP request to 'http://essense.localhost/DefaultWorkflows/ApprovalWorkflow.xamlx' has exceeded the allotted timeout of 00:00:59.9700000. The time allotted to this operation may have been a portion of a longer timeout.</
Message
>
<
StackTrace
>
at System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException(WebException webException, HttpWebRequest request, HttpAbortReason abortReason)
at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
</
StackTrace
>
<
ExceptionString
>System.TimeoutException: The HTTP request to 'http://essense.localhost/DefaultWorkflows/ApprovalWorkflow.xamlx' has exceeded the allotted timeout of 00:00:59.9700000. The time allotted to this operation may have been a portion of a longer timeout. ---> System.Net.WebException: The operation has timed out
at System.Net.HttpWebRequest.GetResponse()
at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
--- End of inner exception stack trace ---
at System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException(WebException webException, HttpWebRequest request, HttpAbortReason abortReason)
at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)</
ExceptionString
>
<
InnerException
>
<
ExceptionType
>System.Net.WebException, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</
ExceptionType
>
<
Message
>The operation has timed out</
Message
>
<
StackTrace
>
at System.Net.HttpWebRequest.GetResponse()
at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
</
StackTrace
>
<
ExceptionString
>System.Net.WebException: The operation has timed out
at System.Net.HttpWebRequest.GetResponse()
at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)</
ExceptionString
>
</
InnerException
>
</
InnerException
>
</
Exception
>
</
TraceRecord
>
</
DataItem
>
</
TraceData
>
</
ApplicationData
>
</
E2ETraceEvent
>
Hello,
Did you ever manage to resolve this issue? I have the exact same problem. We need to do some refactoring, but, even still, I think the process we're carrying out will take longer than 1 minute to execute.
To that end, I've tried the following, without success:
1. Setting the SendTimeout, OpenTimeout, CloseTimeout and ReceiveTimeout on the binding in the web.config to 10 minutes (00:10:00).
2. In Administration > Settings > Advanced > Workflows > BindingTimeoutsConfigCaption, I've set all of the values to 60000 ms (10 minutes).
At first, this seemed to work. I created my item without the timeout occuring, and it took more than one minute to complete. I then removed my values from the BindingTimeoutsConfigCaption, and as I had suspected, the timeout occured again. However, When I put the values back into this config in the settings area, I got the timeout message again, which I did not expect. I have a ticket into telerik on this particular issue as well.
In my case, it's the AnyContentApprovalWorkflow, as opposed to the ApprovalWorkflow, but, I would assume the timeout values being sent would be the same regardless.
Hi,
Why do you need to remove the values from the BindingTimeoutsConfigCaption if this is working in your case? I think that after you input them the second time you must restart your IIS because this might be a caching issue.
All the best,