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

Error when deploying silverlight to host

11 Answers 268 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Sam Cartner
Top achievements
Rank 1
Sam Cartner asked on 22 Mar 2010, 05:10 PM
Hi, iv just tried uploading my silverlight app to our web host and all works great apart from the report viewer...im getting the below error message

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)
   at Telerik.Reporting.Service.SilverlightClient.ReportServiceClient.OnListRenderingExtensionsCompleted(Object state)

I have updated all the connection strings and uploaded the reportviewer dlls just in case.

any ideas?

Thanks

11 Answers, 1 is accepted

Sort by
0
Steve
Telerik team
answered on 23 Mar 2010, 12:36 PM
Hello Sam Cartner,

The error is thrown in OnListRenderingExtensionsCompleted() which means that the service cannot find the rendering extensions, most likely because you have not copied Telerik.Reporting.dll into your bin folder. You should have the following assemblies in your bin:

  • Telerik.Reporting.dll
  • Telerik.Reporting.Service.dll
  • Telerik.Reporting.XamlRendering.dll
The Telerik.ReportViewer.Silverlight.dll is embedded into the XAP file (Silverlight Application) at compile time and you do not have to copy it.
If the problem persists, look into the server event log to see if there is no error about the service configuration that should be fixed.

Kind regards,
Steve
the Telerik team

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
0
Sam Cartner
Top achievements
Rank 1
answered on 23 Mar 2010, 05:18 PM
Hi Steve,

There are no errors in the log and i have made sure all correct dlls are in the bin folder and still errors :(
0
Steve
Telerik team
answered on 25 Mar 2010, 06:26 PM
Hello Sam,

Have you checked the InnerException and debugged to see what exactly is the culprit? I'm afraid that without more information, we can only guess what is wrong.

Kind regards,
Steve
the Telerik team

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
0
Sam Cartner
Top achievements
Rank 1
answered on 26 Mar 2010, 11:52 AM
Hi Steve,

I cant catch the debug for some reason but this is the inner excpetion message

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)
0
Steve
Telerik team
answered on 31 Mar 2010, 05:04 PM
Hello Sam,

Can you verify whether you can render a very basic report with static data at all? If not, please check whether the report viewer points to the Telerik Reporting service. You can easily identify that by accessing your service by pasting its URL in the browser address bar.

If still having problems, most likely the problem is on the server side and you should debug what is happening there. The errors you have provided so far are client-side and are a result of a different problem. That is why enabling first chance exceptions and debugging on the server side should point the actual error (the output window contains valuable information).

Kind regards,
Steve
the Telerik team

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
0
Pierre
Top achievements
Rank 1
Iron
answered on 24 Nov 2010, 08:46 PM
Any input on that problem? I got the same problem when I try to export my projet in my production serveur. (iis7)
All work good in dev, but in prod I got the Exception directly on the load of my form that containt the ReportViewer.

If I remove this line:

<Grid.DataContext
<local:RapportsModel ReportServiceUri="../ReportService.svc"/> 
</Grid.DataContext

 

 

 

I do not have reports but no execption. I think SL app do not find the ReportService
any suggestion?

0
Pierre
Top achievements
Rank 1
Iron
answered on 24 Nov 2010, 09:18 PM
OK I found something. The Destination prod server use HTTPS then the ReportService crash. If I use HTTP all is working. Any idea?
0
Pierre
Top achievements
Rank 1
Iron
answered on 24 Nov 2010, 09:42 PM
I read in the FAQ that I need to change some setting in my webconfig to suport SSL. But If I follow the FAQ I got exectpion.

