5

In a 2011 to 2013 upgraded environment, I'm getting the following error when updating preview on certain pages (and then performing any actions in the CME. TcmServiceHost also stops.

Could not connect to net.tcp://localhost:2660/CoreService/2012/netTcp. The connection attempt lasted for a time span of 00:00:02. TCP error code 10061: No connection could be made because the target machine actively refused it 127.0.0.1:2660.

Update 1: Browser console shows as issue with GetPreviewToken.

POST http://cms.electridion.com/WebUI/Models/SiteEdit/Services/Services.svc/GetPreviewToken 500 (Internal Server Error)

coreresource_v7.0.0.568.5_.js?sav=1&cnt=core:18 Tridion.Sys.Net.WebRequest.execute coreresource_v7.0.0.568.5_.js?sav=1&cnt=core:18 $communicator.invokeAggregated coreresource_v7.0.0.568.5_.js?sav=1&cnt=core:196

Restarting the service fixes the issue until the next preview.

I understand we configure NetTcp, which the CME uses, in %TRIDION_HOME%\TcmServiceHost.exe.config which has (updated to show the SDL Tridion 2013 endpoint):

<services>
  <service behaviorConfiguration="Tridion.ContentManager.ServiceHost.WindowsServiceHost.CoreServiceBehavior" name="Tridion.ContentManager.CoreService.CoreService2011">
    <endpoint name="netTcp" address="netTcp" binding="netTcpBinding" bindingConfiguration="CoreService_netTcpBinding" bindingNamespace="http://www.sdltridion.com/ContentManager/CoreService/2011" contract="Tridion.ContentManager.CoreService.ISessionAwareCoreService2011"/>
    <endpoint name="streamDownload_netTcp" address="streamDownload_netTcp" binding="netTcpBinding" bindingConfiguration="StreamDownload_netTcpBinding" bindingNamespace="http://www.sdltridion.com/ContentManager/CoreService/2011" contract="Tridion.ContentManager.CoreService.IStreamDownload2011"/>
    <endpoint name="streamUpload_netTcp" address="streamUpload_netTcp" binding="netTcpBinding" bindingConfiguration="StreamUpload_netTcpBinding" bindingNamespace="http://www.sdltridion.com/ContentManager/CoreService/2011" contract="Tridion.ContentManager.CoreService.IStreamUpload2011"/>
    <endpoint name="mex" address="mex" binding="mexTcpBinding" bindingConfiguration="" contract="IMetadataExchange"/>
    <host>
      <baseAddresses>
        <add baseAddress="net.tcp://localhost:2660/CoreService/2011"/>
      </baseAddresses>
    </host>
  </service>
  <service behaviorConfiguration="Tridion.ContentManager.ServiceHost.WindowsServiceHost.CoreServiceBehavior" name="Tridion.ContentManager.CoreService.CoreService2012">
    <endpoint name="netTcp" address="netTcp" binding="netTcpBinding" bindingConfiguration="CoreService_netTcpBinding" bindingNamespace="http://www.sdltridion.com/ContentManager/CoreService/2012" contract="Tridion.ContentManager.CoreService.ISessionAwareCoreService2012"/>
    <endpoint name="streamDownload_netTcp" address="streamDownload_netTcp" binding="netTcpBinding" bindingConfiguration="StreamDownload_netTcpBinding" bindingNamespace="http://www.sdltridion.com/ContentManager/CoreService/2012" contract="Tridion.ContentManager.CoreService.IStreamDownload2012"/>
    <endpoint name="streamUpload_netTcp" address="streamUpload_netTcp" binding="netTcpBinding" bindingConfiguration="StreamUpload_netTcpBinding" bindingNamespace="http://www.sdltridion.com/ContentManager/CoreService/2012" contract="Tridion.ContentManager.CoreService.IStreamUpload2012"/>
    <endpoint name="batch_netTcp" address="batch_netTcp" binding="netTcpBinding" bindingConfiguration="CoreService_netTcpBinding" bindingNamespace="http://www.sdltridion.com/ContentManager/CoreService/2012" contract="Tridion.ContentManager.CoreService.ICoreServiceBatch2012"/>
    <!-- We use TcmServiceHost.exe as source for WSDL-extraction for the T.CM.CoreService.Client. We need an endpoint for the ICoreService2012 contract, otherwise it's not included in the WSDL/proxy. -->
    <endpoint name="dummy" address="dummy" binding="netTcpBinding" bindingConfiguration="CoreService_netTcpBinding" bindingNamespace="http://www.sdltridion.com/ContentManager/CoreService/2012" contract="Tridion.ContentManager.CoreService.ICoreService2012"/>
    <endpoint name="mex" address="mex" binding="mexTcpBinding" bindingConfiguration="" contract="IMetadataExchange"/>
    <!--
    <endpoint name="netFederationTcp" address="netFederationTcp" binding="customBinding" bindingConfiguration="CoreService_netFederationTcpBinding" bindingNamespace="http://www.sdltridion.com/ContentManager/CoreService/2012" contract="Tridion.ContentManager.CoreService.ISessionAwareCoreService2012" />
    <endpoint name="batch_netFederationTcp" address="batch_netFederationTcp" binding="customBinding" bindingConfiguration="CoreService_netFederationTcpBinding" bindingNamespace="http://www.sdltridion.com/ContentManager/CoreService/2012" contract="Tridion.ContentManager.CoreService.ICoreServiceBatch2012" />
    -->
    <host>
      <baseAddresses>
        <add baseAddress="net.tcp://localhost:2660/CoreService/2012"/>
      </baseAddresses>
    </host>
  </service>
  <service behaviorConfiguration="Tridion.ContentManager.ServiceHost.WindowsServiceHost.CoreServiceBehavior" name="Tridion.ContentManager.Publishing.PreviewService.FastTrackPublishingService">
    <endpoint name="netTcp" address="netTcp" binding="netTcpBinding" bindingConfiguration="CoreService_netTcpBinding" bindingNamespace="http://www.sdltridion.com/SiteEdit/FastTrackPublishing" contract="Tridion.ContentManager.Publishing.PreviewService.IFastTrackPublishingService"/>
    <host>
      <baseAddresses>
        <add baseAddress="net.tcp://localhost:2660/FastTrackPublishingService"/>
      </baseAddresses>
    </host>
  </service>

