2011-08-19 18 views
0

當用完CRM2011應用程序時,代碼正常工作。當我將我的代碼嵌入到CRM中時,它將返回沒有數據的空白PDF文件。爲什麼我變得空白pdf Inside CRM2011(客戶關係管理2011年空白PDF問題)?

下面是我的代碼

public static Byte[] RenderReport(string ServiceURL, string ReportName, ParameterValue[] parameters) 
    { 
     byte[] result; 
     string encoding; 
     string mimeType; 
     Warning[] warnings = null; 
     string[] streamids; 
     string extension; 

     BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.TransportCredentialOnly); 
     binding.Security.Message.ClientCredentialType = BasicHttpMessageCredentialType.UserName; 
     binding.Security.Mode = BasicHttpSecurityMode.TransportCredentialOnly; 
     binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Ntlm; 
     binding.Security.Transport.ProxyCredentialType = HttpProxyCredentialType.None; 
     binding.Security.Transport.Realm = string.Empty; 
     binding.MaxReceivedMessageSize = 2147483647; 
     string deviceInfo = @"<DeviceInfo><Toolbar>False</Toolbar></DeviceInfo>"; 
     EndpointAddress endpoint = new EndpointAddress(ServiceURL); 

     ReportExecutionServiceSoapClient client = new ReportExecutionServiceSoapClient(binding, endpoint); 

     client.ClientCredentials.Windows.AllowedImpersonationLevel = TokenImpersonationLevel.Impersonation; 


     ExecutionInfo execInfo = new ExecutionInfo(); 
     ExecutionHeader execHeader = new ExecutionHeader(); 
     ServerInfoHeader serverInfoHeader; 

     ExecutionInfo executionInfo; 
     ExecutionHeader executionHeader = client.LoadReport(null, ReportName, null, out serverInfoHeader, out executionInfo); 
     // Attach Report Parameters 
     //executionHeader.ExecutionID = executionInfo.ExecutionID; 
     if (parameters != null) 
      client.SetExecutionParameters(executionHeader, null, parameters, null, out executionInfo); 
     ServerInfoHeader Info= client.Render(executionHeader, null, "PDF", deviceInfo, out result, out extension, out mimeType, out encoding, out warnings, out streamids); 

     return result; 
    } 

感謝

+0

它是如何集成的?插件,工作流程,..? – ccellar

回答

0

我改變了異步處理器可以訪問報表服務器數據庫中的用戶下運行,它的工作instantly.it被設置爲使用網絡服務,所以我將其更改爲管理員在服務中。