Hi,
I'm trying to include some user credentials for accessing a remote
webservice. The remote location requires that I use Basic
authentication, which means, from browsing around, I need to include
the user name and password in the HTTP header, but I'm not quite sure
how to access the HTTP header that is sent with the webservice soap
message request.
Can anyone help?
Thanks in Advance.
Kevin 6 4381
You should be able to pass a NetworkCredential object to the webservice
proxy that uses the specified user name, password, and domain and pass this
with the request to the remote webservice. This would be added to the
outbound header when the request is made.
Have a read of this for an example. http://support.microsoft.com/kb/811318/EN-US/
--
Regards
John Timney
Microsoft MVP
<ut*********@gmail.com> wrote in message
news:11**********************@o13g2000cwo.googlegr oups.com... Hi,
I'm trying to include some user credentials for accessing a remote webservice. The remote location requires that I use Basic authentication, which means, from browsing around, I need to include the user name and password in the HTTP header, but I'm not quite sure how to access the HTTP header that is sent with the webservice soap message request.
Can anyone help?
Thanks in Advance.
Kevin
I tried your suggestion, which I have used in the past to pass
credentials. In this instance, I'm needing to send the credentials via
the HTTP headers, not part of the soap headers. According to RFC 2617,
the HTTP header should include "Authorization: Basic uid:password"
format. Using the trace built into IIS I looked at the incomming
request to the webservice to locate the header information and check if
any credentials that I set was found within the header, but could not
find any.
this is the information in the HTTP header:
Headers Collection
Name Value
Connection Keep-Alive
Content-Length 4068
Content-Type text/xml; charset=utf-8
Expect 100-continue
Host localhost
User-Agent Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client
Protocol 2.0.50727.42)
VsDebuggerCausalityData
uIDPowZg+yq+Zv9BnmiKUtX0pxsBAAAANneykaH6Wky4N0BqGy E1RI8QHDH3KGRPmY2NJ9d7/egACAAA
SOAPAction "http://tempuri.org/GetVersion"
-----------------------------------------------------------------
Here's a snippet of what code i used to set the network credentials.
System.Net.NetworkCredential cred = new
System.Net.NetworkCredential("user", "user");
System.Net.CredentialCache cache = new
System.Net.CredentialCache();
cache.Add(new Uri("www.webservice.asmx"), "Basic",
cred);
webService.Credentials = cache;
Am I going about this the wrong way?
Thanks.
Specifically for SOAP headers .NET lets you derive from the soap header
class to pass authentication if the network credentials cant cut it. I've
never tried it but it might be just what your after.
Theres a simple example of it here in the quickstart: http://samples.gotdotnet.com/quickst...eservices.aspx
and another worth reading at Code Project http://www.codeproject.com/cs/webser...ebservices.asp
Hope that helps
--
Regards
John Timney
Microsoft MVP
"UT-BadBoy" <ut*********@gmail.com> wrote in message
news:11**********************@o13g2000cwo.googlegr oups.com... I tried your suggestion, which I have used in the past to pass credentials. In this instance, I'm needing to send the credentials via the HTTP headers, not part of the soap headers. According to RFC 2617, the HTTP header should include "Authorization: Basic uid:password" format. Using the trace built into IIS I looked at the incomming request to the webservice to locate the header information and check if any credentials that I set was found within the header, but could not find any.
this is the information in the HTTP header:
Headers Collection Name Value Connection Keep-Alive Content-Length 4068 Content-Type text/xml; charset=utf-8 Expect 100-continue Host localhost User-Agent Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.42) VsDebuggerCausalityData uIDPowZg+yq+Zv9BnmiKUtX0pxsBAAAANneykaH6Wky4N0BqGy E1RI8QHDH3KGRPmY2NJ9d7/egACAAA
SOAPAction "http://tempuri.org/GetVersion"
-----------------------------------------------------------------
Here's a snippet of what code i used to set the network credentials.
System.Net.NetworkCredential cred = new System.Net.NetworkCredential("user", "user"); System.Net.CredentialCache cache = new System.Net.CredentialCache(); cache.Add(new Uri("www.webservice.asmx"), "Basic", cred); webService.Credentials = cache;
Am I going about this the wrong way?
Thanks.
Hi John,
Thanks for the two links. They definately provided me with more
information about the soap headers and how you can use the soap headers
to place additional information for webservice requests. But
unfortunately, the third party webservices that we are using require
that we place the authentication strings within the
HTTP Headers. Is there a way to implement this within the webservice
or is this something I need to configure IIS to do when sending out
requests?
Thanks again.
Hi John,
Thanks for the two links. They definately provided me with alot of
information about the webservice soap headers but it seems in my
situation that I need access to the HTTP Headers.
The third pary webservices that we will use requires that we place the
authentication credentials within the HTTP header's Authentication
section.
Is this some sort of configuration that I can set within the IIS?
Thanks.
The authentication property preauthenticate=true on your wsdl proxy should
force the authentication headers into the http stack as opposed to the soap
stack. I suspect this is what your actually after as it handles 401 status
codes and deals with an http challenge during the actual request, thus
authenticating the call at the http header level. http://msdn2.microsoft.com/en-us/lib...henticate.aspx
Another MVP - Peter Bromberg has an excellent article on pre-authenticating
web service requets and security. You should read it. http://www.eggheadcafe.com/articles/20051104.asp
If this isn't what your looking for then you need to get a working example
from the web service owner and base your solution on that.
Hope I have helped!.
Regards
John Timney
Microsoft MVP
"UT-BadBoy" <ut*********@gmail.com> wrote in message
news:11**********************@g14g2000cwa.googlegr oups.com... Hi John,
Thanks for the two links. They definately provided me with more information about the soap headers and how you can use the soap headers to place additional information for webservice requests. But unfortunately, the third party webservices that we are using require that we place the authentication strings within the HTTP Headers. Is there a way to implement this within the webservice or is this something I need to configure IIS to do when sending out requests?
Thanks again. This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Shaun Wilde |
last post by:
I am not sure if this is a .NET bug/feature and IIS5 one or a combination of
the 2 so here goes
I have a situation where when I call an ASP.NET webservice running under
windows 2000 (I assume...
|
by: mcquiggd |
last post by:
Hi,
I have a proxy object to a webservice which exposes a Header
collection.. I have also created a class that inherits from SoapHeader
and has a single property; this class is then added to...
|
by: Dave Slinn |
last post by:
I have a VB app hosting the Webbrowser control. I would like to add
"something" to the requests that app is submitted to our web application to
indicate that its from this webbrowser and not a...
|
by: Friso Wiskerke |
last post by:
Hi all,
I'm trying to use a webservice which is provided to me by a third party.
There are a number of webmethods that I can call but for each method I have
to supply a SOAP header which...
|
by: Maxwell2006 |
last post by:
Hi,
When I run a web service project, ASP.NET shows me a default web method
invoke page.
How can I disable/modify the default test (or method invoke) page of the
ASP.NET web services?
...
|
by: Debasish Pramanik |
last post by:
Hi All,
I have added a SoapHeader in my websevice, which is exposed as a variable
from my webservice. Whenver I access the header form my client I see the
name of variable being changed to...
|
by: =?Utf-8?B?TWlndWVsIElzaWRvcm8=?= |
last post by:
Hi,
I've built an ASP.NET 1.1 web service and an ASP.NET 1.1 application that
calls it
is throwing the following exception:
System.Web.Services.Protocols.SoapException: Server did not...
|
by: nasse |
last post by:
I am getting the following error msg whenever I try to login. I tried to turn my output_buffering = On in my php.ini but is not working for me. Would you please help me:
Warning: Cannot modify...
|
by: Anton |
last post by:
Hi,
when accessing a secured 3rd party webservice i'm getting a 401 HTTP Statuscode (unauthorized). When entering the url in
a browser and entering the username and password manually, the wsdl is...
|
by: emmanuelkatto |
last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud.
Please let me know.
Thanks!
Emmanuel
|
by: BarryA |
last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
|
by: nemocccc |
last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
|
by: Sonnysonu |
last post by:
This is the data of csv file
1 2 3
1 2 3
1 2 3
1 2 3
2 3
2 3
3
the lengths should be different i have to store the data by column-wise with in the specific length.
suppose the i have to...
|
by: Hystou |
last post by:
There are some requirements for setting up RAID:
1. The motherboard and BIOS support RAID configuration.
2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
| |