IIS has the CMS with bindings set to http for host cms.domainname.com on Port 80.

Update and here's the partial browser error.

System.ServiceModel.EndpointNotFoundException: Could not connect to net.tcp://localhost:2660/CoreService/2012/netTcp. The connection attempt lasted for a time span of 00:00:02.0007991. TCP error code 10061: No connection could be made because the target machine actively refused it 127.0.0.1:2660. ---> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 127.0.0.1:2660

Questions:

  1. Do I need to set anything for the port 2660 (firewall, IIS, etc?) for the CME itself running on the same machine?
  2. Does the net.tcp://localhost need to match the CME url?
  3. Should TcmServiceHost.exe continue to run (it's set to "Automatic" so I'm not sure if that means stopping is a problem) or thoughts on what can stop it?

In terms of error logs, I do see Audience Manager complaining about the same issues but nothing much in Staging's core log. Where else should I check?

Update 2: I think a bad template caused the service to stop--it called RenderComponentPresentation on itself. I could see the template stall in Template Builder and Windows created fairly large crash reports (folders starting with AppCrash_TcmTemplateDebug_) in C:\ProgramData\Microsoft\Windows\WER\ReportQueue.

6

I think your configuration file is missing the 2013 endpoints in the TcmServiceHost.exe.config.

<service behaviorConfiguration="Tridion.ContentManager.ServiceHost.WindowsServiceHost.CoreServiceBehavior" name="Tridion.ContentManager.CoreService.CoreService2012">
    <endpoint name="netTcp" address="netTcp" binding="netTcpBinding" bindingConfiguration="CoreService_netTcpBinding" bindingNamespace="http://www.sdltridion.com/ContentManager/CoreService/2012" contract="Tridion.ContentManager.CoreService.ISessionAwareCoreService2012"/>
    <endpoint name="streamDownload_netTcp" address="streamDownload_netTcp" binding="netTcpBinding" bindingConfiguration="StreamDownload_netTcpBinding" bindingNamespace="http://www.sdltridion.com/ContentManager/CoreService/2012" contract="Tridion.ContentManager.CoreService.IStreamDownload2012"/>
    <endpoint name="streamUpload_netTcp" address="streamUpload_netTcp" binding="netTcpBinding" bindingConfiguration="StreamUpload_netTcpBinding" bindingNamespace="http://www.sdltridion.com/ContentManager/CoreService/2012" contract="Tridion.ContentManager.CoreService.IStreamUpload2012"/>
    <endpoint name="batch_netTcp" address="batch_netTcp" binding="netTcpBinding" bindingConfiguration="CoreService_netTcpBinding" bindingNamespace="http://www.sdltridion.com/ContentManager/CoreService/2012" contract="Tridion.ContentManager.CoreService.ICoreServiceBatch2012"/>
    <!-- We use TcmServiceHost.exe as source for WSDL-extraction for the T.CM.CoreService.Client. We need an endpoint for the ICoreService2012 contract, otherwise it's not included in the WSDL/proxy. -->
    <endpoint name="dummy" address="dummy" binding="netTcpBinding" bindingConfiguration="CoreService_netTcpBinding" bindingNamespace="http://www.sdltridion.com/ContentManager/CoreService/2012" contract="Tridion.ContentManager.CoreService.ICoreService2012"/>
    <endpoint name="mex" address="mex" binding="mexTcpBinding" bindingConfiguration="" contract="IMetadataExchange"/>
    <!--
    <endpoint name="netFederationTcp" address="netFederationTcp" binding="customBinding" bindingConfiguration="CoreService_netFederationTcpBinding" bindingNamespace="http://www.sdltridion.com/ContentManager/CoreService/2012" contract="Tridion.ContentManager.CoreService.ISessionAwareCoreService2012" />
    <endpoint name="batch_netFederationTcp" address="batch_netFederationTcp" binding="customBinding" bindingConfiguration="CoreService_netFederationTcpBinding" bindingNamespace="http://www.sdltridion.com/ContentManager/CoreService/2012" contract="Tridion.ContentManager.CoreService.ICoreServiceBatch2012" />
    -->
    <host>
      <baseAddresses>
        <add baseAddress="net.tcp://localhost:2660/CoreService/2012"/>
      </baseAddresses>
    </host>
  </service>
  • Nice catch based on my original question (which just showed the older baseAddress. I added more of the config to the question and this seems to match--the environment does has both 2013 ("2012") and 2011 endpoints. I'll check for other settings and report back. – Alvin Reyes Jul 31 '13 at 16:23
  • Hi Alvin,Could you please update your answer if at all you find a fix for this issue.Currently we face the same scenario with the same error. – Sam Feb 18 '14 at 11:29
  • Hi all, could you give more details about the solution please ? I believe we have the same kind of issue on one of our servers. – Sébastien PRAT Aug 26 '16 at 19:43
-2

I think the net.tcpListenerAdapter(Start->Service ) is not started in Server machine

  • user3164298 welcome to the community and thanks for the answer. I traced my specific issue to either a memory leak or maybe space (bad template). Could that impact net.tcpListenerAdapter, making it stop? Or how is TcmServiceHost.exe related to net.tcpListenerAdapter? Adding those to your answer could give context and why is might be that which can increase votes for your answer. – Alvin Reyes May 31 '15 at 5:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.