IP and machine name in browser gets HTTP Status 401 Unauthorized
Hi experts,
I am getting HTTP 401 Error when I try to access /Osoft application within server with IP like http://192.168.1.50/Osoft or http://machinename/Osoft, but when I try to open http://localhost/Osoft I do not get this error on server.
Any ideas?
Server Error in '/OSoft' Application.
The request failed with HTTP status 401: Unauthorized.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Net.WebException: The request failed with HTTP status 401: Unauthorized.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[WebException: The request failed with HTTP status 401: Unauthorized.]
Microsoft.VisualBasic.CompilerServices.Container.InvokeMethod(Method TargetProcedure, Object[] Arguments, Boolean[] CopyBack, BindingFlags Flags) +202
Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack) +275
OSoft.Consumers.ZFP.WebBase.Utility.SetWSCredential(String strServiceName, String strMethod, String strParameter, String strContext, String strSecurity) +9306
OSoft.Consumers.ZFP.WebBase.Utility.GetLastUserApp(CPMUser& mUser, String strAppServerURL, String strSecurity, String strContext, Boolean bServerPathReset) +1419
OSoft.Consumers.ZFP.WebBase.PageBase.Page_Init(Object sender, EventArgs e) +1906
System.EventHandler.Invoke(Object sender, EventArgs e) +0
System.Web.UI.Control.OnInit(EventArgs e) +99
System.Web.UI.Page.OnInit(EventArgs e) +12
OSoft.Consumers.ZFP.WebBase.PageBase.OnInit(EventArgs e) +12
System.Web.UI.Control.InitRecursive(Control namingContainer) +333
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +378
I have found solution, PC_MS folder was copied from another instance and web.config file was problematic.
<appSettings>
<!-- base locations of servers -->
<add key="AppServer_URL" value="http://XXX/osoft/app"/>
<add key="AppServer_AUTH" value="1"/><add key="UserID" value="***"/><add key="UserPassword" value="***"/></appSettings>
<!--system.codedom-->
<system.codedom>
Regards,
Ergin Ozturk
Similar Messages
-
Hi All,
My Web application is FBA application and I am using the lists.asmx services in my custom webpart. To run this lists.asmx service in FBA enabled site we need to use Authentication.asmx service..
I referred this link:
http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopment/thread/21867e28-75d5-42c8-850b-bfb5c5894eed .
I wrote a code as mentioned in this article but now I am getting error "The request failed with HTTP status 401: Unauthorized " for Authentication.asmx service itself. Can somebody help me why it is not working even everything looks
correct?
Thank you.
Regards,
Rahul Shinde.Hi Rahul,
Give permissions to the user on the web application.
Central Admin -->Application Management --> Application Security -->Policy for web application --> Select the
web application --> Add User
For more information, refer to
http://microsoftdev.blogspot.com/2009/10/sharepoint-web-services-access-give.html
http://www.codeproject.com/Articles/24244/Access-a-Forms-Based-SharePoint-Site-s-Web-Service
Best Regards.
Kelly Chen
TechNet Community Support -
I want to Fill a drop down with Outlook Meeting of Current log-in user in SharePoint 2013 web part for default credentials I am using the following code
ExchangeServiceBinding binding = new ExchangeServiceBinding();
ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true;
binding.RequestServerVersionValue = new RequestServerVersion();
binding.RequestServerVersionValue.Version = ExchangeVersionType.Exchange2010_SP2;
binding.PreAuthenticate = true;
binding.UseDefaultCredentials = true;
binding.Credentials = CredentialCache.DefaultCredentials ;
string server = "https://*********/ews/Exchange.asmx";
binding.Url = server;
I Am Getting the Error "The request failed with HTTP status 401: Unauthorized."
but when I Replace the line
binding.Credentials = CredentialCache.DefaultCredentials ;
with
binding.Credentials = new NetworkCredential(userName, password, domain);
Its run fine. Is there any way I could able to use default credential.
Hi,
As this question is more relate to Exchange development, I suggest you post it to the corresponding forum, you will get more help and confirmed answers from there.
http://social.msdn.microsoft.com/Forums/office/en-US/home?category=exchangeserver
Best regards
Patrick Liang
TechNet Community Support -
The IReportServerCredentials approach with the ReportViewer control is working fine within a domain, but I get a 401 not authorized error for a Web IIS server trying to call a SSRS server in another domain. I've see plenty of helpful postings on the use
of IReportServerCredentials but nothing that provides suggestions for this cross domain issue. Hope someone has some ideas on this one. Thanking you in advance for your response.
Using VS 2008 VB.NET web app with ReportViewer control Version=8.0.0.0.
Outside domainA Web Server IIS 8. OS = Windows NT 6.2;
Inside domainA Windows 7 desktop; Inside domainA Windows Server 2003
SSRS using windows authentication and on SQL Server 2012. OS = Windows NT 6.2
The processing described below successfully produces a report when the web server app runs on a machine in the same domain as the SSRS server. For the "same domain" web app, both Win 7 desktop VS 2008 development server and Windows 2003 IIS 6 have
been tested successfully.
The report fails with error "The request failed with HTTP status 401: not authorized " when the web app is run from a windows IIS 8 machine (outward or Internet facing web server) that is not in the domain of the SSRS server. The ReportViewer control
credentials (provided by IReportServerCredentials and taken from the web.config file) match a domain account in the same domain as the SSRS
server and one that has browser permission on the report folder. The same credentials are used successfully for reports requested from within the SSRS domain.
One interesting thing is that on the Internet facing web server, I can access the report via a browser request. So it is possible to have a user request coming from the Internet facing machine get through the SSRS windows authentication. Just does not
work for the ReportViewer.
Using IReportServerCredentials interface per example provided by Microsoft msdn site. Code listed below.
IReportServerCredentials would appear to be a viable approach because it can pass credentials of a windows account known to the SSRS server, but not known to the client machine. By the way, database calls to SQL Server in domainA using a SQL Server
native login account work fine. So the network support communication to a domain that the web server does not belong to.
<Serializable()> _
Public NotInheritable Class MyReportServerCredentials
Implements IReportServerCredentials
Public ReadOnly Property ImpersonationUser() As System.Security.Principal.WindowsIdentity _
Implements IReportServerCredentials.ImpersonationUser
Get
'Use the default windows user. Credentials will be
'provided by the NetworkCredentials property.
Return Nothing
End Get
End Property
Public ReadOnly Property NetworkCredentials() As ICredentials _
Implements IReportServerCredentials.NetworkCredentials
Get
'Read the user information from the web.config file.
'By reading the information on demand instead of storing
'it, the credentials will not be stored in session,
'reducing the vulnerable surface area to the web.config
'file, which can be secured with an ACL.
'User name
Dim userName As String = _
ConfigurationManager.AppSettings("MyReportViewerUser")
If (String.IsNullOrEmpty(userName)) Then
Throw New Exception("Missing user name from web.config file")
End If
'Password
Dim password As String = _
ConfigurationManager.AppSettings("MyReportViewerPassword")
If (String.IsNullOrEmpty(password)) Then
Throw New Exception("Missing password from web.config file")
End If
'Domain
Dim domain As String = _
ConfigurationManager.AppSettings("MyReportViewerDomain")
If (String.IsNullOrEmpty(domain)) Then
Throw New Exception("Missing domain from web.config file")
End If
Return New NetworkCredential(userName, password, domain)
End Get
End Property
Public Function GetFormsCredentials(ByRef authCookie As Cookie, _
ByRef userName As String, _
ByRef password As String, _
ByRef authority As String) As Boolean _
Implements IReportServerCredentials.GetFormsCredentials
authCookie = Nothing
userName = Nothing
password = Nothing
authority = Nothing
'Not using form credentials
Return False
End Function
End Class
'Set the ReportViewer values and retrieve the report from the SSRS server into a pdf file on the client machine.
ProposalRptViewer.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote
' Set the ReportViewer ReportServerCredentials from the MyReportServerCredentials Class.
' Note the credentials are for a domain account defined in the same domain that the SSRS server belongs to and one that has browser permission on the report folder.
ProposalRptViewer.ServerReport.ReportServerCredentials = _
New MyReportServerCredentials()
ProposalRptViewer.ServerReport.ReportServerUrl = New Uri(System.Configuration.ConfigurationManager.AppSettings(Web.[Global].CfgKeyReportServerURL))
ProposalRptViewer.ServerReport.ReportPath = System.Configuration.ConfigurationManager.AppSettings(Web.[Global].CfgKeyReportPathProposal)
ProposalRptViewer.ShowCredentialPrompts = False ' disable prompting for data source credentials
Dim paramList As New Generic.List(Of ReportParameter)
Dim pInfo As ReportParameterInfoCollection
pInfo = ProposalRptViewer.ServerReport.GetParameters()
paramList.Add(New ReportParameter("ProposalID", ProposalID, True))paramList.Add(New ReportParameter("Entity", Entity, True))
paramList.Add(New ReportParameter("intRatesPage", intRatesPage1, True))
ProposalRptViewer.ServerReport.SetParameters(paramList)
' Process and render the report
ProposalRptViewer.ServerReport.Refresh()
Dim mimeType As String = Nothing
Dim encoding As String = Nothing
Dim streams As String() = Nothing
Dim extension As String = Nothing
Dim warnings As Microsoft.Reporting.WebForms.Warning() = Nothing
Dim returnValue As Byte()
' Render the proposal Rate Page 1 report to a Byte Array output in pdf file format.
returnValue = ProposalRptViewer.ServerReport.Render("PDF", Nothing, mimeType, encoding, extension, streams, warnings)
An error only occurs for web server not in the domain of SSRS Server:
The request failed with HTTP status 401: Unauthorized.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Net.WebException: The request failed with HTTP status 401: Unauthorized.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack
trace below.
Stack Trace:
[WebException: The request failed with HTTP status 401: Unauthorized.]
Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.GetSecureMethods() +236
Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.IsSecureMethod(String methodname) +58
Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.SetConnectionSSLForMethod(String methodname) +16
Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.LoadReport(String Report, String HistoryID) +226
Microsoft.Reporting.WebForms.ServerReport.GetExecutionInfo() +192
Microsoft.Reporting.WebForms.ServerReport.SetParameters(IEnumerable`1 parameters) +136
DeltaRater.Web.ViewRates.btnCreateProposal_Click(Object sender, EventArgs e) in C:\alex\~~_____Rapid_Rater\SourceDir_VS2008_Jan17_2014\DRR\ViewRates.aspx.vb:911
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +115
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +140
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +29
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2981
Version Information: Microsoft .NET Framework Version:2.0.50727.8009; ASP.NET Version:2.0.50727.8010I got the answer to my question by following suggestions by Irb on another technical forum.
From web server (not on same domain), I was passing credentials of a domain account on the SSRS server. Irb suggested I create a local account on the SSRS server and pass those credentials. I tried this but got the same results.
This approach worked for web server in SSRS domain, but failed with 401 Unauthorized for web server outside the SSRS domain. Per suggestion for local account on SSRS server, I tried passing empty string "" as the domain via IReportServerCredentials.
Again this works for web server in the same domain as SSRS. But I get the 401 Unauthorized error when the web server is outside the domain. In testing and checking similar posts, I discovered an additional piece was required for the report request to work
across domains. The default user did not have authority to send the request and/or receive the report. Adding the following in <system.web> section of web.config file was needed.
<identity impersonate="true" userName="localwindowsuser" password="#########"/> where "localwindowsuser" is a windows user defined on the web server.
I never needed this extra piece when the web server ran in the same domain as the SSRS server. I thank Irb for making me go through the details of additional tests because that is how I stumbled across an identity comment and ultimately got things working. -
SSRS 2008 - HTTP Status 401: Unauthorized
I have a WPF application which is hosting a SSRS 2008 ReportView via a WindowsFormsHost control. I am trying to connect to a remote server to run a report, but I receive the following error:
{"The request failed with HTTP status 401: Unauthorized."}
[System.Net.WebException]: {"The request failed with HTTP status 401: Unauthorized."}
Data: {System.Collections.ListDictionaryInternal}
HelpLink: null
InnerException: null
Message: "The request failed with HTTP status 401: Unauthorized."
Source: "Microsoft.ReportViewer.Common"
StackTrace: " at Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.GetSecureMethods()
at Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.IsSecureMethod(String methodname)
at Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.SetConnectionSSLForMethod(String methodname)
at Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.ProxyMethodInvocation.Execute[TReturn](RSExecutionConnection connection, ProxyMethod`1 initialMethod, ProxyMethod`1 retryMethod)
at Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.LoadReport(String Report, String HistoryID)
at Microsoft.Reporting.WinForms.ServerReport.EnsureExecutionSession()
at Microsoft.Reporting.WinForms.ServerReport.GetDataSources(Boolean& allCredentialsSet)
at Microsoft.Reporting.WinForms.RSParams.GetDataSources(Boolean& allSatisfied)
at Microsoft.Reporting.WinForms.RSParams.EnsureParamsLoaded(Boolean forceCredentialsShown, ReportParameterInfoCollection parameterInfos)
at Microsoft.Reporting.WinForms.RSParams.EnsureParamsLoaded()
at Microsoft.Reporting.WinForms.ReportViewer.RenderReportWithNewParameters(Int32 pageNumber)"
TargetSite: {System.String[] GetSecureMethods()}
Here's my environment:
I have a Windows 2008 Server running SQL Server 2008. This server is a virtual machine running on Hyper-V in a Virtual Private LAN and I'm using RAAS to route traffic to this virtual via a static IP.
I'm passing NetworkCredentials to the report for a user that can access and run reports. I can prove this by logging in to the report server via a browser with these same credentials.
var report = reportViewer.ServerReport;
report.ReportServerCredentials.NetworkCredentials =
new NetworkCredential("MACHINE-NAME\\USER","Password");
Anyway, I've tried everything, short of disabling authentication altogether. Has anyone experienced authentication issues with ssrs in a hosted / virtual environment?
Any help would be greatly appreciated.
ThanksI need help pls, I have the same problem error 401 etc...
I implement all solution in this page and nothing..
Help me pls.
stringurlReportServer =
ReportViewer1.ProcessingMode =
ProcessingMode.Remote;
// ProcessingMode will be Either Remote or Local
ReportViewer1.ShowExportControls =
true;
ReportViewer1.ShowPrintButton =
true;
ReportViewer1.ServerReport.ReportServerUrl =
newUri(urlReportServer);
//Set the ReportServer Url
ReportViewer1.ServerReport.ReportPath =
"/Reportes/"+ ReportName;
//Passing the Report Path
IReportServerCredentialsirsc =
newCredencialesReporting("******",
ReportViewer1.ServerReport.ReportServerCredentials = irsc;
ReportViewer1.ServerReport.Refresh();
ReportViewer1.Visible =
true;
///<summary>
///</summary>
string_usuario, _password, _dominio;
publicCredencialesReporting(stringuserName,
stringpassword,
stringdomain)
_usuario = userName;
_password = password;
_dominio = domain;
publicSystem.Security.Principal.WindowsIdentityImpersonationUser
get
returnnull;
publicSystem.Net.ICredentialsNetworkCredentials
get
returnnewNetworkCredential(_usuario,
_password, _dominio);
///<summary>
///</summary>
///<param
name="authCoki"></param>
///<param
name="userName"></param>
///<param
name="password"></param>
///<param
name="authority"></param>
///<returns></returns>
//public bool GetFormsCredentials(out System.Net.Cookie authCoki, out string userName, out string password, out string
authority)
// userName = _usuario;
// password = _password;
// authority = _dominio;
// authCoki = new System.Net.Cookie(".ASPXAUTH", ".ASPXAUTH", "/", "Domain");
// return true;
publicboolGetFormsCredentials(outSystem.Net.CookieauthCookie,
outstringuser,
outstringpassword,
outstringauthority)
// Do not use forms credentials to authenticate.
authCookie =
null;
user = password = authority =
null;
returnfalse; -
Configuring Reporting Service Add-in for sharepoint - HTTP status 401: Unauthorized.
I have the following setup
Machine 1
WSS 3.0
Installed Reporting Service Add-in
Machine 2
Reporting Service
Sharepoint Object Model
SQL Server
Sharepoint and Report Server DB
I have congigured Reporting Service for Sharepoint Integrated Mode adn Created new Reprot Server DB
Sahre Point Integration is Green and verified link
In Sharepoint Central Administration
Manage Reporting Service Integratio i have selected the URL and "Trusted Account" as my web applications use "Windows Integration - NTLM".
All services, DB access everything running under one domain user account.
I am logged into sharepoint with same account. When clieck on set server defaults i get following error
An unexpected error occurred while connecting to the report server. Verify that the report server is available and configured for SharePoint integrated mode. --> Server was unable to process request. ---> The request failed with HTTP status 401: Unauthorized.
Same error when i try to add a report to a sharepoint webapplication
The domain account is part of "Farm Administration", "site colletion administrato" and local administrator also on both servers.
Can someone let me know how to fix this.jpmartop,
were you able to get this to work?
We have a 4 server topolgy.
moss
wfe
sql
ssrs
and are using Kerberos.
I've installed the wfe on the ssrs and am using a domain user for services, web and pools.
I get all green dots in the ssrs config.
in Central Admin, Grant access seems to work with the domain user, but set defaults gives me:
HTTP status 401: Unauthorized.
What should my web security on the default web site and reports and reports server look like? Integrated Security
Should the SSRS WFE entry in MOSS have Web application service turned on?
I've checked that my SPNs are good.I've installed sql server sp2 and a did windows update on all servers..
Could it be the user I log into the Central Admin with.. it's got server administrator and Farm administrator?
Thanks for any help or information. -
We have a hosted SSRS server and we access it's reports using the reportviewer in an ASP.net application.
We are getting the error: The request failed with HTTP status 401: Unauthorized. When trying to run one of the reports. I have confirmed that the login details work when logging into the report manager page directly.
I have implemented an instance of IReportServerCredentials in a separate class (below) and I call it from the page before it tries to access the report. I'm not sure if this is all I need but can't seem to find any other info.
I have managed to gain access connecting to the external server from my PC and accessed the report, but when I promote the code to production and run it from there on my local PC I get the unauthorized message again: the request failed with http status
401: unauthorized
The class:
[Serializable]
public sealed class MyReportServerCredentials :
IReportServerCredentials
public WindowsIdentity ImpersonationUser
get
// Use the default Windows user. Credentials will be
// provided by the NetworkCredentials property.
return null;
public ICredentials NetworkCredentials
get
// Read the user information from the Web.config file.
// By reading the information on demand instead of
// storing it, the credentials will not be stored in
// session, reducing the vulnerable surface area to the
// Web.config file, which can be secured with an ACL.
// User name
string userName =
ConfigurationManager.AppSettings
["MyReportViewerUser"];
if (string.IsNullOrEmpty(userName))
throw new Exception(
"Missing user name from web.config file");
// Password
string password =
ConfigurationManager.AppSettings
["MyReportViewerPassword"];
if (string.IsNullOrEmpty(password))
throw new Exception(
"Missing password from web.config file");
// Domain
string domain =
ConfigurationManager.AppSettings
["MyReportViewerDomain"];
return new NetworkCredential(userName, password);
public bool GetFormsCredentials(out Cookie authCookie,
out string userName, out string password,
out string authority)
authCookie = null;
userName = null;
password = null;
authority = null;
// Not using form credentials
return false;
The call to the class, just before the report is run:
if (GetConnection.GetConnectionString().ToString().Contains("IP of external server removed"))
invoiceviewer.ServerReport.ReportServerCredentials = new MyReportServerCredentials();
We have tried so many things here, we don't even care whether the server authenticates or not but it appears to be as standard. Our hosting company has also drawn a blank and changed so many settings to no avaHi Nasa1999,
According to your description, you are getting the error: The request failed with HTTP status 401: Unauthorized when you access the report using the ReportViewer in an ASP.net application.
Regarding the 401 error, it could cause by the Service Principal Name(SPN) for the account the Reporting Services is running under hasn’t been registered when the Reporting Services is configured to use Kerberos authentication. So in your scenario,
please check if you are using Kerberos authentication. If that is a case, please make sure SPN is configured correctly. For more information, please refer to the similar thread:
The request failed with HTTP status 401: Unauthorized. in SSRS.
If issue persists, please check the Reporting Service error log (default location: %programfiles%\Microsoft SQL Server\<SQL Server Instance>\Reporting Services\LogFiles) around the time that the error message thrown out.
If you have any question, please feel free to ask.
Best regards,
Qiuyun Yu
Qiuyun Yu
TechNet Community Support -
SSRS 2012 - The request failed with HTTP status 401: Unauthorized.
I have SSRS Reporting Services 2012 load balanced on two servers.
Both servers are running Windows Server 2012 R2.
I have a Web Application that renders reports by utilizing this SSRS Reporting Services 2012.
When the application generates a report using load balancing I get error the message, “The request failed with HTTP status 401: Unauthorized.”
However, using only one reporting server, the application is able to render the report just fine.
It seems that when the requests are shared between the servers the problem occurs.
One solution is to configure Load Balancing with “Source IP” persistence.
This seems to work. I believe this is a “sticky” session.
With this Load Balancing configuration, the application can render the report just fine.
(However, I have not done complete testing.)
The problem occurs when calling the service ListChildren(string, bool ) on SSRS.
I have been researching online. I tried modifying the registry on the servers based on online articles (see below.)
Here are some articles I have looked at.
http://msdn.microsoft.com/en-us/library/cc281307(v=sql.110).aspx
http://blogs.msdn.com/b/lukaszp/archive/2008/07/18/reporting-services-http-401-unauthorized-host-headers-require-your-attention.aspx
http://blogs.msdn.com/b/lukaszp/archive/2008/07/18/reporting-services-http-401-unauthorized-host-headers-require-your-attention.aspx
Is there a better solution? Will Load Balancing with “Source IP” persistence be an acceptable solution? Is there a patch needed for the servers or SSRS? Please let me know.Hi GoGladiator,
Generally, "The request failed with HTTP status 401: Unauthorized" occurs when
The service account used to connect to the Report Server is not authorized.
The Reporting Services is configured to use Kerberos, however, we didn't register Service Principal Name (SPN) for the account the Reporting Services is running under.
So, to fix this issue, we can refer to the follow steps:
Make sure the user is able to connect to the Report Server.
If using Kerberos authentication, please make sure SPN is configured correctly. If using Kerberos authentication, please make sure SPN is configured correctly.
For more information about Kerberos Authentication and how to register SPN for a report server in Reporting Services, please see the articles below:
Configure Windows Authentication on the Report Server
Register a Service Principal Name (SPN) for a Report Server
Hope this helps.
Thanks,
Katherine Xiong
Katherine Xiong
TechNet Community Support -
I got the error "The request failed with HTTP status 401: Unauthorized." when I call the Reporting Service Web Service.
The code is very simple:
// Initialise the reporting service Web Service
this.RSWebService = new ReportingService2010();
// Pass windos authentication credentials to Web Service
this.RSWebService.Credentials = System.Net.CredentialCache.DefaultCredentials;
// List children
List<CatalogItem> reports = this.RSWebService.ListChildren(folder, false).ToList();
The SQL Server is installed on a different machine (say server A) from the Web server (say server B). We are using Windows Server 2003.
The code work fine for all the scenario below:
i) Run locally (XP) to call the web service on the sql server
ii) Provide the Network Credentials with the username, password, and domain when calling the web service
iii) If the web server and sql server is using same server (i.e. not distributed)
I'm using windows authentication and impersonation. Any idea?Hi Raymond,
If I understand correctly, the issue only happens in the environment that the web server is different with the SQL Server Reporting Services server. This means the web server is a remote server of the Report Server. Windows Integrated authentication is used
in this case. When running the web page, the 401 error occurs.
If so, it is actually a double hop issue. The double-hop problem will usually only be an issue to those of you who write some sort of web-based code (a web application or web service) that uses impersonation.
To fix the issue, we can configure kerberos authentication for the web application and the SQL Server Reporting Services.
Below is a great article that has delivered many solutions to fix the issue you met:
http://odetocode.com/articles/216.aspx
Additionally, you can read the following article to know more about double-hop:
http://blogs.technet.com/b/askds/archive/2008/06/13/understanding-kerberos-double-hop.aspx
http://blogs.msdn.com/b/knowledgecast/archive/2007/01/31/the-double-hop-problem.aspx
If you have any more questions, please feel free to ask.
Thanks,
Jin Chen
Jin Chen - MSFT
Thanks Jin. I believe this is the cause of the problem as well.
I tried to register the SPN but unfortunately it still doesn't work. I'm not sure whether I'm using the correct SPN name.
I have 3 reporting server instance on the SQL box. So the Web Service URL is like
http://Server:80/VirtualDirectoryDev,
http://Server:80/VirtualDirectoryTest and
http://Server:80/VirtualDirectoryStaging .
What's the SPN I need to register?
I tried
Setspn -a http/Server:80/VirtualDirectoryDev domain\account
and
Setspn -a http/aerver:80 domain\account.
But both of them are not working :( -
Error when accessing BHOLD Self Service (HTTP status 401: Unauthorized)
Hi,
I have started looking at the BHOLD suite and installed it on a server running FIM2010R2. The installation of the BHOLD suite seemed to be completed without problems and the BHOLD service are up and running under the B1User account and all BHOLD
products can be started with my Administrator user.
However when I click on the link "BHOLD Self Service" in the FIM portal, the silverlight plugin starts and after a short while shows the following error message:
"UserViewModel.GetAuthenticatedUserCompleted 'http://IMCDBS301A:5151/BHOLD/RoleExchangePoint/BHOLDRoleExchangePoint.svc'
System.Net.WebException: [HttpWebRequest_WebException_RemoteServer]
Arguments: NotFound
Debugging resource strings are unavailable. Often the key and arguments provide sufficient information to diagnose the problem. See
http://go.microsoft.com/fwlink/?linkid=106663&Version=4.1.10329.0&File=System.Windows.dll&Key=HttpWebRequest_WebException_RemoteServer ---> System.Net.WebException: [HttpWebRequest_WebException_RemoteServer]
Arguments: NotFound
Debugging resource strings are unavailable. Often the key and arguments provide sufficient information to diagnose the problem. See
http://go.microsoft.com/fwlink/?linkid=106663&Version=4.1.10329.0&File=System.Windows.dll&Key=HttpWebRequest_WebException_RemoteServer
at System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
at System.Net.Browser.BrowserHttpWebRequest.<>c__DisplayClass5.<EndGetResponse>b__4(Object sendState)
at System.Net.Browser.AsyncHelper.<>c__DisplayClass4.<BeginOnUI>b__1(Object sendState)
--- End of inner exception stack trace ---
at System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)
at System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult result)
When I look in Application log (event log) I see:
Error in function call GetInfo fn:objectsbyattributep1:IDMDEMO\Administratorp2:3p3:25 Exception The request failed with
HTTP status 401: Unauthorized. StackTrace 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) at BholdSvrProxy.BHOLDsvc.B1ScriptService.GetInfo(String functionName, String parameter1, String parameter2, String parameter3) in d:\_Bld\10\16\Sources\main\src\samples\BHOLD\2011 R2\Common\BholdSvrProxy\Web References\BHOLDsvc\Reference.cs:line
700 at BholdSvrProxy.BHOLDproxy.GetInfo(String fn, String p1, String p2, String p3) in d:\_Bld\10\16\Sources\main\src\samples\BHOLD\2011 R2\Common\BholdSvrProxy\BHOLDproxy.cs:line 115
Note that IDMDEMO\Administrator is my FIM and Domain administrator that I use in the portal.
I have ensured that the webhome containing 'http://IMCDBS301A:5151/BHOLD/RoleExchangePoint/BHOLDRoleExchangePoint.svc' has windows authentication enabled and that the user B1User is member of the BHOLDApplicationGroup and ISS_IUSRS groups.
I would really appreciate if someone is able to point me in the right direction so I get the BHOLD Self Service working.
thanks and best regards
Søren AamandCould it be that the spn of the servername is already registered by the service account of FIM? A workaround that worked in the past was to
remove the spn from the fim service account and adding it to the b1user service account.
I've also seen it happening that the IPv6 hostname was different from the IPv4 hostname which causes the
HTTP status 401: Unauthorized issue.
I hope this helps.
Regards,
Remy
Remy de Vries - BHOLD Expert - Technical Consultant - Elephant Security -
The request failed with HTTP status 401: Unauthorized.
at Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.GetSecureMethods()
at Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.IsSecureMethod(String methodname)
at Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.LoadReport(String Report, String HistoryID)
at Microsoft.Reporting.WinForms.ServerReport.GetExecutionInfo()
at Microsoft.Reporting.WinForms.ServerReport.SetParameters(IEnumerable`1 parameters)
at Accounting.Reports.UI.FormReportPreview.LoadReport()
at Accounting.UI.FormBase.PreLoadReportComponents()
Please help me with this can't figure out, don't know how to troubleshoot this 5 days working on this error no changes so far, thanks in advance if u can figure it out....Hi willjohn520,
Based on your description, it seems that you are getting the error when you connect to report server reports in workstation. If in this scenario, the issue can be caused by “Host Header”(<foo>) in a URL that looks like http(s)://<foo>/reports
is neither the machine name nor the loop back IP address nor the machine's IP address.
For more details information about this issue, please refer to the following blog:
http://blogs.msdn.com/b/lukaszp/archive/2008/07/18/reporting-services-http-401-unauthorized-host-headers-require-your-attention.aspx
Hope this helps.
Thanks,
Katherine Xiong
Katherine Xiong
TechNet Community Support -
Error "The request failed with HTTP status 401: Unauthorized"
Dear All,
While running ssrs report using reportviewer I am getting following error as "The request failed with HTTP status 401: Unauthorized". I have also added required entry in registry and rebooted the server. But same issue appears. So, please help
me to resolve this.
Thanks in advanceHi dsddsadsa,
According to your description, when trying to running report from the report viewer control, the error "The request failed with HTTP status 401: Unauthorized" is thrown out.
While running report viewer control without impersonation setting, by default it will use the process identity which is Network Service (the AppPool identity is Network Service). Depending on the identity of the AppPool the app is running under, the identity
might be rejected. In your scenario, you may haven’t enable ASP.NET impersonation, you will get this exception. Please set up the following impersonation in the Web.config file, so that ASP.NET will use the configured user name and password to access the report
server:
<configuration>
<system.web>
<identity impersonate="true"
userName="domain\user"
password="password" />
Reference:
Request failed with HTTP status 401: Unauthorized (ReportViewer
control)
If you have any question, please feel free to ask.
Best regards,
Qiuyun Yu -
"The request failed with HTTP status 401: Unauthorized"
Hi,
I'm trying to get both RSS feeds and SSRS reports on a web application which is having NTLM authentication without Kerberos. The catch is proxy setting, if I give <proxy autoDetect="false" /> in web.config of my sharepoint web
application SSRS reports will be rendered in SQL Server Report viewer perfectly (I deploy using BIDS), but RSS viewer webpart will not display my internet feeds. If I give
<proxy autoDetect="true" /> RSS feeds are displayed properly but SSRS report will throw the following error.
The request failed with HTTP status 401: Unauthorized.
Description:
An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Net.WebException: The request failed with HTTP status 401: Unauthorized.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[WebException: The request failed with HTTP status 401: Unauthorized.]
System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) +412862
System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) +300
Microsoft.SqlServer.ReportingServices2005.Execution.ReportExecutionService.ListRenderingExtensions() +53
Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.ListRenderingExtensions() +207
Microsoft.Reporting.WebForms.ServerReport.ListRenderingExtensions() +130
Microsoft.ReportingServices.SharePoint.UI.WebParts.ActionMenu.OnPreRender(EventArgs e) +180
System.Web.UI.Control.PreRenderRecursiveInternal() +108
System.Web.UI.Control.PreRenderRecursiveInternal() +224
System.Web.UI.Control.PreRenderRecursiveInternal() +224
System.Web.UI.Control.PreRenderRecursiveInternal() +224
System.Web.UI.Control.PreRenderRecursiveInternal() +224
System.Web.UI.Control.PreRenderRecursiveInternal() +224
System.Web.UI.Control.PreRenderRecursiveInternal() +224
System.Web.UI.Control.PreRenderRecursiveInternal() +224
System.Web.UI.Control.PreRenderRecursiveInternal() +224
System.Web.UI.Control.PreRenderRecursiveInternal() +224
System.Web.UI.Control.PreRenderRecursiveInternal() +224
System.Web.UI.Control.PreRenderRecursiveInternal() +224
System.Web.UI.Control.PreRenderRecursiveInternal() +224
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3394
I tried to work around this by adding proxy settings with bypass list.
<system.net>
<defaultProxy useDefaultCredentials="true">
<proxy proxyaddress="http://<proxy IP address>:<port>" bypassonlocal="true" usesystemdefault="true" />
<bypasslist>
<add address="<my report server>" />
<add address="http://<report server>:8080/reportserver/" />
<add address="<IP of my report server>" />
</bypasslist>
</defaultProxy>
</system.net>
This makes RSS feed to work but SSRS throw the above error. I would need some advice from Microsoft on how to fix this.
Note: My sharepoint site cannot be anonymous. I have just once service account that runs sql server service, report service, sharepoint services etc. This account is local admin on all servers, has highest access on sql box, run SSRS web service and app
pools, etc.
I have four servers, 2 WFE in windows load balanced, 1 app server (running Central admin and report service in sharepoint integrated mode), 1 db server hosting all content and config dbs and report server db.
Regards,
Manoj
Version Information: Microsoft .NET Framework Version:2.0.50727.3615; ASP.NET Version:2.0.50727.3618Hi,
Thanks to share your post.
For the issue,
do you mean that the error happen with the use of NTLM authentication without Kerberos? If yes, the possible cause should be the lacking of Kerberos.
My suggestion is to implement the Kerberos authentication in your environment. You may check it and test it. For the detailed steps of implementing of the Kerberos:
http://blogs.msdn.com/b/martinkearn/archive/2007/04/23/configuring-kerberos-for-sharepoint-2007-part-1-base-configuration-for-sharepoint.aspx.
http://blogs.msdn.com/b/james_world/archive/2007/08/20/essential-guide-to-kerberos-in-sharepoint.aspx.
Hope this could help you!
Leo -
Service Clients failing with "The request failed with HTTP status 401: Unauthorized"
Hello,
We have implemented a solution using the SSRS web service clients as produced by the WSDLs. We have deployed the application on one server, and via the code we are calling the SSRS on another server (i.e., not using ReportViewer, etc.). We do
know that the user signed in has permissions since from the same staging server the Report Manager and Reports can both be accessed and viewed. However, it's only when we run the application and attempt to execute a report on the remote SSRS server that
we get the following error:
The request failed with HTTP status 401: Unauthorized. 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) at AMC.AssetTracker.Reporting.ReportExecution.ReportExecutionService.LoadReport(String Report, String HistoryID) at AMC.AssetTracker.Reporting.Report.GetReportByteArray() at AMC.AssetTracker.Reporting.Report.get_ReportStream()
at AMC.AssetTracker.Reporting.Report.get_GetWebUIDisplay() at AMC.AssetTracker.UserControls.AssetTrackerMain.btnGenerate_Click(Object sender, EventArgs e)
The credentials we have tried are the DefaultCredentials. One question I have is how do you use custom credentials if neither the DefaultCredentials or the DefaultNetworkCredentials work? Also, this service call does have to go through an ISA
server before reaching the SSRS server.
Any ideas?
Thanks.It sounds like Kerberos authentication is needed in your situation since it's not on the same box.
There is a one-hop limit with NTLM authentication.
For more info please see the link below:
http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/452e9627-cd8e-4709-bdd0-fbafcf9fd719
Hope this helps!
Thanks, Michael Mei -
Hi, I am trying to implement custom hold order / send to in sharepoint 2010 to send files in to holds / record center.
I am at the last step where I am trying submit the metadata using soap call- submit file
[SoapDocumentMethod("http://schemas.microsoft.com/sharepoint/soap/recordsrepository/SubmitFile", RequestNamespace = "http://schemas.microsoft.com/sharepoint/soap/recordsrepository/", ResponseNamespace = "http://schemas.microsoft.com/sharepoint/soap/recordsrepository/", Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public string SubmitFile([XmlElement(DataType = "base64Binary")] byte[] fileToSubmit, [XmlArrayItem(IsNullable = false)] Microsoft.SharePoint.RecordsRepositoryProperty[] properties, string recordRouting, string sourceUrl, string userName)
return (string)base.Invoke("SubmitFile", new object[] { fileToSubmit, properties, recordRouting, sourceUrl, userName })[0];
I am getting an error "The request failed with http status 401: Unauthorized".
Actual file was transferred successfully but while transferring the properties (metadata) I am getting this exception.
ganeshHi ganesh,
Please try to disable the loop back check, compare the result:
In Registry Editor, locate and then click the following registry key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
Right-click Lsa, point to New, and then click DWORD Value.
Type DisableLoopbackCheck, and then press ENTER.
Right-click DisableLoopbackCheck, and then click Modify.
In the Value data box, type 1, and then click OK.
Quit Registry Editor, and then restart your computer.
In addition, please check if these links are useful:
http://www.sharepointpills.com/2011/10/send-sharepoint-2010-document-to.html
http://www.codeproject.com/Articles/497729/UploadingplusDocumentsplusProgramaticallyplustoplu
I hope this helps.
Thanks,
Wendy
Forum Support
Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
[email protected]
Wendy Li
TechNet Community Support
Maybe you are looking for
-
[Solved] Report on Issue with Kernel Config with Nvidia Graphics
I switched back to Archlinux from Gentoo recently and I have been having problems with the system freezing during boot before X is started, even with the nvidia module blacklisted. Trying several module versions yielded different results, all of whi
-
WAD Problem: data below 6th level of Hierarchy is not displaying.
Hello Experts, I am executing a template in the portal and while giving selections for particular 'cost element' in the selection screen, the message is coming saying no records available. There are 9 levels of hierarchy and up to 6 levels the data i
-
How to set Deny Logon Localy in PS Script?
Hello, in the past I used "secedit" and an INF file in a CMD script to set "SeDenyRemoteInteractiveLogonRight" and "SeDenyInteractiveLogonRight" for an local user account on a local Server. Now I have to Switch my script to Power Shell and I did not
-
System error occurred (RFC call),key value exists in duplicate
hi bw expert , i happen the error report. "system error occurred (RFC call). key value exists in duplicate (Not allowed by the ODS object type). Activation of data records from ODS object Z08TRFKP terminated. No confirmation for request odsr_80p13w4l
-
hi people! I'm creating a styles sheets to my page and i'm trying to use the media type "handheld". Someone could to answer me where i to get an application what i can test this css? I'm using actually the application Adobe device Center, included wi