Re: C# SOAP Authentication to non C# web service



Enda,

I believe you posted this before, at least this time you answered the
question of whether or not you are using transport or message security.

Assuming you are using a web reference, you will want to set the
Credentials property on the proxy (in this case, your Service instance, I
believe) to an implementation of the ICredentials class. You would use the
NetwokCrediential instance, setting it to the username/password needed for
the website.

If you were using WCF, you would have to set up the wsHttpBinding to use
transport security, but this would only be allowed if you were using SSL
certificates (https), so that you could guarantee security (WCF won't allow
it otherwise).


--
- Nicholas Paldino [.NET/C# MVP]
- mvp@xxxxxxxxxxxxxxxxxxxxxxxxxxx

"Enda Manni" <endamannion@xxxxxxxxxxx> wrote in message
news:A7F9A29E-B31B-4E28-B6C3-BC181F0D3B4B@xxxxxxxxxxxxxxxx
Hi,


I have a gSoap Web Service written using C++, it uses SOAP username and
password authentication.

I also have a C# form client consuming the web service, all this was
working
fine until I added the authentication on the server, now I can not get the
client to authenticate. Can someone tell me how to add authentication
info
to the SOAP message posted from the C# SOAP client.


here is some code I call to initilize the soap call from the C# form.

public partial class MyForm : Form
{
public MyForm()
{
InitializeComponent();

Service service = new Service();
}
..
..
..


I am using SOAP authentication, with a username and password. Here is
the
soap request I would like to receive at the web service. It contains an
Authorization field.


<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:ns1="http://localhost:80/Service.wsdl";
xmlns:ns2="http://tempuri.org/ns1.xsd";><SOAP-ENV:Body><ns2:getBatteryLevel></ns2:getBatteryLevel></SOAP-ENV:Body></SOAP-ENV:Envelope>POST
/ HTTP/1.1
Host: localhost:8080
User-Agent: gSOAP/2.7
Content-Type: text/xml; charset=utf-8
Content-Length: 489
Connection: close
Authorization: Basic dXNlcjpwYXNz
SOAPAction: ""

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:ns1="http://localhost:8080/Service.wsdl";
xmlns:ns2="http://tempuri.org/ns1.xsd";><SOAP-ENV:Body><ns2:GetDBOldestPendingRow><iMaxRows>100</iMaxRows></ns2:GetDBOldestPendingRow></SOAP-ENV:Body></SOAP-ENV:Envelope>


Is there a way I can get this info into the C# client request?

Thanks,
Enda




.



Relevant Pages

  • RE: WSE 2.0, smart client, Username authentication, no x.509
    ... web services WSE 3.0 hosts them without a web server for you (read the WSE ... To perform authentication, because your database does not contain user ... the implementation William Stacey has uses Security ... > server where my web service is ...
    (microsoft.public.dotnet.framework.webservices.enhancements)
  • Re: C# SOAP Authentication to non C# web service
    ... but it still does not add the authorization to the SOAP header. ... I also added a web reference, it was difficult locating it as My web service is a c++ gSoap web service, I specified the following string to find the web reference. ... fine until I added the authentication on the server, now I can not get the ... public partial class MyForm: Form ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: UserName token Access denied smart client
    ... Web service authentication. ... > (Environment SmartClient, calls proxy calls web service, on VS.NET ... > use the usertoken I get through, if I user the security token and the ...
    (microsoft.public.dotnet.framework.webservices.enhancements)
  • Error using WS-Security
    ... I am getting the following error while implementing authentication using ... "Microsoft.Web.Services2.Security.SecurityFault: The security token could ... public AuthUserToken AuthUserTokenObj; ... Web service client ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Adding security to a web service without using WSE
    ... >I need advice about adding security to a web service without using WSE, ... You have three levels of web service security: ... You can use custom SOAP headers to pass user credentials from authentication ... This is where WSE helps out the most. ...
    (microsoft.public.dotnet.framework.webservices)