HTTP_RESP_STATUS_CODE_NOT_OK status 401
Hello,
We have PI 7.0 SP 12.
The server has a strange behavior. It is only happening on the production environment, which is very stressed.
Everything is working fine, but after 2 or 3 days, all messages are in error in sxmb_moni :
Category : XIServer
Code area = INTERNAL : HTTP_RESP_STATUS_CODE_NOT_OK
Stack : HTTP response contains status code 401 with the description Unauthorized Authorization error while sending by HTTP
I have already been through all other forum posts, but they are related to a specific scenario. In my case, ALL the messages have this status, but when I restart the server, everything is fine again, until the next 2-3 days when it "crashes" again. We can not connect to the Repository, Directory or RWB anymore neither, as if the authentication process in PI java part was gone (we can still connect on the ABAP part).
Has anyone been through that error or have any suggestion ?
Many thanks,
Best regards,
GL
hi,
i never have this kind of error.
lokking in some blogs and threads i got it:
Blog: /people/krishna.moorthyp/blog/2006/07/23/http-errors-in-xi
Error: HTTP_RESP_STATUS_CODE_NOT_OK 401 Unauthorized
Description: The request requires user authentication
Check XIAPPLUSER is having this Role -SAP_XI_APPL_SERV_USER
If the error is in XI Adapter, then your port entry should J2EE port 5<System no>
If the error is in Adapter Engine
then have a look into SAP note- 821026, Delete the Adapter Engine cache in transaction SXI_CACHE Goto --> Cache.
May be wrong password for user XIISUSER
May be wrong password for user XIAFUSER
for this Check the Exchange Profile and transaction SU01, try to reset the password -Restart the J2EE Engine to activate changes in the Exchange Profile After doing this, you can restart the message
it is not only the following users that are impacted
this are communication users of pi. i adviced you to check when before restart the server if any of this users are lock.
Thanks
Rodrigo
Edited by: Rodrigo Pertierra on Apr 29, 2008 11:20 AM
Similar Messages
-
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 -
"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 -
Web Service client authorization error: HTTP status 401
.NETters,
My .NET client program is invoking a simple "Hello World" Web Service written in ABAP. Here is the code:
Z_HWWSDServiceWse svc = new Z_HWWSDServiceWse();
try {
string msg = svc.ZHelloworld();
Console.WriteLine(msg);
}catch(Exception e) {
Console.WriteLine(e.Message);
The code uses WSE 2.0 framework.
This code works if I edit the properties on WSD service using transaction SICF and specify anonymous login options. However, I would like to pass the user token from the client program itself.
So I removed anonymous login options and supplied the required information programmatically.
UsernameToken ut = new UsernameToken("pradeep", "password", PasswordOption.SendPlainText);
svc.RequestSoapContext.Security.Tokens.Add(ut);
However, when I run this code, I get an error: "The request failed with HTTP status 401: Unauthorized"
I then tried supplementing this code with network credentials logic:
System.Net.CredentialCache cc = new System.Net.CredentialCache();
cc.Add(new Uri("http://servermachname"), "Basic", new System.Net.NetworkCredential("pradeep", "password", null));
svc.Credentials = cc;
The problem still doesn't go away :-(.
Does anyone have any idea on what is it that I am missing in my code?
Thank you in advance for your help.
PradeepIn my tests with normal .NET WS client something like the following allways worked:
WSProxy proxy = new WSProxy();
proxy.Credentials = new System.Net.NetworkCredential("user", "password");
proxy.PreAuthenticate = true;
proxy.CallMethod();
As your code is very similar, it may be a compatibility problem between WSE and WAS. I would recommend that you use a network snippen and look what really goes over the wire.
I have also seen an issue where the settings in SICF where somehow corrupted (e.g. the fixed credentials checkbock was on, but no credentials where specified). The solution was just to "reset" the settings in SICF. -
HTTP Status 401 error download sdk
So I guess I'm missing the secret sauce here. I log into the portal and click the purple button to download the sdk but all I get is a HTTP Status 401 error:
type Status report
message
description This request requires HTTP authentication ().
Same thing happens on firefox, safari, and ie 8. Anyone else run into this?
Thanks,
EricHah fixed my own problem I guess. I had to create a new account not login with my existing adobe developer account. Not sure why that didn't work but I got what I wanted.
-
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 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 -
Error http the request failed with http status 401: unauthorized
Hi,<o:p></o:p>
We are currently developing a Web Part for a
dashboard that connects from SharePoint 2010 to Project Server, we are trying
to connect via the PSI web service and fetch the project data but it is giving
the same error "The request failed with HTTP
status 401: Unauthorized". We are having a huge
issue with gaining authorization through the PSI and cannot figure out what the
problem is. We are using Project Server 2010, SharePoint 2010 and Visual Studio
2010.<o:p></o:p>
The person developing this has administrative
rights on both servers and it is running on his account. However, this is his
first experience with Project Server. Could some provide some guidance?<o:p></o:p>
Does anyone have any suggestions?<o:p></o:p>
Thanks,<o:p></o:p>
Aba
<o:p></o:p>Hi,
Have the credentials been set for the web service? Or are you trying to pass the credentials of the user accessing the webpart? In the second case, the user must have permissions in project server
It would be useful if you can share the part of the code that fails
Paul -
The request failed with HTTP status 401: Unauthorized Invoke Webservice
I want Adding a Web reference dynamically at Runtime follow
SecurityPermissionAttribute(SecurityAction.Demand, Unrestricted = true)]
internal static object CallWebService(string webServiceAsmxUrl, string serviceName, string methodName, object[] args)
System.Net.
WebClient client = new System.Net.WebClient();
client.Credentials =
new NetworkCredential("username", "pass");
// Connect To the web service
System.IO.
Stream stream = client.OpenRead(webServiceAsmxUrl + "?wsdl");
// Now read the WSDL file describing a service.
ServiceDescription description = ServiceDescription.Read(stream);
///// LOAD THE DOM /////////
// Initialize a service description importer.
ServiceDescriptionImporter importer = new ServiceDescriptionImporter();
importer.ProtocolName =
"Soap12"; // Use SOAP 1.2.
importer.AddServiceDescription(description,
null, null);
// Generate a proxy client.
importer.Style =
ServiceDescriptionImportStyle.Client;
// Generate properties to represent primitive values.
importer.CodeGenerationOptions = System.Xml.Serialization.
CodeGenerationOptions.GenerateProperties;
// Initialize a Code-DOM tree into which we will import the service.
CodeNamespace nmspace = new CodeNamespace();
CodeCompileUnit unit1 = new CodeCompileUnit();
unit1.Namespaces.Add(nmspace);
// Import the service into the Code-DOM tree. This creates proxy code that uses the service.
ServiceDescriptionImportWarnings warning = importer.Import(nmspace, unit1);
if (warning == 0) // If zero then we are good to go
// Generate the proxy code
CodeDomProvider provider1 = CodeDomProvider.CreateProvider("CSharp");
// Compile the assembly proxy with the appropriate references
string[] assemblyReferences = new string[5] { "System.dll", "System.Web.Services.dll", "System.Web.dll", "System.Xml.dll", "System.Data.dll" };
CompilerParameters parms = new CompilerParameters(assemblyReferences);
CompilerResults results = provider1.CompileAssemblyFromDom(parms, unit1);
// Check For Errors
if (results.Errors.Count > 0)
foreach (CompilerError oops in results.Errors)
System.Diagnostics.
Debug.WriteLine("========Compiler error============");
System.Diagnostics.
Debug.WriteLine(oops.ErrorText);
throw new System.Exception("Compile Error Occured calling webservice. Check Debug ouput window.");
// Finally, Invoke the web service method
object wsvcClass = results.CompiledAssembly.CreateInstance(serviceName);
MethodInfo mi = wsvcClass.GetType().GetMethod(methodName);
return mi.Invoke(wsvcClass, args);
else
return null;
When i call CallWebService method , it is error
The request failed with HTTP status 401: Unauthorized.
Exception Details: System.Net.WebException: The request failed with HTTP status 401: Unauthorized.
Source Error:
Line 1880: MethodInfo mi = wsvcClass.GetType().GetMethod(methodName);
Line 1881:
Line 1882: return mi.Invoke(wsvcClass, args);
Help me solve this problem.
ThanhksThank advance
I tried it, but it till error
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) +431201
System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) +204
HSCVWS.HelloWorld() +31
[TargetInvocationException: Exception has been thrown by the target of an invocation.]
System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) +0
System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) +71
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks) +350
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +29
System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) +19
WsProxy.CallWebService(String webServiceAsmxUrl, String serviceName, String methodName, Object[] args) in d:\ViDu01\ttt.aspx.cs:1882
ttt.Page_Load(Object sender, EventArgs e) in d:\ViDu01\ttt.aspx.cs:27
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
#Software: Microsoft Internet Information Services 6.0
#Version: 1.0
#Date: 2009-06-09 02:43:10
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status
2009-06-09 02:43:10 192.168.2.46 GET /_vti_bin/testwebservice.asmx wsdl 80 - 192.168.x.xx - 200 0 0
2009-06-09 02:43:13 192.168.2.46 POST /_vti_bin/testwebservice.asmx - 80 - 192.168.x.xx Mozilla/4.0+(compatible;+MSIE+6.0;+MS+Web+Services+Client+Protocol+2.0.50727.3053) 401 5 0
2009-06-09 02:43:16 192.168.2.46 GET /_vti_bin/testwebservice.asmx wsdl 80 - 192.168.x.xx - 200 0 0
2009-06-09 02:43:17 192.168.2.46 POST /_vti_bin/testwebservice.asmx - 80 - 192.168.x.xx Mozilla/4.0+(compatible;+MSIE+6.0;+MS+Web+Services+Client+Protocol+2.0.50727.3053) 401 5 0
2009-06-09 02:44:42 192.168.2.46 POST /_vti_bin/testwebservice.asmx - 80 servername\username 192.168.x.xx Mozilla/4.0+(compatible;+MSIE+6.0;+MS+Web+Services+Client+Protocol+2.0.50727.3053) 200 0 0 -
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; -
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 -
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 :( -
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
Maybe you are looking for
-
Can I use CSS with PS Web Gallery Preset?
Using DW CS4. I wanted to create a web gallery with captions under the thumbnail images. I could not get captions to show up using the workspace output tool in Bridge, so I used the web gallery plug-in and preset in Photoshop. The doc title and descr
-
I had found the Autofil area (can't remember exactly where I found it) and must have entered my own information. But now when I go on the USPS website, it Autofils my own information in the TO: section. Even though I take the information out, and put
-
How to publish the BI reports in portal
Hi All, By Using URL , how to create the iviews and how to assign to workset,folder and to page , how we can create individually. Thnaks & Regards, sathish Edited by: sathish kakumudi on Jun 13, 2010 2:10 PM
-
Purchase Transferring to Another system
I wonder if I can transfer my PS4 purchases to another PS4
-
Please suggest a list/link of the known bugs present in OBIEE11g.