Вход | Регистрация
 

Изменение WSDL после обновления 1С.

Изменение WSDL после обновления 1С.
Я
   San335
 
10.02.20 - 12:17
Доброго времени суток!
Может кто-нибудь сталкивался с подобной проблемой и сможет подсказать/посоветовать?
При редактировании кода веб-сервиса, после обновления изменяется текст ВСДЛьки, причем другого веб-сервиса. Хотя даже сама перепубликация сервиса не происходила.
   Галахад
 
1 - 10.02.20 - 12:21
Гм. Вроде так и должно быть. А в чем проблема?
   San335
 
2 - 10.02.20 - 12:33
(1) Меняются пространства имен переменных в самой ВСДЛ. Например сначала было type="xs3:name_parametr"/>, а стало type="xs1:name_parametr"/>. Некоторые сервисы потом падать начинают.
   trad
 
3 - 10.02.20 - 12:38
(2) вообще, в приведенном примере не показано, что меняются пространства имен, показано что меняются псевдонимы пространств имен
   San335
 
4 - 10.02.20 - 12:45
(3) Не спорю.Мог не корректно выразиться.  Просто суть в том, что веб-сервис не переопубликовывался, а просто код в модуле поменялся. В результате у редактируемого сервиса текст ВСДЛ остался прежним, а у другого поменялся.
   Fragster
 
5 - 10.02.20 - 12:53
(4) если состав/порядок импортируемых пакетов поменять, то такое будет. может при смене платформы тоже. изменение текста модулей не влияет. ищите "забывчивого".
   Fragster
 
6 - 10.02.20 - 12:53
хорошо помогает git или хранилище
   Fragster
 
7 - 10.02.20 - 12:54
(2) так это те сервисы прям кривые
   trad
 
8 - 10.02.20 - 13:08
(4) не совсем понял "кто на ком стоял", но могу только добавить, что при написании кода не нужно закладываться на псевдонимы
   San335
 
9 - 10.02.20 - 13:47
(8) Сторонний сервис, который стучится в 1С так устроен. В самом веб-сервисе 1С используется несколько пакетов ХДТО. Сравнив тексты ВСДЛ до и после обновления конфы заметил,что описание схем этих пакетов ХДТО меняется просто местами. Но почему так происходит, не понятно. Пробовал на другой конфигурации аналогичный сервис собирать и изменять, текст ВСДЛ оставался не изменным.
   Fragster
 
10 - 10.02.20 - 13:54
для нормально написанного сервиса псевдонимы пространств имен не должны никак влиять на его работу. Соответствие псевдонимов и пространств имен описано в атрибутах корневого узла. Также на каждом уровне может быть описание псевдонимов для вложенных элементов.
   trad
 
11 - 10.02.20 - 14:01
(9) нужно переделать внешний сервис.
Пытаться что-то предпринимать, для восстановления порядка NS - плохой путь
   San335
 
12 - 10.02.20 - 19:48
(11) А восстановить порядок реально?Внешний сервис(не 1Совский) переделать можно сказать не реально. На ИТС поддержку есть смысл с такой проблемой обращаться?
   catena
 
13 - 11.02.20 - 07:07
(12)Сомнительно, так как это не нарушает валидность. Все равно, что тебе запретить менять имена локальных переменных в коде.
   trad
 
14 - 11.02.20 - 09:40
(12) Можно сделать статический wsdl (просто сохранить тот, который выдается веб-сервис в другое место как файл), в нем сделать нужные правки и натравить внешний сервис на этот статический wsdl.
Но это придется проделывать каждый раз, когда будут вноситься изменения в 1совский веб-сервис.
   San335
 
15 - 11.02.20 - 10:09
(14) Со стороны внешнего сервиса примерно так и получают WSDL. В итоге при каждой перетасовки псевдонимов пространств имен, приходится вносить корректировки на стороне внешнего сервиса.
   pechkin
 
16 - 11.02.20 - 10:14
может на той стороне взять готову библиотеку работы с SOAP ?

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