Forms Based Authentication SharePoint 2010 using SSRS HTML viewer - sharepoint-2010

I'm running SSRS in integrated mode (Trusted) and have an issue with trying to use the HTML viewer on a Forms Based Authentication site in Sharepoint 2010. I have found several articles on using the report viewer in FBA; however, to the best of my knowledge, I need to use the HTML viewer as the ultimate goal is to seamlessly produce a PDF file for the end user. The error I'm getting is "401 UNAUTHORIZED An unknown error occurred with the Reporting Services endpoint on this SharePoint site." The Url format I'm submitting is as follows:
http:///_vti_bin/ReportServer?//.rdl&rs:Command=Render&rs:Format=PDF. Some additional information, the request works if I use the default site name and not the forms based name.
So my question is twofold, should I be able to do this in FBA? and if not what is the best route to produce a PDF of the report for the client?
Thanks

First of all, running SSRS with SharePoint is tricky. For SSRS to be able to receive the user credential, it has to be running in kerberos mode. Otherwise, the request to SSRS is made as ANONYMUS LOGON (that's why you are getting a 401).
Now, for the PDF, you have a few options :
Call the SSRS webservice directly and produce a PDF.
Setup a subscription and generate it as PDF, either to filesystem, email, etc.
Do what you are doing now, but with kerberos enabled.

Related

icCube - Web App unable to get resources from icCube server before external login

Follow-up question to this.
I am currently trying to set up a Web Application to display reports on an intranet site, using the intranet login to authenticate users, passing the authorization process to icCube. I'm trying to get it to work with a local install of xampp apache using basic auth and a local install of icCube. My scripts are based on icCube's live demo.
When I start my Web App with an empty Cache & Cookies, the App is unable to load, throwing me a lot of errors similar to these:
WebApp errors
The reason for these errors is the fact that the GET-requests for the resources are answered with code 401, which is a text/html. This means that my WebApp is not authorized to fetch the .css and similar resources from the icCube-server.
Logging into my icCube interface solves the errors, as that authorizes my browser session to get data from my icCube server.
Is there any workaround for this problem? As far as I know, the resource URIs are generated from the ic3root and ic3rootLocal passed to the ic3Start-function on the html-page, which means that I can not just pack all the .css-files into my apache folder and link them.
Is it possible to authorize my WebApp to get these resources based on the same authorization process used to get my report selection (proxy configuration)?
It looks like because Apache does not " secure " the icCube URLs with its Basic Auth. configuration and let non-authenticated requests reaching the icCube server.
Note 1: You can access " public " HTML resources (i.e., with no authentication required). For that you can use the icCube.xml property (see doc. in the file).
Note 2: You can deploy the icCube Web Reporting application with you Web App HTML files in " Apache " and configure the Web Reporting for accessing icCube server elsewhere (worth a different question).

Ajax File Explorer: Avoid login popup (SSO)

We want to integrate "AFE (Ajax File Explorer) into our Drupal application. Our users are authenticated in Drupal and it is not possible for us to ask a second time there login/pwd while opening AFE.
We received a first answer from ITHIT:
Here is how to set login and password:
ajaxFileBrowser.GetSession().SetCredentials('User1', 'pwd');
Please note that this API sets password in XHR. Setting login and
password in XHR does not provide any feedback on weather the login was
successful. That is why in general I would suggest to rely on web
browser login dialog which is displayed automatically instead of
calling SetCredentials.
However it is not clear if it is a real and robust SSO solution. We discovered that Drupal has an webdav SSO module (https://github.com/Awnage/webdavsso), we will also investigate that part. But any comment/help welcomed.
To my understanding there is no way to totally get rid of login dialog when using Basic, Digest, NTLM or Kerberos authentication with Microsoft Office.
Microsoft Office applications always ask for the authentication when used with Basic or Digest authentication. This is a Microsoft Office and Microsoft Mini-redirector limitation and there are no workaround in case your server is using Basic or Digest.
However, if you check "Remember my password" check-box it will still display the login dialog, but the user name and password will be already filled-in, so you just click "OK".
Here are some options to consider if you need to totally suppress login dialog with Microsoft Office:
Use NTLM or Kerberos authentication. In case of NTLM or Kerberos MS
Office asks for credentials only 1 time during first document access.
Implement Office Forms Based Authentication Protocol (MS-OFBA).
Implement Url-authentiation. Your urls will look like:
http://webdavserver.com/[SessionID1234567890]/path/file.docx.
In case of Url-authentiation make sure you do not include the session ID in query string, Microsoft Office will truncate it. You will have to put session ID somewhere in the path, as in the above example, which is not very convenient, when you need to mount a WebDAV folder in you file system, but still works in most cases.
Possible duplicate here Stackoverflow
I solved that problem in the same manner.

InfoPath "The SOAP message cannot be parsed"

I work on a simple list on a simple site/site collection/web app on a SharePoint 2010 test server which does not use SSL.
I then make a site collection backup and restord it onto our Production environment which have the same setup as the test server. The only difference is that it is set up to use SSL encryption and in particular for this web app.
When I want to customize the forms of the list using InfoPath I get a weird error message : "The SOAP message cannot be parsed".
This is when I click on the "Customize form" button in the ribbon which has the InfoPath icon:
Does anybody have already encountered such problem?
I have seen many posts about this error but this is because of athe time out issue when the list contains a lot of items. In my case, it is empty.
Thanks,
Sébastien
Actually, the problem was coming from the fact that InfoPath initially tried to connect using http to the SharePoint site. When the settings were changed to https, the IE cache still kept this setting and I had to remove it using the "Reset..." button located on the Advanced tab of the Internet options so that IE now opens up InfoPath using the right URL with https.
I was getting the error "The SOAP message cannot be parsed." while publishing a very complicated (list-based) InfoPath form in SharePoint Enterprise 2010. The issue only seemed to be effecting this form and not any others but would fail with either my personal account or the farm account.
After some experimenting with timing values within the InfoPath Service(s) we expanded the ExecutionTimeout in the Web.Config file within I.I.S. and that worked.

Error While Passing Credentials from SSRS to Sharepoint Data Source

I am using SSRS 2008 R2 to build a report that uses a Sharepoint list as its data source, to which it is configured to connect using Windows Authentication (Integrated Security). The problem is that when the report is deployed to the Report Server, the SharePoint source rejects the credentials, returning:
An error has occurred during report processing. (rsProcessingAborted)
Query execution failed for dataset 'ListDataset'. (rsErrorExecutingCommand)
An error occurred when accessing the specified SharePoint list. The connection string
might not be valid. Verify that the connection string is correct. (rsSPDataProviderError)
The request failed with HTTP status 401: Unauthorized.
The Sharepoint data source accepts my credentials when I test the report locally in BIDS, but does not accept them after they 'double-hop' from the Report Server. What is the best work-around? Do I need to create a Service Account in SSRS, supply those credentials in the data source within SSRS, and grant the necessary read permissions to the Service Account via Sharepoint? Any suggestions would be greatly appreciated.
This is the same answer to a similar question:
I usually create a user called Reportuser (e.g. reportuser#[domain].com). Create this user on your domain, make sure it has access to SharePoint.
In BIDS/visual studio in the properties for the datasource for your report, under the credentials tab, click the radio button next to "Use Windows Authentication (integrated security)". Upload the datasource to the report manager website. ( You've done this part).
Navigate to the Report manager website, and the properties of the uploaded datasource.
Under the section starting with "Connect using":
Check the "Credentials stored securely in the report server" option
Enter the username and password like this (where domain is replaced with the domain of your network): reportuser#domain.com password
Important part: Tick the "Use as Windows credentials when connecting to the data source"
Test the connection and will work - I have just tested it.

How does one publish a map to the web?

Just starting out with ArcGIS server at work, I've had no prior experience but I been given the responsibility to display our map on the web.
I have a ArcGIS server running on a server and I am using ArcMap 10 on my desktop. I created a Folder in the server where I saved the map document. I can add a new service using this document and I'm given a url when I do so. But when I go to that URL I get this error:
Server Error in '/ArcGIS/Services' Application.
Runtime Error
And, when going to the same url from the server I get:
Server Error in '/ArcGIS/Services' Application.
No Content
Do you try to open servername/ArcGIS/services via browser? This url is for SOAP requests, e.g. you can add '?wsdl' to it ang get SOAP service description. To use it with browser you'll need ArcGIS Server REST API, i.e. use 'servername/ArcGIS/rest/services' URL.