|
Список в параметр операции веб-сервиса | ☑ | ||
---|---|---|---|---|
0
john_ddd
18.06.12
✎
12:11
|
Нужно передать в качестве параметра веб-сервиса список значений. Подскажите такое возможно? и как можно организовать?
|
|||
1
Cube
18.06.12
✎
12:18
|
(0) Делай XDTO-пакет с двумя типами объектов: "Номенклатура" и "СписокНоменклатуры".
У "Номенклутра" набирай свойства какие хочешь. У "СписокНоменклатуры" свойство только одно - "Номенклатура" (та самая, про которую написал строкой выше) с "Минимальное количество" = 0 и "Максимальное количество" = -1. |
|||
2
art_zvuk
18.06.12
✎
12:18
|
(0) возможно, но как не подскажу (сорри), сам сейчас разбираюсь...
|
|||
3
john_ddd
18.06.12
✎
12:24
|
(1)это понятно..
это вернуть список значений так можно... а я хочу в качестве параметра передать список значений. тут получается с двух сторон этот пакет описывать...описал, но не заработало( |
|||
4
Cube
18.06.12
✎
12:31
|
(3) А, не заметил... Ну тогда всё тоже самое плюс у веб-сервиса добавляешь операцию, а к ней свойство с типом "СписокНоменклатуры".
|
|||
5
john_ddd
18.06.12
✎
12:38
|
(4)а ты пробовал так?
у меня так не получилось...как пакеты описать правильно? пространства имен? нужно же с двух сторон пакеты одинаковые создавать. Вот что мне выдает когда передаю параметр список {Форма.Форма.Форма(218)}: Ошибка при вызове метода контекста (Add_StatusZakaza) ОбъектXDTO = Сервис.Add_StatusZakaza(СписокСерий,"Произведен",Истина); по причине: Ошибка вызова операции сервиса: {http://www.StatusZakaza.org}:StatusZakaza:Add_StatusZakaza() по причине: Неизвестная ошибка. Несоответствие типов XDTO: Тип '{(http://www.StatusZakaza.org}SpisokTip' не найден Тип принадлежит пакету, отсутствующему в фабрике типов XDTO по причине: Несоответствие типов XDTO: Тип '{(http://www.StatusZakaza.org}SpisokTip' не найден Тип принадлежит пакету, отсутствующему в фабрике типов XDTO |
|||
6
Cube
18.06.12
✎
12:45
|
(5) Пробовал? Да у меня так работает!))
Пруфлинк: http://storage4.static.itmages.ru/i/12/0618/h_1340009101_7804304_6936d6e252.jpeg |
|||
7
john_ddd
18.06.12
✎
12:52
|
(6)когда с клиента передаешь этот параметр ты его как описываешь?
я описывал так: СерияТип = ФабрикаXDTO.Тип("(http://www.StatusZakaza.org", "SerialTip"); СписокСерийТип = ФабрикаXDTO.Тип("(http://www.StatusZakaza.org", "SpisokTip"); СписокСерий = ФабрикаXDTO.Создать(СписокСерийТип); Серия = ФабрикаXDTO.Создать(СерияТип); Серия.Serial = "123"; СписокСерий.Spisok.Добавить(Серия); Серия = ФабрикаXDTO.Создать(СерияТип); Серия.Serial = "321"; СписокСерий.Spisok.Добавить(Серия); ОбъектXDTO = Сервис.Add_StatusZakaza(СписокСерий,"Произведен",Истина); |
|||
8
Cube
18.06.12
✎
12:58
|
(7) Всё как у тебя, за исключением последней строки - что это?
Ты же описываешь функцию, привязанную к операции веб-сервиса? У меня бы вместо последней строки было: Возврат СписокСерий; Конечно, у тебя, видимо, связка 1С-1С, а у меня Android-1С... |
|||
9
john_ddd
18.06.12
✎
13:14
|
(8)какой тип ты передаешь с андройда в 1с в параметне ListOfDocuments?
ОбъектXDTO = Сервис.Add_StatusZakaza(СписокСерий,"Произведен",Истина); в этой строке я как раз на клиенте вызываю операцию веб сервиса и в параметре передаю СписокСерий. А вернуть он мне должен строку. |
|||
10
Cube
18.06.12
✎
13:29
|
(9) Фиг знает... Я XML-запрос к веб-сервису формирую вручную...
|
|||
11
john_ddd
18.06.12
✎
14:04
|
думаю ошибка у меня именно на клиенте...надо как-то список значений оформить по другому
|
|||
12
john_ddd
18.06.12
✎
14:08
|
может типы пакетов неправильно описал
|
|||
13
Cube
18.06.12
✎
14:10
|
(11) Добавь логирование, чего паришься?)
|
|||
14
john_ddd
18.06.12
✎
15:08
|
(13)а зачем оно мне? спасибо за беседу)
в принципе свою проблему решил с помощью Сериализацией... 1с - 1с проблем нет....могут пойти если клиент будет не 1с...пока не буду париться |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |