CRM_URL Report Parameter is incorrect - reporting-services

I am building custom reports in Microsoft CRM and am using the CRM_URL parameter to created drill downs.
However, the URL coming in is ***http://**myserver.com/org/CRMReports...* but it should be **https://**myserver.com/org/CRMReports...
My understanding is that this value is dynamically passed in by MS CRM. How/where can I update this URL to use https?

you need to use the SRSS config tool. =>
Configuring a Report Server for Secure Sockets Layer (SSL) Connections (2005)
Configuring a Report Server for Secure Sockets Layer (SSL) Connections (2008)
"Edit UrlRoot in the RSReportServer.config File
If you are using the report server e-mail delivery extension, you can create subscriptions that included a report URL in the e-mail message. To construct the report URL, the report server uses the UrlRoot configuration setting in the RSReportServer.config file. If the report runs on a report server that is accessed through an SSL connection, you must manually edit the UrlRoot to use the https:// prefix.
If you are using a server certificate, the format of the URL is as follows:
<UrlRoot>https://certificatename/reportservervirtualdirectoryname</UrlRoot>

The answer to my issue was #4 & #5 from this link:
http://rc.crm.dynamics.com/rc/regcont/en_us/op/articles/secure_comm.aspx#ID0EFD
For deployments that will not be used
by external clients, which connect
over the Internet, follow these steps:
Obtain a certificate from a CA. To use certificates you will have set
up a public key infrastructure (PKI),
which consists of one or more CAs that
are linked in a hierarchy. These CAs
and the PKI are required to manage
certificate issuance, validation,
renewal, and revocation in one or more
organizations. You can use a
third-party PKI with Microsoft Windows
Server 2003, or you can establish your
own PKI, based on Windows Server 2003
Certificate Services.
Make sure that there are no users accessing Internet Information
Services (IIS) where the Microsoft
Dynamics CRM Web application is
installed. To do this, stop the
Microsoft Dynamics CRM Web site:
right-click the Web site, and then
click Stop.
Configure the Microsoft Dynamics CRM Web site to use SSL. To do this,
perform the following steps on the
server running IIS where the Microsoft
Dynamics CRM Web application is
installed:
1. Start Internet Information Services (IIS) Manager
2. Right-click the Microsoft Dynamics CRM Web site, and then click
Properties.
3. Click the Directory Security tab, click Server
Certificate, and then follow the
instructions in the Web Server
Certificate Wizard.
4. If you want clients to only use SSL when they connect to the
Microsoft Dynamics CRM application, on
the Directory Security tab in the
Secure communications area, click
Edit.
5. On the Secure Communications dialog box, click the
Require secure channel (SSL) check
box.
6. Close Internet Information Services (IIS) Manager.
Important: You can apply only a single certificate to the Microsoft
Dynamics CRM Web site. Therefore, you
if you have configured Microsoft
Dynamics CRM Server for both internal
and Internet-facing (external) access,
you cannot configure SSL for both
internal and external connections to
the Microsoft Dynamics CRM Web site.
You must manually modify the following values in the configuration
database.
Warning: Incorrectly modifying the configuration database
(MSCRM_CONFIG) can cause unexpected
behavior in the Microsoft Dynamics CRM
system or cause the system to stop
working. We recommend that you back up
the Microsoft Dynamics CRM system
before you complete these steps. For
information about how to back up the
Microsoft Dynamics CRM system, see the
Operating and Maintaining Guide that
is part of the Microsoft Dynamics CRM
4.0 Implementation Guide document set.
1. On the computer running Microsoft SQL Server, start SQL Server
Management Studio.
2. Expand Databases, expand MSCRM_CONFIG, expand Tables,
right-click dbo.DeploymentProperties,
and then click Open Table.
3. In the dbo.DeploymentProperties table under
the ColumnName column, in the
ADRootDomainScheme row, change the
NVarCharColumn column value from http
to https. Note that this value must be
in lower-case letters.
4. In the dbo.DeploymentProperties table, under
the ColumnName column, in the
ADSdkRootDomain row, change the
NVarCharColumn column value by using
the name of the certificate configured
for the Microsoft Dynamics CRM Web
site. The name of the certificate can
be found, in Internet Information
Services (IIS) Manager, on the
Directory Security tab of the
Microsoft Dynamics CRM Web site
properties page.
5. Click View Certificate.
6. On the Certificate dialog box, click Details.
7. Click the Friendly Name field to locate the certificate name.
If the certificate name is the same as
the computer name, you can use the
format ServerName:SSLPortNumber. By
default, the TCP port for SSL
connections is 443.
8. In the dbo.DeploymentProperties table, under
the ColumnName column, in the
ADWebApplicationRootDomain row, change
the NVarCharColumn column value by
using the name of the certificate
configured for the Microsoft Dynamics
CRM Web site. If the certificate name
is the same as the computer name, you
can use the format
ServerName:SSLPortNumber. By default,
the TCP port for SSL connections is
443.
9. Make sure your modifications are saved and then close
SQL Server Management Studio.
Modify the LocalSDKPort Windows registry subkey value. To do this,
complete the following steps.
Warning: Serious problems might occur if you modify the registry
incorrectly by using Registry Editor
or by using another method. These
problems might require that you
reinstall the operating system and
Microsoft Dynamics CRM. We cannot
guarantee that these problems can be
solved. Modify the registry at your
own risk.
1. Start Registry Editor, and locate the
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM
subkey.
2. Right-click LocalSdkPort, click Modify, and then click OK.
3. In the Base area, click Decimal, and then type the TCP port.
4. Click OK.
5. Close Registry Editor.
Restart IIS. To do this, at the command line, run the iisreset
command.
Start the Microsoft Dynamics CRM Web site. To do this, right-click the
Microsoft Dynamics CRM Web site, and
then click Start.
Restart the Microsoft Dynamics CRM Asynchronous Processing Service.
To do this, click Start, point to
Administrative Tools, and then click
Services. In the list of services,
right-click Microsoft Dynamics CRM
Asynchronous Processing Service, and
then click Restart.
Verify that you can successfully connect to the Microsoft Dynamics CRM
Web site. To do this, you must use a
URL that begins with https. For
example, in Internet Explorer the URL
will appear similar to the following
address:
https://ServerName/OrganizationName/loader.aspx
If the Microsoft Dynamics CRM Web site is not configured to require
SSL connections, verify that you can
successfully connect to the site by
using an http connection, for example,
http://ServerName/OrganizationName/loader.aspx.

