Обратите внимание, что вам нужно обновить множество вариантов в зависимости от вашего случая. Мой случай был паролем типа "PasswordText" в заголовке безопасности WSSE с WCF.

аюсь использовать веб-сервис SOAP из проекта ASP.NET Core Library.

Я установил справочный провайдер веб-службы Mictosoft WCF, который создал для меня прокси-классы, но у меня проблема с аутентификацией.

Мой код в настоящее время выглядит так:

var binding = new BasicHttpBinding(BasicHttpSecurityMode.TransportWithMessageCredential);

var address = new EndpointAddress(@"https://myserviceaddress.asmx");
var client = new TestApiClient(binding, address);
client.ClientCredentials.UserName.UserName = "testusername";
client.ClientCredentials.UserName.Password = "testpassword";
var result = await client.GetDataAsync(params);

Я пробовал несколько разных подходов, но я либо получаю Unauthorized, либо варианты этого:The value 'TransportWithMessageCredential' is not supported in this context for the binding security property 'securityMode'..

Я думаю, что я также должен установить некоторые свойстваbinding.Security.Message, но единственное свойство, которое существует наbinding.Security являетсяTransport а такжеMode.

Кто-нибудь знает, как правильно это настроить?

Существуют ли другие более эффективные способы использования службы SOAP из ASP.NET Core? Мне бы понравился динамический способ, при котором не нужно создавать прокси-классы, но я могу жить с прокси-серверами, если нужно, но мне нужно иметь возможность аутентифицироваться с помощью пользователя и пароля, и мне нужно использовать https.

Ответы на вопрос(3)

Ваш ответ на вопрос