I actually managed to achieve that by using WSE. The funny thing is that the provider's Web Services would not work with WSE 3.0, but they did with WSE 2.0. Here are the steps
- Get WSE 2.0
- Add the Web Reference to the project
- In the Web Reference proxy implementation:
Replace
public partial class UserWS : System.Web.Services.Protocols.SoapHttpClientProtocol
by
public partial class UserWS : Microsoft.Web.Services2.WebServicesClientProtocol
- Before calling the Web Service:
Set the authentication info
UsernameToken token = new UsernameToken("user", "pwd", PasswordOption.SendPlainText);
yourProxy.RequestSoapContext.Security.Tokens.Add(token);
And that's it! FYI, the provider is a Blackboard instance.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…