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();
}
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();
}