powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Ошибка 403 при добавлении ссылки на web-service
3 сообщений из 3, страница 1 из 1
Ошибка 403 при добавлении ссылки на web-service
    #38002333
AlexZgur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!

Есть веб сервис, размещенный на виртуальной машине. На виртуалке поднят локальный CA, сгенерированны корневой, серверный и клиентский сертификаты.

Установлен серверный сертификат на IIS, все сертификаты добавлены в доверенные хранилища на локальной машине.

При попытке добавить ссылку на service через инструмент AddReference в студии вылетает ошибка:

Код: c#
1.
2.
3.
4.
5.
6.
Возникла ошибка при загрузке "https://10.95.185.119/service1.asmx".
Сбой запроса с состоянием HTTP 403: Access Forbidden.
Метаданные содержат неразрешимую ссылку: "https://10.95.185.119/service1.asmx".
Запрос HTTP запрещен для схемы проверки подлинности клиентов "Anonymous".
Удаленный сервер возвратил ошибку: (403) Запрещено.
Если служба определена в текущем решении, попробуйте построить решение и добавить ссылку на службу еще раз.



При этом, если в настройках IIS убрать галочку "требовать сертификат клиента", то все работает отлично.

Добавив ссылку на службу, вернув галочку и запустив код, получаю ошибку:

Код: c#
1.
2.
3.
Запрос HTTP запрещен для схемы проверки подлинности клиентов "Anonymous".

InnerException - Удаленный сервер возвратил ошибку: (403) Запрещено.




Опять же без галочки "требовать сертификат клиента", все работает на ура!

Вот кусок кода, где формируется запрос с сервису:


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
try
{
                using (Service1.Service1SoapClient srv = new Service1.Service1SoapClient())
                {
                    System.ServiceModel.EndpointAddress adr;

                    X509Certificate2 certificate = new X509Certificate2("C:\\client.pfx", "asdf");
                    
                    srv.ClientCredentials.ClientCertificate.Certificate = certificate;
                    System.Net.ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy();

                    // здесь из настроек выбирается способ обращения к сервису (через SSL или нет)
                    if (s_list["use_ssl"] == "False")
                        adr = new System.ServiceModel.EndpointAddress("http://" + s_list["server_ip"] + "/service1.asmx");
                    else
                    {
                        adr = new System.ServiceModel.EndpointAddress("https://" + s_list["server_ip"] + "/service1.asmx");
                        srv.Endpoint.Address = adr;
                    }
                    
                    string md5_sign = MD5HashCalculate(s_list["client_key"], s_list["client_code"]);
                    string limit = "0";

                    res = srv.test(s_list["client_code"], md5_sign, out limit);

                    if (res == true)
                    {
                    }
......................
}


 public class TrustAllCertificatePolicy : ICertificatePolicy
        {

            public bool CheckValidationResult(ServicePoint sp,

            X509Certificate cert, WebRequest req, int problem)
            {
                return true;
            }
        }
...
Рейтинг: 0 / 0
Ошибка 403 при добавлении ссылки на web-service
    #38003539
AlexZgur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ребята неужели никто не поможет?
...
Рейтинг: 0 / 0
Ошибка 403 при добавлении ссылки на web-service
    #38004654
AlexZgur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решилось все просто: вместо "Add Service Reference" использовал "Add Web Reference". Все заработало.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Ошибка 403 при добавлении ссылки на web-service
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]