2012-05-07 10 views
11

Apareció un problema repentino en uno de los entornos al publicar/renderizar un determinado fragmento de código en Compound Templating. Es un entorno DTAP, y el problema solo ocurre en el entorno de Producción (como siempre ;-), donde hay dos máquinas CMS y dos editores. Todos mostrando el mismo comportamiento.Problema durante la representación usando C# en plantillas compuestas

El código que hace que el problema es:

StructureGroup SG = (StructureGroup)engine.GetObject("/webdav/pub/root/etc/etc..."); 

El error en el creador de la plantilla es:

System.Net.WebException: The underlying connection was closed: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 10.77.66.136:80 
    bij System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) 
    bij System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP) 
    bij System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception) 
    --- Einde van intern uitzonderingsstackpad --- 
    bij System.Net.HttpWebRequest.GetRequestStream(TransportContext& context) 
    bij System.Net.HttpWebRequest.GetRequestStream() 
    bij System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) 
    bij Tridion.ContentManager.Templating.CompoundTemplates.DomainModel.Proxy.CompoundTemplateWebService.GetDebuggingState(String debuggerSessionId, String lastLogMessageId) 
    bij Tridion.ContentManager.Templating.CompoundTemplates.DomainModel.DebugObject.Start(Template template, Object debugItem, LoggingOptions loggingOptions) 

Lo que es extraño que en realidad no estamos tratando de llegar a un servidor externo. Al menos, así es como se ve. Tal vez me falta algo sobre cómo funciona Tridion. Estoy bastante seguro de que es un problema de seguridad, pero no sé dónde buscar.

+2

Parece que tienes una dirección IP en tu rastro de pila. Haga ping y descubra qué servidor de su arquitectura es. –

+0

¿Puedes especificar tu versión de SDL Tridion? –

+2

¿Sospecho que su error está en el generador de plantillas? TOM.NET NO abrirá una conexión remota en ninguna parte, y su error está en la comunicación de red ... ¿Puede intentar una vista previa o publicación en el CMS? –

Respuesta

5

Descubrí el problema del error con la ayuda de los consejos de Nickoli y Nuno.

Este error se muestra cuando el generador de plantillas está intentando ejecutar desde una ubicación en una red, que no tiene acceso al código. Pensé que estaba relacionado con el motor . Método GetObject, porque el error solo aparecía cuando se ejecutaba ese método.

También hubo un error en el código al final, pero eso tenía que ver con un mal método recursivo.

Cuestiones relacionadas