Имя: Пароль:
1C
1С v8
Помогите с svcutil.exe http://efactura-api.sfs.md/Service.svc?wsdl
,
0 DES
 
02.07.20
12:56
Установил визуалстудию2015
Как в ней сгенерить .dll - не могу найти.
1 Serginio1
 
02.07.20
13:10
2 Serginio1
 
02.07.20
13:13
Правда сначала создай проект и проставь платформу 4.6.1 для VS 2019
Для других добавить ссылку на службу

Right Click your project> select "Add (D)" > click "Service Reference (S)"> Input your WSDL url and click "Move (G)" if you have the URL or "Explore (D)" if you have the WSDL in your solution. It should then pop-up below, and remember to NAME your namingspace(N), they are important. And "OK". It should pop-up in your project.
3 DES
 
02.07.20
13:14
Какой тип проекта создавать? Из шаблонов
4 DES
 
02.07.20
13:33
по идее должно было сработать svcutil.exe http://efactura-api.sfs.md/Service.svc?wsdl
а оно ругается что

    Метаданные содержат неразрешимую ссылку: "http://efactura-api.sfs.md/Service.svc?wsdl";.

    Не удалось установить безопасный канал для SSL/TLS с полномочиями "efactura-api.sfs.md".

    Запрос был прерван: Не удалось создать защищенный канал SSL/TLS.
5 Serginio1
 
02.07.20
13:57
Библиотека Windows
6 Serginio1
 
02.07.20
14:02
Видно SSL новый
NetObjectToIDispatch45 HTTP запросы Basic auth
ServicePointManager=врап.ПолучитьТип("System.Net.ServicePointManager");
SecurityProtocolType=врап.ПолучитьТип("System.Net.SecurityProtocolType");
ServicePointManager.SecurityProtocol = Врап.OR(SecurityProtocolType.Ssl3 , SecurityProtocolType.Tls , SecurityProtocolType.Tls11 , SecurityProtocolType.Tls12);


Если не поможет попробуй
https://stackoverflow.com/questions/28286086/default-securityprotocol-in-net-4-5
7 DES
 
02.07.20
15:07
а нужно ли  регистрировать сгенерированную dll ?
8 Serginio1
 
02.07.20
15:29
Нет. Главное NetObjectToIDispatch45 что была зарегистрирована. В твоей нечего регистрировать
9 DES
 
02.07.20
15:44
Нашел старый проект в нем заменил ссылку на новый адрес http://prntscr.com/tag7ch
перестроил проект , пересобрал, перекомпилировал
0 ошибок
подставил dll вместо старой - перегрузил комп
не работает.
Ошибка при вызове метода контекста()
10 DES
 
02.07.20
15:46
не знаю как использовать ServicePointManager
11 Serginio1
 
02.07.20
16:36
Перед вызовом сервиса после
врап=новый COMОбъект("NetObjectToIDispatch45");
ervicePointManager=врап.ПолучитьТип("System.Net.ServicePointManager");
SecurityProtocolType=врап.ПолучитьТип("System.Net.SecurityProtocolType");
ServicePointManager.SecurityProtocol = Врап.OR(SecurityProtocolType.Ssl3 , SecurityProtocolType.Tls , SecurityProtocolType.Tls11 , SecurityProtocolType.Tls12);

Нужно для начала проверить из C# проекта.
Посмотри NetObjectToIDispatch45 Подключение к веб сервису

   ТипТвоегоКлиента= врап.ПолучитьТипИзСборки("ТипТвоегоКлиента",ПутьКСборке);
    BasicHttpBinding = Врап.ПолучитьТипИзСборки("System.ServiceModel.BasicHttpBinding", "System.ServiceModel.dll");
    
     Binding = Врап.СоздатьОбъект(BasicHttpBinding);
  
    Binding.MaxReceivedMessageSize = 1000000;
        
    Address = Врап.СоздатьОбъект("System.ServiceModel.EndpointAddress","http://efactura-api.sfs.md/Service.svc?wsdl");// Если изменился адрес пропиши его здесь    
    client = Врап.СоздатьОбъект(ТипТвоегоКлиента,Binding,Address);
12 DES
 
02.07.20
16:37
а генерация dll с помощью  svcutil.exe и VS дает эквивалентную друг-другу прогу?
13 DES
 
02.07.20
16:47
а нужно полный адрес указывать?
Address = Врап.СоздатьОбъект("System.ServiceModel.EndpointAddress","http://efactura-api.sfs.md/Service.svc?wsdl";);
раньше было так
Address = Врап.СоздатьОбъект("System.ServiceModel.EndpointAddress","http://efactura-api.sfs.md");//

Все полетело к чертям так как они изменили адрес  сервера и наверно еще какие то параметры, спросить не у кого.
14 DES
 
02.07.20
16:49
Под отладчиком все выполняется пока не происходит обращение к конкретной функции, а она (любая) дает в ответ Неопределено, вместо структуры.
15 Serginio1
 
02.07.20
17:27
Да. Прошу прощения. Без wsdl
Address = Врап.СоздатьОбъект("System.ServiceModel.EndpointAddress","http://efactura-api.sfs.md/Service.svc";);
Короче нужный адрес.

Ты в студии отладку делай. В config у тебя в биндингах реальный адрес должен быть прописан
16 DES
 
02.07.20
18:33
Да как бы уже все отлажено в 1с8
Как отлаживать в студии, если я студию не знаю.
17 DES
 
02.07.20
18:41
вот такое наковырял в Врап.ПоследняяОшибка.InnerException.Message

Указанная схема URI "http" недопустима. Ожидалась "https".
Имя параметра: via
18 Serginio1
 
02.07.20
19:00
Ну значит адрес https://efactura-api.sfs.md

Видно они на https перешли посмотри config файл
19 DES
 
02.07.20
19:16
а на этот вопрос:
а генерация dll с помощью  svcutil.exe и VS дает эквивалентную друг-другу прогу?
20 Serginio1
 
02.07.20
19:42
(19) Должно одинаково
21 DES
 
02.07.20
21:19
А как результат Service.cs от svcutil.exe   превратить в DLL ?
22 Serginio1
 
02.07.20
21:36
Создать проект Библиотека Windows добавить существующий элемент выбрать Service.cs
А чем 9 не подошел. Там в URL Web ссылки подставляешь http://efactura-api.sfs.md/Service.svc?wsdl и она заново все сформирует
23 Serginio1
 
02.07.20
21:43
24 Serginio1
 
02.07.20
21:45
Только тебе нужно не .Net Core а .Net  Framework 4.6.1
25 DES
 
03.07.20
07:08
а выше Фреймворк чем 4.6.1 не выбирать?
26 DES
 
03.07.20
08:04
(22) 9 - не работает.
делаю методом тыка.
27 DES
 
03.07.20
08:15
а может старый проект не рабочий вариант нашёл, т.к. проверить нет возможности. Старый сервис уже отключили.
28 DES
 
03.07.20
08:51
создал проект

удалили Class1
добавил Существующий элемент
компильнул
error CS0234: Тип или имя пространства имен "ServiceModel" не существует в пространстве имен "System" (возможно, отсутствует ссылка на сборку).
где добавить ссылку?
29 Serginio1
 
03.07.20
09:35
(27) Еще раз старый проект тебе изменить  URL Web ссылки подставляешь http://efactura-api.sfs.md/Service.svc?wsdl и она заново все сформирует
Смотри свою же картинку.
Либо создать новый и добавить ссылку на службу. Попроси какого нибудь C# программиста. У меня времени нет
30 DES
 
03.07.20
09:58
я сделал и 1 и 2 варианты, не работает
вот пытаюсь 3 компильнуть. Самый описанный на сайте услуги. Но компилятор ругается. Но вероятно тоже не будет работать.
31 Serginio1
 
03.07.20
23:35
Кстати адрес у тебя в wsdl прописан
https://efactura-api.sfs.md/Service.svc
32 shiuck
 
08.07.20
18:08
(0) DES, у вас получилось побороть ? Если да, поделитесь пожалуйста с опытом
33 DES
 
11.07.20
18:04
(32) Пока что отвечает
<div class='_2' >Sunt efectuate lucrări de mentenanţă. Reveniţi mai târziu.<br />
The service is in maintenance mode. Please, come back later.</div> <br/><br/><br/><br/>
<a class='btn' href='javascript:history.go(-1)'>Î n a p o i</a>