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