|
Метод возврата сервис 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С-ки напишут. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |