| 
    
        
     
     | 
    
  | 
Метод возврата сервис 1С | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        e2v    
     03.09.18 
            ✎
    12:10 
 | 
         
        Для внешних клиентов создал сервис в 1С v8.3
 
        Сервис работает, все нормально. Но столкнулся с проблемой. Раньше не задавался вопросом. А теперь вон оно как. Сервис 1С возвращает в пакете SOAP, что-то типа <m:return xmlns:xs="http://www.w3.org/2001/XMLSchema" </m:return> Т.е. метод "return", а мне надо возвращать мои методы, которые понимает клиент. Как оно сделать? Доку читал, не нашел.  | 
|||
| 
    1
    
        e2v    
     03.09.18 
            ✎
    13:25 
 | 
         
        Чето тишина.
 
        Кто последний в цари? ..... Нет никого? Тогда я первый.  | 
|||
| 
    2
    
        tesseract    
     03.09.18 
            ✎
    17:41 
 | 
         
        >>Т.е. метод "return", а мне надо возвращать мои методы, которые понимает клиент. 
 
        Ну так заведи свой WebService и процедуру в нем. Описание методов будет отдавать нормально, проверяли.  | 
|||
| 
    3
    
        e2v    
     04.09.18 
            ✎
    10:16 
 | 
         
        >>Т.е. метод "return", а мне надо возвращать мои методы, которые понимает клиент.
 
        Ну так заведи свой WebService и процедуру в нем. Описание методов будет отдавать нормально, проверяли. Х-м-м. Хотел бы уточнить: Завести свой WebService -это как? У меня есть web-сервис работающий на 1С. Он отвечает на запрос, но возвращает в пакете SOAP метод "return". А какой надо завести сервис?  | 
|||
| 
    4
    
        Сияющий в темноте    
     04.09.18 
            ✎
    11:20 
 | 
         
        В базе 1с поправить описание веб сервиса или создать новый со своими функциями.
 
        ну или уже смотреть в сторону хттп сервисов,там можно все,что угоднл возвращать  | 
|||
| 
    5
    
        Вафель    
     04.09.18 
            ✎
    11:22 
 | 
         
        (3) ты его не правильно вызываешь значит     
         | 
|||
| 
    6
    
        catena    
     04.09.18 
            ✎
    11:29 
 | 
         
        Ответ ws содержит не методы, а параметры. У каждого метода ws есть тип возвращаемого значения, его и нужно формировать со всеми необходимыми данными.     
         | 
|||
| 
    7
    
        tesseract    
     04.09.18 
            ✎
    12:12 
 | 
         
        (6) Причем задается это все в gui при создании самого WS. 
 
        >>но возвращает в пакете SOAP метод "return". Он тебе ответ метода return возвращает. WS ссылка тебе выдаст все описания твоего интерфейса. Чтобы его в клиенте не посмотреть?  | 
|||
| 
    8
    
        e2v    
     04.09.18 
            ✎
    12:50 
 | 
         
        Я видимо, что то не так объясняю.
 
        Смотрю Fiddler ом Запросы и ответы. Сервис (для отладки все убрал) имеет метод ReqVin(par1,par2) Входящий запрос попадает в метод Функция ReqVin(par1,par2) Возврат "тест"; КонецФункции Смотрю Ответ. Вижу такое: soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <m:reqVin xmlns:m="http://www.my.com/SRP"> <m:return xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">; <reqvin> xmlns="http://www.bmw.com/SRP" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; <Тест/>; /reqvin; </m:return> </m:reqVin> </soap:Body> </soap:Envelope> Делаю вывод, что Возврат "Тест" - породило метод "return". По моему так? или нет?  | 
|||
| 
    9
    
        Вафель    
     04.09.18 
            ✎
    13:05 
 | 
         
        а что ты хочешь то? вроде в этом плане у 1с по спецификации все     
         | 
|||
| 
    10
    
        tesseract    
     04.09.18 
            ✎
    13:10 
 | 
         
        (9) Не все, но довольно близко. 
 
        >>Делаю вывод, что Возврат "Тест" - породило метод "return". Какая-то странная логика. Тебе от WS метода "reqVin" вернулось значение "тест". Откуда ты решил, что "return" являеться методом, тем более что SOAP ничего не порождает в принципе. Почитай еще раз документацию по внимательнее, не галопом.  | 
|||
| 
    11
    
        e2v    
     04.09.18 
            ✎
    13:21 
 | 
         
        Ну да вы правы.
 
        1С отрабатывает. Но. Предыстория. Есть web-клиент он делает запросы по SOAP к серверу определенного метода. У меня задача написать на 1с web-сервис с ответом определенного вида,чтобы понимал клиент. И вот наткнулся на то, что клиент ругается, что пришел не тот метод. Посмотрел Fiddler-ом , действительно 1С добавляет запись в пакет SOAP: <m:return > <m:return/> и вкладывает туда запрашиваемый метод. Если писать клиента, то нет разницы. А у меня нет выхода, мне надо добиться ответа нужного клиенту. Т.е. убрать return  | 
|||
| 
    12
    
        catena    
     04.09.18 
            ✎
    13:23 
 | 
         
        (11)Вид ответа WS определяет поставщик как бы.     
         | 
|||
| 
    13
    
        e2v    
     04.09.18 
            ✎
    13:32 
 | 
         
        (12) Вот я тоже прихожу к такому выводу.
 
        Написал 1С-кам. Мож официально пошлют 8)))  | 
|||
| 
    14
    
        tesseract    
     04.09.18 
            ✎
    13:36 
 | 
         
        (11) Ну так это проблема старая. Если ты на тот самый сайт по продаже авто/запчастей. Так там проблема в другом. 
 
        >><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">; А у них другая схема для конвертика, поэтому и не понимают друг-друга. Там еще и типы данных добавили.  | 
|||
| 
    15
    
        e2v    
     04.09.18 
            ✎
    14:42 
 | 
         
        (14) Данные я кое как подобрал. Конверт и вложение в сервисе прописал. Сервис отвечает, пересылает данные, которые в схеме прописаны. Но из-за конструкции 1С ответа а запрос
 
        <m:return xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">;</m:return> конверт доходит до клиента, а тот не хочет ее понимать. Вот думаю, кроме писанины на PHP ничего не придумаю. Буду пакет на лету фильтровать. Хотя я не силен в этом. Жду чего 1С-ки напишут.  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |