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


Метод возврата сервис 1С

Метод возврата сервис 1С
Я
   e2v
 
03.09.18 - 12:10
Для внешних клиентов создал сервис в 1С v8.3
Сервис работает, все нормально.
Но столкнулся с проблемой. Раньше не задавался вопросом. А теперь вон оно как.
Сервис 1С возвращает в пакете SOAP, что-то типа
<m:return xmlns:xs="http://www.w3.org/2001/XMLSchema";
</m:return>
Т.е. метод "return", а мне надо возвращать мои методы, которые понимает клиент.
Как оно сделать?
Доку читал, не нашел.
 
 
   e2v
 
1 - 03.09.18 - 13:25
Чето тишина.
Кто последний в цари?
.....
Нет никого? Тогда я первый.
   tesseract
 
2 - 03.09.18 - 17:41
>>Т.е. метод "return", а мне надо возвращать мои методы, которые понимает клиент.

Ну так заведи свой WebService и процедуру в нем. Описание методов будет отдавать нормально, проверяли.
   e2v
 
3 - 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) ты его не правильно вызываешь значит
   catena
 
6 - 04.09.18 - 11:29
Ответ ws содержит не методы, а параметры. У каждого метода ws есть тип возвращаемого значения, его и нужно формировать со всеми необходимыми данными.
   tesseract
 
7 - 04.09.18 - 12:12
(6) Причем задается это все в gui при создании самого WS.

>>но возвращает в пакете SOAP метод "return".

Он тебе ответ метода return возвращает.

WS ссылка тебе выдаст все описания твоего интерфейса. Чтобы его в клиенте не посмотреть?
   e2v
 
8 - 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с по спецификации все
   tesseract
 
10 - 04.09.18 - 13:10
(9) Не все, но довольно близко.


>>Делаю вывод, что Возврат "Тест" - породило метод "return".

Какая-то странная логика. Тебе от WS метода "reqVin" вернулось значение "тест".  Откуда ты решил, что "return" являеться методом, тем более что SOAP ничего не порождает в принципе.  

Почитай еще раз документацию по внимательнее, не галопом.
 
 Рекламное место пустует
   e2v
 
11 - 04.09.18 - 13:21
Ну да вы правы.
1С отрабатывает. Но.
Предыстория.
Есть web-клиент он делает запросы по SOAP к серверу определенного метода. У меня задача написать на 1с web-сервис с ответом определенного вида,чтобы понимал клиент.
И вот наткнулся на то, что клиент ругается, что пришел не тот метод. Посмотрел Fiddler-ом , действительно 1С добавляет запись в пакет SOAP:
 <m:return >
 <m:return/>
и вкладывает туда запрашиваемый метод.
Если писать клиента, то нет разницы. А у меня нет выхода, мне надо добиться ответа нужного клиенту. Т.е. убрать return
   catena
 
12 - 04.09.18 - 13:23
(11)Вид ответа WS определяет поставщик как бы.
   e2v
 
13 - 04.09.18 - 13:32
(12) Вот я тоже прихожу к такому выводу.
Написал 1С-кам. Мож официально пошлют 8)))
   tesseract
 
14 - 04.09.18 - 13:36
(11) Ну так это проблема старая. Если ты на тот самый сайт по продаже авто/запчастей. Так там проблема в другом.

>><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">;;

А у них другая схема для конвертика, поэтому и не понимают друг-друга. Там еще и типы данных добавили.
   e2v
 
15 - 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С-ки напишут.

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