Não é possível autenticar no serviço SOAP no ASP.NET Core

Estou tentando consumir um serviço Web SOAP de um projeto da ASP.NET Core Library.

Instalei o provedor de referência de serviços da Web Mictosoft WCF que criou as classes de proxy para mim, mas tenho um problema com a autenticação.

Meu código atualmente é assim:

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);

Eu tentei algumas abordagens diferentes, mas recebo Não autorizado ou variantes disso:The value 'TransportWithMessageCredential' is not supported in this context for the binding security property 'securityMode'..

Eu acho que também devo definir algumas propriedades embinding.Security.Message, mas a única propriedade existente embinding.Security éTransport eMode.

Alguém sabe como configurar isso corretamente?

Existem outras maneiras melhores de consumir o serviço SOAP do ASP.NET Core? Eu adoraria uma maneira dinâmica que não precise criar as classes de proxy, mas posso conviver com os proxies, se for necessário, mas preciso ser capaz de me autenticar com um usuário e senha e preciso usar https.

questionAnswers(3)

yourAnswerToTheQuestion