2010-06-02 5 views
1

J'essaie de générer un rapport directement à partir du code (pour l'envoyer par la poste après). Je fais cela dans un service Windows.Reporting services 2008: ReportExecution2005.asmx n'existe pas

Voici donc ce que je fais:

Dim rview As New ReportViewer() 

Dim reportServerAddress As String = "http://server/Reports_client" 
rview.ServerReport.ReportServerUrl = New Uri(reportServerAddress) 

Dim paramList As New List(Of Microsoft.Reporting.WinForms.ReportParameter) 
paramList.Add(New Microsoft.Reporting.WinForms.ReportParameter("param1", t.Value)) 
paramList.Add(New Microsoft.Reporting.WinForms.ReportParameter("CurrentDate", Date.Now)) 

Dim reportsDirectory As String = "AppName.Reports" 
Dim reportPath As String = String.Format("/{0}/{1}", reportsDirectory, reportName) 

rview.ServerReport.ReportPath = reportPath 
rview.ServerReport.SetParameters(paramList) 'This is where I get the exception 

Dim mimeType, encoding, extension, deviceInfo As String 
Dim streamids As String() 
Dim warnings As Microsoft.Reporting.WinForms.Warning() 

deviceInfo = "<DeviceInfo><SimplePageHeaders>True</SimplePageHeaders></DeviceInfo>" 

Dim format As String = "PDF" 

Dim bytes As Byte() = rview.ServerReport.Render(format, deviceInfo, mimeType, encoding, extension, streamids, warnings) 

Lors du débogage ce code, je peux le voir jette un MissingEndpointException où je fais le SetParameters(paramList) avec ce message:

La tentative de se connecter au rapport serveur a échoué. Vérifiez vos informations de connexion et que le serveur de rapports est une version compatible.

En regardant dans le fichier journal du serveur, je peux voir ceci:

ui ReportManager_0-8 878/06/02 2010-11:! 34: 36 :: exception non gérée: System.Web.HttpException: Le fichier '/Reports_client/ReportExecution2005.asmx' n'existe pas. à System.Web.UI.Util.CheckVirtualFileExists (virtualPath virtualPath) à System.Web.Compilation.BuildManager.GetVPathBuildResultInternal (VirtualPath virtualPath, Boolean NOBUILD, Boolean allowCrossApp, Boolean allowBuildInPrecompile) à System.Web.Compilation .BuildManager.GetVPathBuildResultWithNoAssert (HttpContext contexte, VirtualPath virtualPath, booléenne NOBUILD, Boolean allowCrossApp, Boolean allowBuildInPrecompile) à System.Web.Compilation.BuildManager.GetVPathBuildResult (HttpContext contexte, VirtualPath virtualPath, booléenne NOBUILD, Boolean allowCrossApp, Boolean allowBuildInPrecompile) à System.Web.Compilation.BuildManager.GetVPathBuildResult (HttpContext contexte, VirtualPath virtualPath)
à System.Web.UI.WebServiceParser.GetCompiledType (String InputFile, HttpContext contexte) au système .Web.Services.Protocols.WebServiceHandlerFactory.GetHandler (HttpContext contexte, verbe String, String url, Chaîne filePath) à System.Web.HttpApplication.MapHttpHandler (HttpContext contexte, String requestType, chemin de VirtualPath, String pathTranslated, Boolean useAppConfig) à System.Web.HttpApplication.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() à System.Web.HttpApplication.ExecuteStep (IExecutionStep étape, Boolean & completedSynchronously)

I n » t trouver toute ressource sur le web qui correspond à mon problème. Est-ce que quelqu'un a une idée? Je suis en mesure d'afficher les rapports d'une application Web, donc je suis sûr que le serveur est en cours d'exécution.

Merci d'avance.

Répondre

5

Nevermind, j'ai été confondu avec les noms de serveurs ...

Au lieu d'utiliser

http://server/Reports_client

, je avais juste besoin d'utiliser

http://server/ReportServer_client

Questions connexes