2012-04-03 10 views
0

私は、クライアントマシンからTridionサーバーに接続するSDL Tridion 2011のコアサービスを使用しています。私はそれをexeceuteしようとしている間、私はいくつかのエラーを取得しています。クライアントマシンからコアサービスにアクセスする際のエラー

Server Error in '/' Application. 
________________________________________ 
Could not load file or assembly 'Tridion.Logging' or one of its dependencies. Strong name signature could not be verified. The assembly may have been tampered with, or it was delay signed but not fully signed with the correct private key. (Exception from HRESULT: 0x80131045) 

私のクライアントコードはTridion.Loggingにreferrringさ:

サンプルコードwsHttp_2011ため

namespace coreservice1 
{ 
    public partial class _Default : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      try 
      { 
       using (ChannelFactory<ISessionAwareCoreService> factory = new ChannelFactory<ISessionAwareCoreService>("wsHttp_2011")) 
       { 

        ISessionAwareCoreService client = factory.CreateChannel(); 
        ComponentData comp = (ComponentData)client.Create(component, new ReadOptions()); 

        ... 

        //steps to create component     

       } 
      } 
      catch (Exception ex) 
      { 
       Response.Write(ex.StackTrace); 
       Response.Write("exception is " + ex.Message); 
      } 
     } 
    } 
} 

私のweb.configファイルは

<wsHttpBinding> 
    <binding name="wsHttp" transactionFlow="true" maxReceivedMessageSize="10485760"> 
     <readerQuotas maxStringContentLength="10485760" maxArrayLength="10485760"/> 
      <security mode="Message"> 
       <message clientCredentialType="Windows"/> 
      </security> 


<endpoint name="wsHttp_2011" address="http://serveraddress:1000/webservices/CoreService2011.svc/wsHttp" binding="wsHttpBinding" bindingConfiguration="wsHttp" contract="Tridion.ContentManager.CoreService.Client.ISessionAwareCoreService"> 
    <identity> 
     <dns value="serveraddress"/> 
    </identity> 
</endpoint> 

エラーです。このアセンブリは私のコードにあります。その存在にかかわらず、私はエラーを取得しています。そして、私がクライアントコードで参照しているDLLのバージョンは、サーバーとまったく同じです。

私は何をする必要がありますか?

また、tridionサーバーのイベントログも確認しました。私はそこに追加されたログを見つけられませんでした。

サーバーマシンでコードを実行すると、コードは正常に動作していました。

イベントビューアのログは、クライアントマシンからこのようなものです:

ConfigurationErrorsException

Could not load file or assembly 'Tridion.Logging, Version=6.1.0.25, Culture=neutral, PublicKeyToken=ddfc895746e5ee6b' or one of its dependencies. Strong name signature could not be verified. The assembly may have been tampered with, or it was delay signed but not fully signed with the correct private key. (Exception from HRESULT: 0x80131045) at System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) at System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() at System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) at System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) at System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies() at System.Web.Compilation.BuildManager.CallPreStartInitMethods() at System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) Could not load file or assembly 'Tridion.Logging, Version=6.1.0.25, Culture=neutral, PublicKeyToken=ddfc895746e5ee6b' or one of its dependencies. Strong name signature could not be verified. The assembly may have been tampered with, or it was delay signed but not fully signed with the correct private key. (Exception from HRESULT: 0x80131045) at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks) at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) at System.Reflection.Assembly.Load(String assemblyString) at System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) Could not load file or assembly 'Tridion.Logging' or one of its dependencies. Strong name signature could not be verified. The assembly may have been tampered with, or it was delay signed but not fully signed with the correct private key. (Exception from HRESULT: 0x80131045)
at System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) at System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() at System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) at System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) at System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies() at System.Web.Compilation.BuildManager.CallPreStartInitMethods() at System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException)

は、私は、サーバー上のログにすべてのイベントを見つけることができませんでした。

+0

例外として、サーバー側のクライアントに表示されていますか?あなたはイベントログに何かを見ますか?使用しているオペレーティングシステムとアーキテクチャを指定できますか?サービス参照、またはCoreService.dllを使用していますか?あなたのクライアントはサーバと同じマシンにありますか? –

+0

私はCoreservice.dllを使用しています。私のクライアントはサーバーと同じではありません。違います。 Tridion.ContentManager.CoreService.Clientを使用して – Patan

+0

; Tridion.ContentManager.ContentManagement.Fieldsを使用しています。 Tridion.ContentManager.CommunicationManagementを使用している 。 Tridion.ContentManager.ContentManagementを使用しています。 using System.Text; Tridion.ContentManager.CoreServiceを使用している 。 using System.ServiceModel.Channels; using System.IO; using System.Collections; using System.Text.RegularExpressions; – Patan

答えて

4

Tridion.Loggingを参照しないでください。 CoreServiceでは必須ではありません。必要なのはCoreService.dllだけです。また、Tridion.Loggingは公開APIではないため、まったく使用しないでください。

+0

私はそれを削除しても、私は同じエラーに直面しています。 – Patan

+0

参照している唯一のTridionアセンブリがCoreService.dllであることを確認してください。 –

+0

エラーは、Tridion.Loggingが見つからないということではなく、「依存関係の1つ」が欠落しています。 user978511に記載されているように、CoreServiceクライアントdllのみを使用してください。 –

0

Tridionイベントログを確認してください。他のTridionアセンブリを使用していないことを確認してください。

関連する問題