Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Помогите с svcutil.exe http://efactura-api.sfs.md/Service.svc?wsdl

Помогите с svcutil.exe http://efactura-api.sfs.md/Service.svc?wsdl
Я
   DES
 
02.07.20 - 12:56
Установил визуалстудию2015
Как в ней сгенерить .dll - не могу найти.
   Serginio1
 
1 - 02.07.20 - 13:10
   Serginio1
 
2 - 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.
   DES
 
3 - 02.07.20 - 13:14
Какой тип проекта создавать? Из шаблонов
   DES
 
4 - 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.
   Serginio1
 
5 - 02.07.20 - 13:57
Библиотека Windows
   Serginio1
 
6 - 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
   DES
 
7 - 02.07.20 - 15:07
а нужно ли  регистрировать сгенерированную dll ?
   Serginio1
 
8 - 02.07.20 - 15:29
Нет. Главное NetObjectToIDispatch45 что была зарегистрирована. В твоей нечего регистрировать
   DES
 
9 - 02.07.20 - 15:44
Нашел старый проект в нем заменил ссылку на новый адрес http://prntscr.com/tag7ch
перестроил проект , пересобрал, перекомпилировал
0 ошибок 
подставил dll вместо старой - перегрузил комп
не работает.
Ошибка при вызове метода контекста()
   DES
 
10 - 02.07.20 - 15:46
не знаю как использовать ServicePointManager
   Serginio1
 
11 - 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);
   DES
 
12 - 02.07.20 - 16:37
а генерация dll с помощью  svcutil.exe и VS дает эквивалентную друг-другу прогу?
   DES
 
13 - 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");//

Все полетело к чертям так как они изменили адрес  сервера и наверно еще какие то параметры, спросить не у кого.
   DES
 
14 - 02.07.20 - 16:49
Под отладчиком все выполняется пока не происходит обращение к конкретной функции, а она (любая) дает в ответ Неопределено, вместо структуры.
   Serginio1
 
15 - 02.07.20 - 17:27
Да. Прошу прощения. Без wsdl

Address = Врап.СоздатьОбъект("System.ServiceModel.EndpointAddress","http://efactura-api.sfs.md/Service.svc";);
Короче нужный адрес.

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

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

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

удалили Class1
добавил Существующий элемент
компильнул
error CS0234: Тип или имя пространства имен "ServiceModel" не существует в пространстве имен "System" (возможно, отсутствует ссылка на сборку).
где добавить ссылку?
   Serginio1
 
29 - 03.07.20 - 09:35
(27) Еще раз старый проект тебе изменить  URL Web ссылки подставляешь http://efactura-api.sfs.md/Service.svc?wsdl и она заново все сформирует
Смотри свою же картинку.
Либо создать новый и добавить ссылку на службу. Попроси какого нибудь C# программиста. У меня времени нет
   DES
 
30 - 03.07.20 - 09:58
я сделал и 1 и 2 варианты, не работает
вот пытаюсь 3 компильнуть. Самый описанный на сайте услуги. Но компилятор ругается. Но вероятно тоже не будет работать.
 
 Рекламное место пустует
   Serginio1
 
31 - 03.07.20 - 23:35
Кстати адрес у тебя в wsdl прописан
https://efactura-api.sfs.md/Service.svc
   shiuck
 
32 - 08.07.20 - 18:08
(0) DES, у вас получилось побороть ? Если да, поделитесь пожалуйста с опытом
   DES
 
33 - 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>


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.