0

I am totally stumped by a really stubborn problem: When I try to take any action (add, remove, edit) in the Security tab of a report's Properties page on SSRS 2008 UI I get a generic error. All it says is this: Response is not well-formed XML.

Digging in the LogFiles folder at the SSRS installation root, I see this:

role assignment is not valid. The role assignment is either empty, specifies a user or group name that is already used in an existing role assignment for the current item, or specifies duplicate roles for the same user or group. ui!ReportManager_0-1!32c!07/23/2011-15:03:33:: e ERROR: Response is not well-formed XML. ui!ReportManager_0-1!32c!07/23/2011-15:03:33:: e ERROR: HTTP status code --> 500 -------Details-------- System.InvalidOperationException: Response is not well-formed XML. ---> System.Xml.XmlException: Unexpected end of file has occurred. The following elements are not closed: Message, detail, soap:Fault, soap:Body, soap:Envelope. Line 3, position 5470.

at System.Xml.XmlTextReaderImpl.Throw(Exception e)

at System.Xml.XmlTextReaderImpl.ThrowUnclosedElements()

at System.Xml.XmlTextReaderImpl.ParseElementContent()

at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace)

at System.Xml.XmlLoader.ReadCurrentNode(XmlDocument doc, XmlReader reader)

at System.Xml.XmlDocument.ReadNode(XmlReader reader)

at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadSoapException(XmlReader reader)

at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)

at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)

--- End of inner exception stack trace ---

at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)

at Microsoft.SqlServer.ReportingServices2005.ReportingService2005.SetPolicies(String Item, Policy[] Policies)

at Microsoft.SqlServer.ReportingServices2005.RSConnection.SetPolicies(String Item, Policy[] Policies)

at Microsoft.ReportingServices.UI.ImageTextButton.RaisePostBackEvent(String eventArgument)

at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)

at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) library!ReportServer_0-2!a14!07/23/2011-15:03:33:: Call to GetSystemPropertiesAction(). ui!ReportManager_0-1!32c!07/23/2011-15:03:33:: e ERROR: Exception in ShowErrorPage: System.Threading.ThreadAbortException: Thread was being aborted. at System.Threading.Thread.AbortInternal() at System.Threading.Thread.Abort(Object stateInfo) at System.Web.HttpResponse.End() at Microsoft.ReportingServices.UI.ReportingPage.ShowErrorPage(String errMsg) at at System.Threading.Thread.AbortInternal() at System.Threading.Thread.Abort(Object stateInfo) at System.Web.HttpResponse.End() at Microsoft.ReportingServices.UI.ReportingPage.ShowErrorPage(String errMsg)

The databases (ReportServer and ReportServerTempDB) came out clean when I ran DBCC CHECKDB.

This error is preventing me to do any of the following actions:
1. Use "Edit Item Security" for a report or folder
2. Delete a User name from the Home folder Security page
3. Add a new user using "New Role Assignment"

The really weird thing is that some of these 3 actions work in some report folders. There is nothing I can see common between the ones that work and those that don't.

Any ideas??

2
  • Almost certainly you should post the resolution as an answer below and mark it as accepted.
    – jscott
    Jul 26, 2011 at 23:51
  • I didn't quite realize where the option to answer it myself was. But it was right below the post and comments! I just posted the Answer but I still can't figure out where to accept it as an answer.Thanks for suggesting :)
    – crosswalk
    Jul 27, 2011 at 21:53

2 Answers 2

1

THIS ISSUE HAS BEEN RESOLVED!

Root cause: There was a user who was somehow added 3 times to four different roles under Home folder. Any sub folder using the same permissions as Home (inheritance) suffer the same consequences. Why should SSRS allow this in the first place or not flag it clearly in the error log is beyond me!

Resolution: Removed the duplicates for the user (2 of the 3 entries) on SSRS UI.

Lessons learned:
1. Read each error a few times BUT do not get carried away with the most flagrant error
2. Try and separate symptoms from causes (in this case the existence of duplicate IDs was the cause but in the error logs you will see whole bunch of language like "Unexpected end of file has occurred" that under the stressful circumstances could easily mislead and send you down a rabbit hole!
3. Take any suggestion you get with a pinch of salt but vet it properly

0

If possible, I would:

  1. Export the reports from SRSS
  2. Uninstall SRSS
  3. Delete/rename the SRSS databases (backing up would be a good idea too)
  4. Create a new SRSS instance
  5. Add all reports again (manually if you can) and trying to configure preferences.
2
  • That is really not possible for us but I did restore the ReportServer and ReportServerTempDB databases on a new SQL Server and pointed a new SSRS instance to them but I got the same error still!
    – crosswalk
    Jul 26, 2011 at 8:17
  • That would imply that your SSRS databases are corrupted which only makes my suggestion sit even better. Export the reports from the current instance, import them into a new instance and see if you experience the same problem - if not, it again confirms that your SSRS databases are in a foul state. Your only hope is to reinstall (read: blow away) that instance. Can I ask why its not really possible for you? SSRS isn't very highly integrated with anything and there isn't a lot to lose from reinstalling.
    – Ashley
    Jul 26, 2011 at 22:14

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .