This is a migrated thread and some comments may be shown as answers.

Unable to run Report in Report Viewer

2 Answers 242 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Chandan Dey
Top achievements
Rank 1
Chandan Dey asked on 25 Sep 2013, 04:39 PM
Hi,

I am getting the following errors while try to run report from silverlight report viewer.
Previously it was working with the licensed version 7.1.13.612 and currently I am using updated version 7.1.13.802
in Telerik.Reporting.dll, Telerik.Reporting.Service.dll, Telerik.ReportViewer.Silverlight.dll

Please help me to find out the solution of this bug for client release.

Error in silverlight report viewer :

Error: System.Reflection.TargetInvocationException : An exception occurred during the operation, making the result invalid.  Check InnerException for exception details.
   at System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary()
   at Telerik.Reporting.Service.SilverlightClient.ListRenderingExtensionsEventArgs.get_Extensions()
   at Telerik.ReportViewer.Silverlight.ReportViewerModel.OnListRenderingExtensionsCompleted(Object sender, ListRenderingExtensionsEventArgs e)

------------- InnerException: -------------

System.ServiceModel.CommunicationException : The remote server returned an error: NotFound.
   at System.ServiceModel.Channels.Remoting.RealProxy.Invoke(Object[] args)
   at proxy_2.EndListRenderingExtensions(IAsyncResult )
   at Telerik.Reporting.Service.SilverlightClient.ReportServiceClient.OnEndListRenderingExtensions(IAsyncResult result)
   at System.ServiceModel.ClientBase`1.OnAsyncCallCompleted(IAsyncResult result)

------------- InnerException: -------------

System.Net.WebException : The remote server returned an error: NotFound.
   at System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)
   at System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
   at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult result)

------------- InnerException: -------------

System.Net.WebException : The remote server returned an error: NotFound.
   at System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
   at System.Net.Browser.BrowserHttpWebRequest.<>c__DisplayClassa.<EndGetResponse>b__9(Object sendState)
   at System.Net.Browser.AsyncHelper.<>c__DisplayClass4.<BeginOnUI>b__0(Object sendState)

Error in Fiddler :

HTTP/1.1 404 Not Found
Content-Length: 1565
Content-Type: text/html; charset=UTF-8
Server: Microsoft-HTTPAPI/2.0
Date: Wed, 25 Sep 2013 16:16:04 GMT

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Service</title>
    <style>BODY { color: #000000; background-color: white; font-family: Verdana; margin-left: 0px; margin-top: 0px; } #content { margin-left: 30px; font-size: .70em; padding-bottom: 2em; } A:link { color: #336699; font-weight: bold; text-decoration: underline; } A:visited { color: #6699cc; font-weight: bold; text-decoration: underline; } A:active { color: #336699; font-weight: bold; text-decoration: underline; } .heading1 { background-color: #003366; border-bottom: #336699 6px solid; color: #ffffff; font-family: Tahoma; font-size: 26px; font-weight: normal;margin: 0em 0em 10px -20px; padding-bottom: 8px; padding-left: 30px;padding-top: 16px;} pre { font-size:small; background-color: #e5e5cc; padding: 5px; font-family: Courier New; margin-top: 0px; border: 1px #f0f0e0 solid; white-space: pre-wrap; white-space: -pre-wrap; word-wrap: break-word; } table { border-collapse: collapse; border-spacing: 0px; font-family: Verdana;} table th { border-right: 2px white solid; border-bottom: 2px white solid; font-weight: bold; background-color: #cecf9c;} table td { border-right: 2px white solid; border-bottom: 2px white solid; background-color: #e5e5cc;}</style>
  </head>
  <body>
    <div id="content">
      <p class="heading1">Service</p>
      <p>Endpoint not found.</p>
    </div>
  </body>
</html>

service tracelog error :

The incoming HTTP request's URI 'http://localhost:8080/' does not match any service operation.

app.config file :

<appSettings>
    <add key="DhaaniReportURL" value="http://localhost:8080/" />
    <add key="ClientSettingsProvider.ServiceUri" value="" />
    <add key="NetworkMachinesConnStr" value="uid=root;password=;host=.;database=NetworkMachines;protocol=pipe;pipename=mysql;pooling='True';Min Pool Size=10;Max Pool Size=500" />
  </appSettings>
  <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpsBindingConfig" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" receiveTimeout="00:30:00" sendTimeout="00:30:00">
          <readerQuotas maxArrayLength="2147483647" maxStringContentLength="2147483647" />
        </binding>
      </basicHttpBinding>
    </bindings>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
    <services>
      <service name="ReportingWCFWindowsService.ReportService" behaviorConfiguration="ReportServiceBehavior">
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8080/" />
          </baseAddresses>
        </host>
        <endpoint address="ReportService" binding="basicHttpBinding" contract="Telerik.Reporting.Service.IReportService">
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        <endpoint address="ReportService/resources" binding="webHttpBinding" behaviorConfiguration="WebBehavior" contract="Telerik.Reporting.Service.IResourceService" />
        <endpoint address="" binding="webHttpBinding" behaviorConfiguration="WebBehavior" contract="ReportingWCFWindowsService.IClientAccessPolicy" />
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="ReportServiceBehavior">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
      </serviceBehaviors>
      <endpointBehaviors>
        <behavior name="WebBehavior">
          <webHttp />
        </behavior>
      </endpointBehaviors>
    </behaviors>
  </system.serviceModel>

Note :
When I run the service base address in browser it works fine. URL : http://localhost:8080/

ReportService.cs :

[ServiceContract]
    public interface IClientAccessPolicy
    {
        [OperationContract, WebGet(UriTemplate = "/ClientAccessPolicy.xml")]
        Stream GetPolicy();
    }

    [System.Runtime.Serialization.KnownType(typeof(object[]))]
    public class ReportService : ReportServiceBase, IClientAccessPolicy
    {
        static string sReportURL = ConfigurationSettings.AppSettings["DhaaniReportURL"].ToString();
        static readonly Uri baseUri = new Uri(sReportURL);

        protected override Uri BaseAddress
        {
            get { return baseUri; }
        }

        protected override string ApplicationPath
        {
            get
            {
                //return System.IO.Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath) + "\\";
                //Make sure that the ApplicationPath property always returns a valid directory path that ends with a slash (/) or a backslash (\)

                return System.IO.Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath) + "\\"; // for WinForms applications
                //return System.Web.HttpContext.Current.Request.PhysicalApplicationPath; // for ASP.NET applications
            }
        }

        public Stream GetPolicy()
        {
            var fs = new FileStream(Path.Combine(this.ApplicationPath, "clientaccesspolicy.xml"), FileMode.Open);
            var bytes = new byte[fs.Length];
            fs.Read(bytes, 0, bytes.Length);
            fs.Close();

            if (WebOperationContext.Current != null)
            {
                WebOperationContext.Current.OutgoingResponse.ContentType = "application/xml";
            }

            return new MemoryStream(bytes);
        }
    }

SummaryReport.cs :

public partial class SummaryReport : Report
    {
        public SummaryReport()
        {
            InitializeComponent();
        }

        public List<Machine> GetReportData(string pcs, DateTime startTime, DateTime endTime, double dHours, bool isCustom)
        {
            string sInstallationName = string.Empty;
            string sInstallationAddress = string.Empty;
            string sVersionInfo = string.Empty;

            InitConn();
            List<Machine> lstMachine = new List<Machine>();
            return lstMachine;
       }

Report.xaml.cs :

                repViewer = new ReportViewer();
                repViewer.RenderBegin += new RenderBeginEventHandler(repViewer_RenderBegin);
                repViewer.ReportServiceUri = new Uri(App.p_ReportEndPoint);
                repViewer.Report = "ReportingWCFWindowsService.SummaryReport, ReportingWCFWindowsService";

        void repViewer_RenderBegin(object sender, RenderBeginEventArgs args)
        {
            args.ParameterValues["pcs"] = machines.TrimEnd(',');
            args.ParameterValues["startTime"] = p_DTStart;
            args.ParameterValues["endTime"] = m_EndDateForResult;
            args.ParameterValues["dHours"] = m_Hours;
            args.ParameterValues["isCustom"] = isCustom;
            //progIndicator.Stop();
        }



2 Answers, 1 is accepted

Sort by
0
Chandan Dey
Top achievements
Rank 1
answered on 26 Sep 2013, 02:29 PM
Hi,

I found something now my ReportService not running with old dlls (version 7.1.13.612) working running with new dlls (version 7.1.13.802).

And new ReportService with new dlls working on old Silverlight Report viewer which is use old dll (Telerik.ReportViewer.Silverlight.dll ver:7.1.13.612) but not working in development environment with silverlight report viewer old & new dlls.

Please solve this problem asap as my clients are waiting for it.

Thanks in advance
Chandan
0
Stef
Telerik team
answered on 30 Sep 2013, 12:30 PM
Hello Chandan,

Most probably the issue is a result of misconfiguration of your service. Please test to upgrade locally the whole application and run the service in browser. Once you verify the application runs normally at your side, deploy it on production machine and configure the service's endpoints based on the new environment.

For more details, please take a look at the following help articles:

Regards,
Stef
Telerik

Have you tried the new visualization options in Telerik Reporting Q2 2013? You can get them from your account.

Tags
General Discussions
Asked by
Chandan Dey
Top achievements
Rank 1
Answers by
Chandan Dey
Top achievements
Rank 1
Stef
Telerik team
Share this question
or