ReportViewer Control And MOSS Reporting services
I am trying to use a reportviewer control (processing mode = remote) to view a rdl that is hosted on a server running MOSS, the reporting services are run in "sharepoint integrated mode". When i try to set the path to the RDL on the control like i usually do for an ASP.NET ReportViewer control, i get the error message posted below. I cant find anything on google, Please HELP
- Client found response content type of 'text/html; charset=utf-8', but expected 'text/xml'. The request failed with the error message: -- <HTML dir="ltr"> <HEAD><meta name="GENERATOR" content="Microsoft SharePoint" /><meta name="progid" content="SharePoint.WebPartPage.Document" /><meta HTTP-EQUIV="Content-Type" content="text/html; charset=utf-8" /><meta HTTP-EQUIV="Expires" content="0" /><meta name="ROBOTS" content="NOHTMLINDEX" /><title> Error </title><link rel="stylesheet" type="text/css" href="/_layouts/1033/styles/core.css?rev=5msmprmeONfN6lJ3wtbAlA%3D%3D"/> <script type="text/javascript" language="javascript" src="/_layouts/1033/init.js?rev=VhAxGc3rkK79RM90tibDzw%3D%3D"></script> <script type="text/javascript" language="javascript" src="/_layouts/1033/core.js?rev=F8pbQQxa4zefcW%2BW9E5g8w%3D%3D"></script> <meta name="Robots" content="NOINDEX " /> <meta name="SharePointError" content=""/> </HEAD> <BODY scroll="yes" onload="javascript:if (typeof(_spBodyOnLoadWrapper) != 'undefined') _spBodyOnLoadWrapper();"> <form name="aspnetForm" method="post" action="../../_layouts/error.aspx" id="aspnetForm" onsubmit="return _spFormOnSubmitWrapper();"> <div> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTU2NjkxODU3M2RkBsUItbjjuHbcaHeDmf91mLp59DY=" /> </div> <TABLE class="ms-main" CELLPADDING=0 CELLSPACING=0 BORDER=0 WIDTH="100%" HEIGHT="100%"> <tr><td> <table CELLPADDING=0 CELLSPACING=0 BORDER=0 WIDTH="100%"> <tr> <td colspan=4 class="ms-globalbreadcrumb" align="right"> <a href="javascript:TopHelpButtonClick('NavBarHelpHome')" id="ctl00_PlaceHolderGlobalNavigation_TopHelpLink" AccessKey="6" title="Help (new window)"><img src="/_layouts/images/helpicon.gif" align="absmiddle" border="0" alt="Help (new window)" /></a> </td> </tr> </table> </td></tr> <tr> <td class="ms-globalTitleArea"> <table width=100% cellpadding=0 cellspacing=0 border=0> <tr> <td id="GlobalTitleAreaImage" class="ms-titleimagearea"><img id="onetidHeadbnnr0" src="/_layouts/images/titlegraphic.gif" alt="" /></td> <td class="ms-sitetitle" width=100%> </td> <td style="padding-top:8px;" valign=top> </td> </tr> </table> </td> </tr> <TR> <TD id="onetIdTopNavBarContainer" WIDTH=100% class="ms-bannerContainer"> </TD> </TR> <TR height="100%"><TD><TABLE width="100%" height="100%" cellspacing="0" cellpadding="0"> <tr> <td class="ms-titlearealeft" id="TitleAreaImageCell" valign="middle" nowrap><div style="height:100%" class="ms-titleareaframe"></div></td> <td class="ms-titleareaframe" id="TitleAreaFrameClass"> <table cellpadding=0 height=100% width=100% cellspacing=0> <tr><td class="ms-areaseparatorleft"><IMG SRC="/_layouts/images/blank.gif" width=1 height=1 alt=""></td></tr> </table> </td> <td valign=top id="onetidPageTitleAreaFrame" class='ms-areaseparator' nowrap width="100%"> <table id="onetidPageTitleAreaTable" cellpadding=0 cellspacing=0 width=100% border="0"> <tr> <td valign="top" class="ms-titlearea"> <a href="http://xjthdqdwd03:8080/bi" id="ctl00_PlaceHolderTitleBreadcrumb_idSimpleGoBackToHome">Go back to site</a> </td> </tr> <tr> <td height=100% valign=top ID=onetidPageTitle class="ms-pagetitle"> <h2 class="ms-pagetitle"> Error </h2> </td> </tr> </table> </td> <td class="ms-titlearearight"> <div class='ms-areaseparatorright'><IMG SRC="/_layouts/images/blank.gif" width=8 height=100% alt=""></div> </td> </tr> <TR> <TD class="ms-leftareacell" valign=top height=100% id="LeftNavigationAreaCell"> <table class=ms-nav width=100% height=100% cellpadding=0 cellspacing=0> <tr> <td> <TABLE height="100%" class=ms-navframe CELLPADDING=0 CELLSPACING=0 border="0"> <tr valign="top"> <td width="4px"><IMG SRC="/_layouts/images/blank.gif" width=4 height=1 alt=""></td> <td valign="top" width="100%"> </td> </tr> <tr><td colspan=2><IMG SRC="/_layouts/images/blank.gif" width=138 height=1 alt=""></td></tr> </TABLE> </td> <td></td> </tr> </table> </TD> <td> <div class='ms-areaseparatorleft'><IMG SRC="/_layouts/images/blank.gif" width=8 height=100% alt=""></div> </td> <td class='ms-formareaframe' valign="top"> <TABLE width="100%" border="0" cellspacing="0" cellpadding="0" class="ms-propertysheet"> <TR valign="top" > <TD class="ms-descriptiontext" width="100%"> </TD> <TD ID=onetidYPadding width="10px"><IMG SRC="/_layouts/images/blank.gif" width=10 height=1 alt=""></TD> </TR> <TR > <TD ID=onetidMainBodyPadding height="8px"><IMG SRC="/_layouts/images/blank.gif" width=1 height=8 alt=""></TD> </TR> <tr> <td valign="top" height="100%"> <A name="mainContent"></A> <table width=100% border=0 class="ms-titleareaframe" cellpadding=0> <TR> <TD valign=top width="100%" style="padding-top: 10px" class="ms-descriptiontext"> <span id="ctl00_PlaceHolderMain_LabelMessage">The file you are attempting to save or retrieve has been blocked from this Web site by the server administrators.</span> <P><span class="ms-descriptiontext"> <span id="ctl00_PlaceHolderMain_helptopic_troubleshooting"><A Title="Troubleshoot issues with Windows SharePoint Services. - Opens in new window" HREF="javascript:HelpWindowKey('troubleshooting')">Troubleshoot issues with Windows SharePoint Services.</A></span> </span> </TD> </TR> </table> <script type="text/javascript" language="JavaScript"> var gearPage = document.getElementById('GearPage'); if(null != gearPage) { gearPage.parentNode.removeChild(gearPage); document.title = "Error"; } </script> </td> </tr> </table> </td> <td class="ms-rightareacell"> <div class='ms-areaseparatorright'><IMG SRC="/_layouts/images/blank.gif" width=8 height=100% alt=""></div> </td> </TR> <tr> <td class="ms-pagebottommarginleft"><IMG SRC="/_layouts/images/blank.gif" width=1 height=10 alt=""></td> <td class="ms-pagebottommargin"><IMG SRC="/_layouts/images/blank.gif" width=1 height=10 alt=""></td> <td class="ms-bodyareapagemargin"><IMG SRC="/_layouts/images/blank.gif" width=1 height=10 alt=""></td> <td class="ms-pagebottommarginright"><IMG SRC="/_layouts/images/blank.gif" width=1 height=10 alt=""></td> </tr> </TABLE></TD></TR> </TABLE> <input type="text" name="__spDummyText1" style="display:none;" size=1/> <input type="text" name="__spDummyText2" style="display:none;" size=1/> </form> </BODY> </HTML> --.
Answers
The report server url on the MOSS side is the same as your site only with _vti_bin/ReportServer, so if you site it http://machine/foo, to get to the RS url, add http://machine/foo/_vti_bin/ReportServer
The path to the report must be the full URL to the item so it must be http://machine/site/doclib/item.rdl.
I hope that helps.
-Daniel
All Replies
Hi,
To configure a ReportViewer control for remote processing, specify a server report to use with the control. You need to follow these steps to select a server report:
-
Add the ReportViewer control from the Data section of the Toolbox to the form or Web page in your project.
-
In the ReportViewer Tasks smart tags panel, in Choose Report, select Server Report.
-
In the Report Server text box, type the report server URL. The default URL syntax is http://localhost/reportserver. The actual URL that is used in your installation might be different depending on how the report server virtual directory settings are configured.
-
In the Report Path text box, type the fully qualified path of a published report. The report path must start with a forward slash ( / ). The path must not include report URL parameters. The path consists of folders in the report server folder namespace and the name of the report. For example, if you installed the SQL Server 2005 sample report Company Sales on your report server, the report path might be /AdventureWorks Sample Reports/Company Sales.
-
Build or deploy the application to verify that the report appears correctly in your application. If you receive HTTP proxy errors, verify that the report server URL is correct. If you receive a compatibility error, confirm that the report server is a SQL Server 2005 instance.
-
Select the ReportViewer control and open the Properties window.
-
Set properties on the ReportViewer control to configure the report toolbar and run-time functionality. Use the reference documentation to learn about each property.
For more information, please refer to this article:
Configuring ReportViewer for Remote Processing
http://msdn2.microsoft.com/en-us/library/ms252075(VS.80).aspx
Hope this helps.
Sincerely yours,
Charles Wang
-
Charles,
Thanks for your response, but those directions dont differ from anything I have ever done in the past. I have never had a problem using a reportviewer control before, until we set up a server in Sharepoint Integrated Mode. Is there anything different that needs to be done?
Also, just to clarify, those two fields just concatenate anyway right? Heres a sample of what im putting in the fields.
heres full path to RDL
http://xjthdqdwd03:8080/bi/reportslibrary/xedailysummary.rdl
I put this in first box path http://xjthdqdwd03:8080/bi
and then this in the second path /reportslibrary/xedailysummary
I have tried every combination I can think of, the problem only occurs on this one server running in sharepoint integrated mode though.
I hate to bump my own thread but google yields nothing on the subject. No one is using reportviewer controls against reporting services run in "sharepoint integrated mode"?
Whats the deal here, any MOSS guys out there have any idea?
In my specific situation im using the reportviewer controls on a seperate server other than the one running MOSS.
Please help
Thanks,
J
I'm having the exact same problem (including the "bi" in the url, pretty funny, we're probably working on the same business intelligence project, though my reportserver is on 8081 :-) ) Anyway, no joy, I've tried every mung-ing of the URL that I can imagine and I usually get:
"The path of the item '/ReportServer/blah' is not valid. The full path must be less than 260 characters long; other restrictions apply. If the report server is in native mode, the path must start with slash. (rsInvalidItemPath)"
I too have had no problem when using the ReportViewer against native SSRS servers, but when trying to render a report that is hosted on an SSRS server running in sharepoint integrated mode I get nuthin but errors.
the sock
Just to update, I still have no resolution to this. I'm beginning to wonder if it is even possible. MOSS really screws things up!
- I'm working on the exact same thing right now. Please let me know if you get a solution. I'll do the same...
So...I was able to resolve this by combining a couple of different things that we found. My problem was actually that the ReportPath and ReportServerUrl were not set correctly.
I had to work w/ the sharepoint administrator to get the ReportServerUrl, as is is not necessarily the same server or the same port. We determined that it was actually a different port on our server. You should be able to navigate to http://<MyServer>:<port>/ReportServer/ from internet explorer and see an white and black screen that lists directory contents.
Then, the report path will be what you actually type into IE to pull up the report.
Hope that helps you.
Hmm, I think i've tried all those combinations. I can see list of our reports in sharepoint by going to the the directory
http://<MyServer>:<port>/ReportServer/
but its a sharepoint report library, not a black and white directory listing. Was the port different than your sharepoint port? If so what was the port and how did you find it out?
- the sharepoint administrator had to find it. he said there is a reporting services util where you pick the port. mine was different, just a number that the administrator decided to use.
I've been going at this problem for almost a month now and I'm still drawing a blank on it.
Anyone had any luck on the web with this?
Anyone prepared to use a support incident to get it resolved?
Anyone from MS care to comment?
Could do with something to go on.
The report server url on the MOSS side is the same as your site only with _vti_bin/ReportServer, so if you site it http://machine/foo, to get to the RS url, add http://machine/foo/_vti_bin/ReportServer
The path to the report must be the full URL to the item so it must be http://machine/site/doclib/item.rdl.
I hope that helps.
-Daniel
This sort of works, but it seems to strip out the server portion of the report location. As such, you get a rsItemNotFound
<ServerReport ReportPath="http://MyMachine:10810/Report/MyReport.rdl" ReportServerUrl="http://MyMachine:10080/ReportServer" />
The error in the report viewer is:
The item 'Reports/MyReport.rdl' cannot be found. (rsItemNotFound)
Any Solutions?- So far this is the best information I have found on this topic. I have followed your directions and gotten farther than I have with any other artical. But now I am getting a 401 UnAuth Error Error:
- The request failed with HTTP status 401: Unauthorized.
Code:
protected
void RunReport()
{
ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.
ProcessingMode.Remote;
ReportViewer1.ServerReport.ReportServerUrl =
new Uri("http://report1/_vti_bin/reportserver"); // Report Server URL
ReportViewer1.ServerReport.ReportPath =
"http://moss/Reports/ReportsLibrary/BI Reports/BITickets.rdl"; // Report Name
ReportViewer1.ShowParameterPrompts =
false;
ReportViewer1.ShowPrintButton =
true;
ReportViewer1.ServerReport.Refresh();
ReportViewer1.Visible =
true;
}
fsugeiger


