如何在SOAP中添加Basic Auth Header?

时间:2011-02-09 13:22:31

标签: c# soap basic-authentication soapheader

我正在尝试将身份验证标头发送到没有的WSDL服务 WSDL上指定的身份验证要求。

如何将Auth标头添加到Web服务的调用中?

我一直在使用的代码:

using System;
using System.Web.Services.Protocols;

namespace TesteSoap
{           
    class MainClass
    {
        public static void Main (string[] args)
        {

            WSDLService Service = new WSDLService();
            /* How can I add authentication to the call of this webservice ? */
            Service.get();
            Console.WriteLine ("Hello World!");
        }
    }
}

1 个答案:

答案 0 :(得分:15)

这个问题在其他链接中受到质疑,但是以与WSDL相关的不同方式包括用户/密码的问题。

link

它们不是同一个问题,但问题是相关的。

Michaelis.MockService是提取的Web服务库,您可以在link Mono项目网站上看到有关如何执行此操作的示例。

Michaelis.MockService service = new Michaelis.MockService();

// Create the network credentials and assign
// them to the service credentials
NetworkCredential netCredential = new NetworkCredential("Inigo.Montoya", "Ykmfptd");
Uri uri = new Uri(service.Url);
ICredentials credentials = netCredential.GetCredential(uri, "Basic");
service.Credentials = credentials;

// Be sure to set PreAuthenticate to true or else
// authentication will not be sent.
service.PreAuthenticate = true;

// Make the web service call.
service.Method();