Я надеялся, что вы сможете мне помочь. Я пытаюсь подключиться к стороннему веб-сервису, который, к сожалению, является услугой WSE 2.0. Я пытаюсь написать клиент в C# .NET 4.0 с помощью WCF. Мне вообще не повезло найти информацию об этом. Для службы требуется строка для имени пользователя и пароля. Вот как выглядит их образецИспользование .NET 4.0 WCF для подключения к WSE 2.0 WebService с пользователем/pass
Using webServiceObject As Microsoft.Web.Services2.WebServicesClientProtocol = New WSOData.Webservices.TransactionWebService()
https = ConcatenateWebserviceAddress(request.Server.Https, request.Service.Extension)
epr = New EndpointReference(New Uri(https))
webServiceObject.Destination = epr
Dim WebserviceContext As SoapContext = webServiceObject.RequestSoapContext
''''' Set the security settings
' Set the timeout value for how long issued SecurityContextToken security tokens are valid
WebserviceContext.Security.Timestamp.TtlInSeconds = -1
'Instantiate a new UsernameToken object.
Dim userNameToken As New UsernameToken(userName, password, PasswordOption.SendHashed)
'Add the token to the SoapContext.
WebserviceContext.Security.Tokens.Add(userNameToken)
'Generate a signature using the username token, and add the signature to the SoapContext.
WebserviceContext.Security.Elements.Clear()
WebserviceContext.Security.Elements.Add(New MessageSignature(userNameToken))
Есть ли способ сделать это с помощью WCF в .NET 4.0? Я действительно не хочу прибегать к использованию WSE 2.0, если я могу помочь. Я также не контролирую сервис, к которому мы подключаемся. Любая помощь была бы оценена, я отнюдь не эксперт WCF или новичок в этом отношении.
Заранее спасибо
У вас есть политика безопасности из WSDL для этой услуги? –