11

複合テンプレートで特定のコードを公開/レンダリングすると、環境の 1 つで突然問題が発生しました。これは DTAP 環境であり、問​​題は 2 つの CMS マシンと 2 つのパブリッシャーがある実稼働環境 (いつものように ;-) でのみ発生します。すべて同じ動作を示します。

問題を引き起こすコードは次のとおりです。

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

テンプレートビルダーのエラーは次のとおりです。

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) 

外部サーバーに実際にアクセスしようとしていないのは奇妙なことです。少なくとも、そのように見えます。Tridion の仕組みに何か欠けているのかもしれません。セキュリティ上の問題であることは確かですが、どこを見ればよいかわかりません。

4

1 に答える 1

5

Nickoli と Nuno のアドバイスの助けを借りて、エラーの問題を解決しました。

このエラーは、コードにアクセスできないネットワーク内の場所から Template Builder を実行しようとしたときに表示されます。エラーはそのメソッドが実行されたときにのみ表示されるため、engine.GetObjectメソッドに関連していると思いました。

最後にコードにもエラーがありましたが、それは悪い再帰メソッドに関係していました。

于 2012-05-08T20:10:14.593 に答える