When I try connecting the CM from Visio Workflow Designer by double clicking the any WF activity, the designer pops up a dialog to enter credentials and after submitting the credentials, I am getting the exception as below after a minute or so.
The operation has timed out
System.Web.Services()
I checked logs, it looked a timeout issue to me so I increased timeout values (to 03.00.00 ) for "CoreService_netTcpBinding" binding in "web.config" at path "{TridionInstallDirectory}\Web" and in "TcmServiceHost.exe.config" at path "{TridionInstallDirectory}\bin", but getting the same error as below:
The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '03:00:00'. The write operation failed, see inner exception. The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '03:00:00'. An existing connection was forcibly closed by the remote host Component: Tridion.ContentManager.CoreService Errorcode: 0 User: NT AUTHORITY\NETWORK SERVICE StackTrace Information Details: at System.ServiceModel.Channels.SocketConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout) at System.ServiceModel.Channels.SocketConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout) at System.ServiceModel.Channels.BufferedConnection.WriteNow(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout, BufferManager bufferManager) at System.ServiceModel.Channels.BufferedConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout) at System.ServiceModel.Channels.ConnectionStream.Write(Byte[] buffer, Int32 offset, Int32 count) at System.Net.Security.NegotiateStream.StartWriting(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.NegotiateStream.ProcessWrite(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.NegotiateStream.ProcessWrite(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.NegotiateStream.Write(Byte[] buffer, Int32 offset, Int32 count) at System.ServiceModel.Channels.StreamConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout) at System.ServiceModel.Channels.StreamConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout) at System.ServiceModel.Channels.StreamConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout, BufferManager bufferManager) at System.ServiceModel.Channels.FramingDuplexSessionChannel.OnSendCore(Message message, TimeSpan timeout) at System.ServiceModel.Channels.TransportDuplexSessionChannel.OnSend(Message message, TimeSpan timeout) at System.ServiceModel.Channels.OutputChannel.Send(Message message, TimeSpan timeout) at System.ServiceModel.Channels.TransactionDuplexChannelGeneric`1.Send(Message message, TimeSpan timeout) at System.ServiceModel.Channels.RequestContextBase.Reply(Message message, TimeSpan timeout) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.Reply(MessageRpc& rpc)
AND
Thread was being aborted.
Component: Tridion.ContentManager.Workflow.DesignerService Errorcode: 0 User: NT AUTHORITY\NETWORK SERVICE
StackTrace Information Details: at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) at Tridion.ContentManager.CoreService.Client.ISessionAwareCoreService.GetSystemWideList(SystemWideListFilterData filter) at Tridion.ContentManager.Workflow.DesignerService.WFListener.GetSystemWideList[T,FT](ListBaseColumns baseColumns, FT other) at Tridion.ContentManager.Workflow.DesignerService.WFListener.GetWorkflowData()
Am I missing increasing the timeout value somewhere or it's unrelated to increasing timeout?
UPDATE
While connecting, it looks like Tridion iterates through and performs several different Tridion.ContentManager.Workflow.DesignerService.WFListener.GetSystemWideList()
methods. These methods in turn make a database call and read data back as a result of the call.
the final iteration of the GetSystemWideList() method makes the following database call:
TCM_WORKFLOW_GETLIST_PROCESS_DEFINITIONS
While the database call itself take less than 100ms to complete, it looks like the resulting data read takes a whopping 2+ minutes to complete in Sandbox.
I tried browsing Workflow Process Definitions in Tridion Browser. And it take around 2 mins to respond but present the results in the end without timing out.