My Working WebConfig are:
<system.serviceModel>
  <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
  <services>
    <service name="Telerik.Reporting.Service.ReportService" behaviorConfiguration="ReportServiceBehavior">
      <endpoint address="" binding="basicHttpBinding" contract="Telerik.Reporting.Service.IReportService">
        <identity>
          <dns value="localhost" />
        </identity>
      </endpoint>
      <endpoint address="resources" binding="webHttpBinding" behaviorConfiguration="WebBehavior" contract="Telerik.Reporting.Service.IResourceService" />
      <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>
  <bindings>
    <basicHttpBinding>
      <binding name="BasicHttpBindingConfig" maxReceivedMessageSize="10485760" maxBufferSize="10485760" maxBufferPoolSize="10485760" receiveTimeout="00:10:00" sendTimeout="00:10:00" openTimeout="00:10:00" closeTimeout="00:10:00">
        <security mode="Transport"/>
      </binding>
    </basicHttpBinding>
    <webHttpBinding>
      <binding name="WebHttpBindingConfig" maxReceivedMessageSize="10485760" maxBufferSize="10485760" maxBufferPoolSize="10485760" receiveTimeout="00:10:00" sendTimeout="00:10:00" openTimeout="00:10:00" closeTimeout="00:10:00">
        <security mode="Transport"/>
      </binding>
    </webHttpBinding>
  </bindings>
</system.serviceModel>

Now if change it for this:
<system.serviceModel>
  <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
  <services>
    <service name="Telerik.Reporting.Service.ReportService" behaviorConfiguration="ReportServiceBehavior">
      <endpoint address="" binding="basicHttpBinding" contract="Telerik.Reporting.Service.IReportService" bindingConfiguration="BasicHttpBindingConfig">
        <identity>
          <dns value="localhost" />
        </identity>
      </endpoint>
      <endpoint address="resources" binding="webHttpBinding" behaviorConfiguration="WebBehavior" contract="Telerik.Reporting.Service.IResourceService" bindingConfiguration="WebHttpBindingConfig" />
      <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>
  <bindings>
    <basicHttpBinding>
      <binding name="BasicHttpBindingConfig" maxReceivedMessageSize="10485760" maxBufferSize="10485760" maxBufferPoolSize="10485760" receiveTimeout="00:10:00" sendTimeout="00:10:00" openTimeout="00:10:00" closeTimeout="00:10:00">
        <security mode="Transport"/>
      </binding>
    </basicHttpBinding>
    <webHttpBinding>
      <binding name="WebHttpBindingConfig" maxReceivedMessageSize="10485760" maxBufferSize="10485760" maxBufferPoolSize="10485760" receiveTimeout="00:10:00" sendTimeout="00:10:00" openTimeout="00:10:00" closeTimeout="00:10:00">
        <security mode="Transport"/>
      </binding>
    </webHttpBinding>
  </bindings>
</system.serviceModel>

Nothing work
0
Massimiliano Bassili
Top achievements
Rank 1
answered on 25 Nov 2010, 03:32 PM
See this thread: http://www.telerik.com/community/forums/reporting/telerik-reporting/enable-ssl-for-telerik-reporting-wcf-service.aspx

Cheers!
0
Pierre
Top achievements
Rank 1
Iron
answered on 26 Nov 2010, 11:01 PM
Tanks for reply.

I check the post and erase all my system.serviceModel in my web config. Then I copie the one in the post. I got error (not found).
I need to ba able to access this report wihtout SSL (internally) and with SSL (externally). it is possible?

Thanks
0
Massimiliano Bassili
Top achievements
Rank 1
answered on 29 Nov 2010, 10:26 AM
Pierre, you can add separate endpoint for http and https e.g.:

 <endpoint address="https://mysite.com/myapp/reportservice.svc"
                  binding="basicHttpBinding"
                  bindingConfiguration="SecuredBasicHttpBindingConfig"
                  contract="Telerik.Reporting.Service.IReportService">
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        
        <endpoint address="http://mysite.com/myapp/reportservice.svc"
                  binding="basicHttpBinding"
                  contract="Telerik.Reporting.Service.IReportService">
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>

that would make it accessible both ways. I think this is how telerik did it for the online demo report.
Another option is to simply use separate web.config files for dev and live machines.

Cheers!
Tags
General Discussions
Asked by
Sam Cartner
Top achievements
Rank 1
Answers by
Steve
Telerik team
Sam Cartner
Top achievements
Rank 1
Pierre
Top achievements
Rank 1
Iron
Massimiliano Bassili
Top achievements
Rank 1
Share this question
or