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.