Related

SQL Server Reporting Services - cannot authenticate through URL on the same machine as SSRS server

I am accessing SSRS reports (SQL Server 2016) through URL to embed them in my application in an iFrame. When I access SSRS reports remotely, i.e from different computer I can authenticate and display the reports.
In my iFrame source I put:
http://example.com:4000/path_to_ReportServer/report_name
And that works fine when I deploy my app to stage server. All the SSRS reports load with no problem at all.
However I develop on the same PC as my SSRS report server resides, and when I am on it I have to change all the links in iFrames to:
http://computername:4000/path_to_ReportServer/report_name
edit: originally I wrote here that I use localhost, but actual I meant computer name.
If I try to run my app from VS on my dev machine and I do not change the domain to computer name I wont be able to authenticate at all. It just keeps asking me for the same credentials over and over again.
I've checked the ReportServerService log, and I see this as a last line when I try to log in:
library!DefaultDomain!3bd0!11/21/2016-12:52:36:: e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException: Invalid PBI Configuration, Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException: The report server has encountered a configuration error. ;
I looked for this problem extensively, and I only find MS configuration tutorial but no one having similar issue to mine.
I have checked the usual culprits like firewall or port conflicts (but if I had any of those I would not be able to access the SSRS from any other PC, yet I can and the link doesn't work only on local machine.)
I am very new to SSRS in general so please kindly be patient with me. Thanks!
A few things you can try:
In SSRS Configuration and ensure that the Report Service and Report Management endpoints are valid (Copy the url in the hyperlink and make sure it opens on your local host.)
In SSRS Configuration and ensure that the Report Service Database has been properly deployed.
Remove any custom modules/assemblies you have applied to the default behavior from the ssrs web config (Custom Security).
I think you have applied changes to ssrs's web config in order to have it load assemblies for your custom security, custom datasourse/dataset, custom render format and fat fingered the config somehow.
You're probably running into a same-origin-policy error, which wikipedia states as under the policy, a web browser permits scripts contained in a first web page to access data in a second web page, but only if both web pages have the same origin.
The fix is to implement the X-Frame-Options metatag, like so:
X-Frame-Options: ALLOW-FROM https://example.com/

SSRS Connection Error

am getting the following error when attempting to run an MVC website in VS2013 and SQl Server 2014 using the ReportViewer control and accessing a report from the report server:
RSExecutionConnection MissingEndpointException: The attempt to connect to the report server failed. Check your connection information and that the report server is a compatible version.
I am using the correct report server url foun in the Reporting Services configuration manager. When I attempt to run the report in the SSRS project, the system prompts me for a user name and password. I enter the computer admin user/password. The report then runs. By the way, the reportviewer control uses the same user/password.
I am also able to access both the report server and reports urls in a browser with the same prompt for user//password.
I tried fiddling around with the report server role settings and under folder settings, this user has all privileges checked (browser, content manager, my reports, publisher, report builder).
Also as a side issue, I cannot see site settings even if I invoke the browser as an administrator.
I also looked in the SSRS Configuration manager. The service account is "Local System". The same admin user is listed in "Execution Account".
When running the website, I see no error entries in the SSRS log.
Please help, I have been looking into this for 2 days.
I think these solutions can help
Change from Local System to Network Service in Service Account of Reporting Services Configuration Manager
Update the web.config of ReportServer for these settings as below
<authentication mode="Windows" />
<identity impersonate="true" />

Error: The specified TargetServerURL is not valid. Specify a valid URL for report server in the deployment settings

I have created a Report Server Project in Visual Studio 2013. The actual report server was a pre-existing server whose reports were previously populated via the Report Builder tool. I have downloaded the .RDL files locally and added them to the project under the /Reports folder.
When I try to deploy the reports I am receiving the 'TargetServerURL' is not valid error. I have researched the answers here and here.
I can successfully navigate to http:///Reports_PRODUCTION which displays the reports, and also to http:///ReportServer_PRODUCTION which offers an FTP-view of the report structure.
In the project properties I have set the 'TargetServerURL' to both of these URLs and neither has worked. I've verified that the target server version is correctly set - SQL Server 2008 R2. Am I missing something?
Thanks
I found out something, so that's why I post to this old question.
I had the same problems after starting a new VS2013 SSRS project and tried to deploy to the same RS server, but to a different server.
I kept getting the error: The specified TargetServerURL is not valid. Specify a valid URL for report server in the deployment settings.
After quadruple checking everything,I found that I was changing the ssrs project property on Release mode but in VS 2013 I was deploying the project in Debug mode. After changing the VS 2013 configuration to run as Release it found the right ssrs project settings and deployed fine on first run.
I read these answers and looked in my Configuration Manager (Right click project name > Properties > Configuration Manager > and picked the Server that was configured. It shows up checked like the image. I had been uploading with correct info, just didn't have the configuration fully done on my new project which used files and locations from older project:
Screenshot of Configuration Manager and Settings
I would start by looking at what SSRS thinks the service endpoint is and I bet that is the one you should be using.
Open the Sql Server 20XX Reporting Service Configuration Manager.
NOTE : This is found under the Sql Server progam group and maybe in a subfolder.
Select the service instance you want to connect to and click Connect
Navigate to the "Web Service Url" Tree List View Item in the list on the left hand side of the window.
Note the URLs: value in the "Report Server Web Service URLs" group box at the bottom of the Web Service URL panel. (This is the url you should use to connect with)
NOTE : If this is on a remote server then you will need to http or https to the domain in place of localhost or machine name if that is how the Report service was set up. If you can not access https:\\MACHINENAME/SSRS from your local machine then simply replace the url with https:\\www.mymachinenameurl.com/SSRS
make sure your deployment settings for the configuration you are deploying from are set (deploying in debug, ensure you are referring to debug deployment settings)
trust me I've been there .. Allot
I reached here because I've had the same error, and I was not able to deploy my report .
Anyways, at some point I tried to deploy the report manually by uploading to the library that I've already prepared with the Reporting Content Types, but the datasource was appearing as unknown file types, and couldn't access Manage Data Sources of the report.
tried to run the report hopelessly and noticed the url
http://ServerName/PWA/_layouts/15/ReportServer/RSViewerPage.aspx?rv:RelativeReportUrl=/PWA/Reports%20Library/Weekly%20Status%20Report.rdl
I tried to use the url http://ServerName/PWA/_layouts/15/ReportServer as "TargetServerURL" and it worked
for the other properties like the Datasets, reports ... I used the following urls
Report: http://ServerName/PWA/Reports%20Library/
DataSets: http://ServerName/PWA/Reports%20Library/Datasets
datasource: http://ServerName/PWA/Reports%20Library/datasource
and this was the end of my suffer and was able to deploy correctly and manage every property of the report, datasets, and datasources

Problems with Reporting Services

I am using SQLServer 2008 Enterprise Edition running in Windows 7 Home Premium Edition, and I am having problems with the reporting service. The Reporting Service Configuration Manager does not show neither the Report Service Web Server Url nor the Report Manager URL. However, if I bring closer the mouse to the place where the aforementioned Urls should be a tooltip with the value of these addresses appears.
Using this invisible url I go to Report Manager and it is empty in spite of the fact that I have made an apparent successful deploy of some reports from my Visual Studio 2008.
In addition, when attempting to see the reports through the Report Service Web URL it gives me the following error :
"The permissions granted to user yamil PC yamil ' plow insufficient for performing this operation. ( rsAccessDenied ) "
At last, no one of the web sites related with Reporting Services appears in the Internet Information Services Configuration Manager. Is this normal?
This looks like permission or UAC error to me. By default, BUILTIN\Administrators or the local admin group on computer would have content manager role on RS. If you are already part of this group and you still see the error, You need to right click on your IE's icon and "Run as Administrator" before you try to browse the Report Server URL which throws the error.
For Report Manager URL, if its greyed out, URL reservation for Report Manager is not done. See if Apply button is enabled, If it is, Clicking on the Apply button under Report Manager tab should take care of it.
Make sure the user you are trying to login with is an administrator. Once that is done you should be able to go into the report manager url as specified in Reporting Services Configuration Manager.

Integrated Security on Reporting Services XML Datasource

I am working on setting up my report server to use a web service as an XML datasource. I seem to be having authentication issues between the web service and the report with I choose to use Integrated security. Here's what I have:
1) I have a website w/ an exposed service. This website is configured to run ONLY on Integrated Security. This means that we have all other modes turned off AND Enabled anonymous access turned off under directory security.
2) Within the Web.config of the website, I have the authentication mode set to Windows.
3) I have the report datasource set to being an XML data source. I have the correct URL to the service and have it set to Windows Integrated Security. Since I am making a hop from the Browser to the Reporting Server to the Web Service, I wonder if I am having an issue w/ Kerberos, but I am not sure.
When I try to access the service, I get a 401 error.
Here are the IIS logs that I am generating:
2011-01-07 14:52:12 W3SVC IP_ADDY POST /URL.asmx - 80 - IP_ADDY - 401 1 0
2011-01-07 14:52:12 W3SVC IP_ADDY POST /URL.asmx - 80 - IP_ADDY - 401 1 5
Has anyone worked out this issue before? Thanks!
It does sound like you are experiencing the "double hop" issue. Is it possible to create an account on your web service that the reporting server uses explicitly instead of passing through the users credentials?
There's a simpler solution if you dont want to muck around with Kerberos... although the user experience is less desirable.
On the Data Source...If you check the "Credentials supplied by the user running the report" and the "Use as Windows credentials when connecting to the data source" then the user will be promoted to log in when they run the report. Since the credentials are being supplied to the SSRS server it's only a single hop from SSRS to the webservice... thus avoiding the double-hop NTLM authentication problem.
It's less user-friendly, though, since you have to log in to run the report.