Имя: Пароль:
1C
1С v8
Интеграция 1С и MS Dynamix CRM через HTTPСоединение
0 VitaliySm
 
06.08.15
18:13
Стоит задача, подключаясь к веб-сервису MS Dynamix CRM считывать нужные данные и возвращать в 1С.
Создал HTTPСоединение настроил пути, указал логин и пароль, все остальные данные, подключаюсь удачно, но в ответ приходит "HTTP Error 401 - Unauthorized: Access is denied". Ниже приведен код, затер только конфиденциальные данные (путь, логин, пароль), кто разбирается в теме, помогите решить:

    Прокси = Новый ИнтернетПрокси(Ложь);
    ЗащищенноеСоединение = Истина;
    Логин = "<Домен>\<Логин>";
    Пароль= "******************";
    
    АдресСоединения = "crmtest.*******.**/*********/XRMServices/2011/OrganizationData.svc/";
    ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
    Соединение = Новый HTTPСоединение(АдресСоединения, ,Логин , Пароль, Прокси, 60, ЗащищенноеСоединение);
            
    ИмяФайлаРезультата = ЭлектронныеДокументыСлужебный.ТекущееИмяВременногоФайла("xml");
    Заголовки = "";
    АдресРесурса = "SalesOrderSet?$select=CustomerId,Name&$filter=SalesOrderId eq guid'B6988DE4-C215-E511-99AE-00155D003B11'";
    Попытка
        HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса);
        Соединение.Получить(HTTPЗапрос, ИмяФайлаРезультата);
        ТекстовыйДокумент = Новый ТекстовыйДокумент;
        ТекстовыйДокумент.Прочитать(ИмяФайлаРезультата, "UTF-8");
        СтрокаТекста = ТекстовыйДокумент.ПолучитьТекст();
        
        СтрСообщения = "Текст ответа: " + Строка(СтрокаТекста);
        ЗаписьЖурналаРегистрации("Тест: ", УровеньЖурналаРегистрации.Информация, , , СтрСообщения);

    Исключение
            
        СтрСообщения = "Текст ошибки: " + Строка(ОписаниеОшибки());
        ЗаписьЖурналаРегистрации("Тест Цеппелин: ", УровеньЖурналаРегистрации.Информация, , , СтрСообщения);

    КонецПопытки;
1 VitaliySm
 
06.08.15
18:15
Версия 1С - 8.3.6.2152
2 Гёдза
 
06.08.15
18:18
NTML авторизацмя не так задается
3 VitaliySm
 
06.08.15
18:24
(2) подскажешь как? пока нашел примеры только для WinHTTP
4 Гёдза
 
06.08.15
18:25
никак, просто нужно запускать от того пользователя у которого есть доступ и все
5 Гёдза
 
06.08.15
18:25
если с сервера 1с, то ему дать доступ
6 VitaliySm
 
06.08.15
18:34
сервер 1С и сервер MS Dynamix CRM находятся в разных местах и разных сетях. И пользователя для обращения к CRM мне выдали админы, у меня нет к этому доступа.
7 Serginio1
 
06.08.15
18:57
А зачем HTTP если для обращения к Вэб сервису есть Ws ссылки и

ОпределениеТ=Новый WSОпределения(АдресСоединения);
    WSСервис=ОпределениеТ.Сервисы[0];
    ПроксиWS=Новый WSПрокси(ОпределениеТ, WSСервис.URIПространстваИмен, WSСервис.Имя, WSСервис.ТочкиПодключения[0].Имя,,,Новый ЗащищенноеСоединениеOpenSSL());
    
    
    ПроксиWS.Пользователь = Логин;
    ПроксиWS.Пароль = пароль;
8 Serginio1
 
06.08.15
18:57
svc явно нетовский вэб сервис
9 VitaliySm
 
06.08.15
20:06
(8) спасибо, попробую, только сначала нужно сертификат получить от админов, т.к. без этого не хочет создавать WS ссылку
10 Serginio1
 
07.08.15
10:31
(9) А вообще посмотри, примеры на C#. Если, что можешь использовать v8: v8: Использование сборок .NET в 1С 7.x и 8.x