We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
Starting in 2019, the Reporting control is no longer included in Essential Studio®. If you're experiencing issues with the Syncfusion� Reporting Platform, Report Viewer, Report Designer, or Report Writer, we recommend migrating to Bold Reports, our dedicated reporting platform.

Bold Reports offers a comprehensive suite of tools and features for all your reporting needs, and we will help you make a smooth transition from the discontinued control. Our support team at https://support.boldreports.com/ is here to assist you with any questions or difficulties you may encounter during the migration process.

We thank you for choosing Syncfusion� and appreciate your understanding.

Report viewer issue on server

Hello,

I am developing an application using:

Visual Studion 2010
 .net 4.0
Syncfusion Essential Studio Enterpirs version 13.3.0.7

I can display a report using the report viewer on my local development pc. However, when I move the application to iis (7.5), I get an 404 file not found error. I tried to debug using firebug and it appears that the url to /Controllers/ReportApi may not be correct on the web server because it can't find it. Could it have something to do with virtual/relative paths? It works locally but not on the server. 

the Report1.aspx file is called from a page /users/invoices.aspx

Below is  in my Report1.aspx file:

 <ej:ReportViewer ID="ReportViewer1" runat="server" ReportPath="~/Reports/Invoice.rdlc" ReportServiceUrl="/Controllers/ReportApi"   ProcessingMode="Local">
  </ej:ReportViewer>

folder structures:
/Reports/invoice.rdlc
/Controllers/ReportApi

Thanks!

5 Replies

YD Yuvaraj Devarajan Syncfusion Team March 31, 2016 06:31 AM UTC

Hi Cliff,

Thanks for contacting Syncfusion support.

The mentioned issue might have occurred due to the IIS does not map the extension for WebAPI action URLs. So please ensure whether the IIS request modules are mapped for all the requests in Web.config file as shown in the below code example.
<system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>


Please refer the below links more details about Web API request is not fount when deploying the application in IIS,
http://forums.asp.net/t/2070064.aspx?Web+API+2+URL+routing+404+error+on+IIS+7+5+IIS+Express+works+fine
http://stackoverflow.com/questions/9703090/http-404-page-not-found-in-web-api-hosted-in-iis-7-5


We have prepared a runnable sample and it can be downloaded from the below location,
Sample: http://www.syncfusion.com/downloads/support/directtrac/general/ze/ReportSample-54200244.zip

If the issue still persists on this, then please share your Web.config file with us to validate this issue?.

Regards,
Yuvaraj D


BL bloatus March 31, 2016 03:25 PM UTC

Thank you for the response. I tried the suggestions and it still didn't work. I'm going to try to move your example project to the server and see if it works.
Please see my web config below:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
 <!--  .... -->
  </connectionStrings>
  <appSettings>
    <add key="LoadEJResourcesFromAssembly" value="false" />
    <add key="EJResources" value="jsrender:true;jqueryeasing:true;globalize:true;themes:true;" />
  
  </appSettings>
  <system.web>
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="Syncfusion.Gauge.Wpf, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.SfMaps.WPF, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.GeckoHtmlRenderer.Base, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.OCRProcessor.Base, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.HTMLConverter.Base, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.ExcelToPDFConverter.Base, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.DocToPdfconverter.Base, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.SfChart.Wpf, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.Shared.Wpf, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.PMML.Base, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.EJ.ReportViewer, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.OfficeChartToImageConverter.Wpf, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.PresentationToPdfConverter.Base, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.Presentation.Base, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.OfficeChart.Base, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.EJ.Export, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.EJ.Web, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.Pdf.Base, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.DocIO.Base, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.XlsIO.Base, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.PivotAnalysis.Base, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.Olap.Base, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.EJ.Olap, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.EJ, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.Linq.Base, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.Compression.Base, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
      </assemblies>
    </compilation>
    <authentication mode="Forms">
      <forms loginUrl="~/Account/Login.aspx" timeout="2880" />
    </authentication>
    <pages>
      <controls>
        <add namespace="Syncfusion.JavaScript.Web" assembly="Syncfusion.EJ.Web, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" tagPrefix="ej" />
        <add namespace="Syncfusion.JavaScript.Web" assembly="Syncfusion.EJ, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" tagPrefix="ej" />
        <add namespace="Syncfusion.JavaScript.DataVisualization.Models" assembly="Syncfusion.EJ" tagPrefix="ej"/>
        <add namespace="Syncfusion.JavaScript.Models" assembly="Syncfusion.EJ, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" tagPrefix="ej" />
      </controls>
    </pages>
  
    <membership>
      <providers>
        <clear />
        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
      </providers>
    </membership>
    <profile>
      <providers>
        <clear />
        <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
      </providers>
    </profile>
    <roleManager enabled="false">
      <providers>
        <clear />
        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
        <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
      </providers>
    </roleManager>
    <httpHandlers>
  
      <add path="captimage.axd" verb="*" type="Syncfusion.JavaScript.ImageHandler,Syncfusion.EJ, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
    </httpHandlers>
  </system.web>
  <system.net>
  
  </system.net>
  <system.webServer>
 
    <handlers>
      <add verb="*" path="captimage.axd" name="syncfusion_generatetools" type="Syncfusion.JavaScript.ImageHandler, Syncfusion.EJ, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit"/>
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit"/>
      <remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0"/>
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0"/>
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" resourceType="Unspecified" requireAccess="Script"/>
    </handlers>
    
      <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true" />
  </system.webServer>
</configuration>




SR Soundara Rajan S Syncfusion Team April 1, 2016 05:49 AM UTC

Hi Cliff,

By default, IIS7 routing handlers and Modules are mapped to asp page URL extension(.aspx). Due to this, the MVC and WebAPI routing handlers are not working in IIS7 without explicitly specifying the run module request. So, please explicitly specify the MVC & WebAPI routing module extensions as shown in the below code example.


Web.Config

  <system.webServer>  

   <modules runAllManagedModulesForAllRequests="true" >

       <remove name="UrlRoutingModule-4.0" />

       <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />

  </modules>

  <handlers>

      <add verb="*" path="captimage.axd" name="syncfusion_generatetools" type="Syncfusion.JavaScript.ImageHandler, Syncfusion.EJ, Version=13.3400.0.7, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />

  </handlers>
  </system.webServer>


Please refer to the below MSDN article and forum for more details,
http://forums.asp.net/t/2070064.aspx?Web+API+2+URL+routing+404+error+on+IIS+7+5+IIS+Express+works+fine 
https://msdn.microsoft.com/en-us/library/ee358760(v=vs.110).aspx 

Also, please ensure whether the simple MVC application works with your IIS environment. If the same issue still persists, then confirm your OS and IIS version information with us to serve you better.

Regards,
Soundara Rajan S.


BL bloatus April 4, 2016 01:34 PM UTC

Thank You for your support. All is working well.


YD Yuvaraj Devarajan Syncfusion Team April 5, 2016 04:40 AM UTC

Hi Cliff,

Thanks for the update.

We are happy to hear that your issue is resolved. Please let us know if you need further assistance.

Regards,
Yuvaraj D

Loader.
Up arrow icon