Тип привязки и тип учетных данных должны соответствовать конфигурации сервера.
Я предлагаю создать клиентский прокси-сервер для вызова удаленной службы.
https://docs.microsoft.com/en-us/dotnet/core/additional-tools/wcf-web-service-reference-guide
С помощью этого инструмента мы можем сгенерировать прокси и получить правильную конфигурацию, соответствующую конфигурации сервера. после этого мы можем вызвать сервис.
ServiceReference1.ServiceClient client = new ServiceReference1.ServiceClient();
var result = client.TestAsync();
Console.WriteLine(result.Result);
Поскольку инструмент также генерирует контракт на обслуживание на стороне клиента, мы также можем изменить способ вызова удаленного сервиса в соответствии с конфигурацией сервиса. сгенерировано в файле Reference.cs
.
BasicHttpBinding binding = new BasicHttpBinding();
binding.Security.Mode = BasicHttpSecurityMode.None;
Uri uri = new Uri("http://10.157.13.69:21011");
ChannelFactory<IService> channelFactory = new ChannelFactory<IService>(binding, new EndpointAddress(uri));
IService service = channelFactory.CreateChannel();
var result1 = service.TestAsync();
Console.WriteLine(result1.Result);
Все, на что мы должны обратить внимание, - это то, что тип привязки и тип безопасности должны соответствовать типу привязки на сервере. Поэтому первое, что важно, это то, что мы должны выяснить конфигурацию сервера и применить ее на стороне клиента.
Не стесняйтесь сообщить мне, если проблема все еще существует.