|
Web сервис. Ошибка создания по типу | ☑ | ||
---|---|---|---|---|
0
SMakcik
23.09.13
✎
17:49
|
Привет всем!
Задолбало уже мучиться с этой проблемой Есть Web сервисы. подключение проходит на ура определения методов тоже но при вызове метода возникает ошибка: {WebСервис.Nomenklatura.Модуль(42)}: Ошибка при вызове метода контекста (Создать) Ниже кусок кода создания переменных ТипXDTOПодразделение = ФабрикаXDTO.Тип("http://192.168.137.191/WebServices/Nomenclaturа", "Подразделение"); ТипXDTOНоменклатура = ФабрикаXDTO.Тип("http://192.168.137.191/WebServices/Nomenclaturа", "Номенклатура"); ТипXDTOХарактеристикаНоменклатуры = ФабрикаXDTO.Тип("http://192.168.137.191/WebServices/Nomenclaturа", "ХарактеристикаНоменклатуры"); ТипXDTOСтрокаТаблицыОстатков = ФабрикаXDTO.Тип("http://192.168.137.191/WebServices/Nomenclaturа", "СтрокаТаблицыОстатков"); ТипXDTOРезультат = ФабрикаXDTO.Тип("http://192.168.137.191/WebServices/Nomenclaturа", "ТаблицаОстатков"); XDTOРезультат = ФабрикаXDTO.Создать(ТипXDTOРезультат); Не создается тип ТипXDTOРезультат ТипXDTOРезультат - ТаблицаОстатков с составом строк (СтрокиОстатковТоваров) имеющие тип "СтрокаТаблицыОстатков" комментаришь строку создающую XDTOРезультат = ФабрикаXDTO.Создать(ТипXDTOРезультат); Все в порядке Где искать причину, направьте плиз |
|||
1
SMakcik
23.09.13
✎
17:50
|
Ниже вся процедура подготовки результата
Функция ПолучитьРезультирующуюТаблицу(Результат) ТипXDTOПодразделение = ФабрикаXDTO.Тип("http://192.168.137.191/WebServices/Nomenclaturа", "Подразделение"); ТипXDTOНоменклатура = ФабрикаXDTO.Тип("http://192.168.137.191/WebServices/Nomenclaturа", "Номенклатура"); ТипXDTOХарактеристикаНоменклатуры = ФабрикаXDTO.Тип("http://192.168.137.191/WebServices/Nomenclaturа", "ХарактеристикаНоменклатуры"); ТипXDTOСтрокаТаблицыОстатков = ФабрикаXDTO.Тип("http://192.168.137.191/WebServices/Nomenclaturа", "СтрокаТаблицыОстатков"); ТипXDTOРезультат = ФабрикаXDTO.Тип("http://192.168.137.191/WebServices/Nomenclaturа", "ТаблицаОстатков"); XDTOРезультат = ФабрикаXDTO.Создать(ТипXDTOРезультат); ТаблицаОстатков = Результат.Выгрузить(); Для Каждого СтрокаТаблицыОстатков ИЗ ТаблицаОстатков Цикл XDTOПодразделение = ФабрикаXDTO.Создать(ТипXDTOПодразделение); XDTOПодразделение.Наименование = СтрокаТаблицыОстатков.Подразделение.Наименование; XDTOПодразделение.ИдентификаторПодразделения = СокрЛП(СтрокаТаблицыОстатков.Подразделение.ИдентификаторПодразделения); XDTOНоменклатура = ФабрикаXDTO.Создать(ТипXDTOНоменклатура); XDTOНоменклатура.Наименование = СтрокаТаблицыОстатков.Номенклатура.Наименование; XDTOХарактеристикаНоменклатуры = ФабрикаXDTO.Создать(ТипXDTOХарактеристикаНоменклатуры); XDTOХарактеристикаНоменклатуры.Наименование = СтрокаТаблицыОстатков.ХарактеристикаНоменклатуры.Наименование; XDTOСтрокаТаблицыОстатков = ФабрикаXDTO.Создать(ТипXDTOСтрокаТаблицыОстатков); XDTOСтрокаТаблицыОстатков.Подразделение = XDTOПодразделение; XDTOСтрокаТаблицыОстатков.Номенклатура = XDTOНоменклатура; XDTOСтрокаТаблицыОстатков.ХарактеристикаНоменклатуры = XDTOХарактеристикаНоменклатуры; XDTOСтрокаТаблицыОстатков.КонечныйОстаток = СтрокаТаблицыОстатков.КоличествоОстаток; XDTOРезультат.СтрокиОстатковТоваров.Добавить(XDTOСтрокаТаблицыОстатков); КонецЦикла; Возврат XDTOРезультат; КонецФункции |
|||
2
Serginio1
23.09.13
✎
17:55
|
Не ФабрикаXDTO а Прокси.ФабрикаXDTO . Ты работаешь не со своей фабрикой, а с фабрикой прокси
|
|||
3
SMakcik
23.09.13
✎
17:56
|
какой прокси? это же сам модуль на стороне сервера Web сервиса
|
|||
4
SMakcik
23.09.13
✎
17:57
|
Все по книжки можно сказать
http://1cprogrammistu.ru/60-sozdanie-web-servisa-v-1s-predpriyatii.html )))) |
|||
5
Serginio1
23.09.13
✎
18:18
|
Ты в Вэб сервису как подключаешься?
|
|||
6
SMakcik
23.09.13
✎
18:19
|
Определения = Новый WSОпределения("http://192.168.137.191/ws/ws/wsRests.1cws?wsdl");
Прокси = Новый WSПрокси(Определения, "http://192.168.137.191/WebServices/Nomenklatura", "Nomenklatura", "NomenklaturaSoap"); Результат = Прокси.GetRests("18-214-351E", ""); |
|||
7
SMakcik
23.09.13
✎
18:20
|
подключение то проходит
Такое ощущение что ТипXDTOРезультат = Неопределено |
|||
8
Serginio1
23.09.13
✎
18:23
|
Ну для начала выведи все методы Вэб сервиса в обычный модуль, что бы тестить можно было без Вэб Сервиса.
А есть ли у тебя тип "ТаблицаОстатков".Посмотри в отладчике, что возвращает ТипXDTOРезультат = ФабрикаXDTO.Тип("http://192.168.137.191/WebServices/Nomenclaturа"" target="_blank" rel="nofollow" class="extralink">http://192.168.137.191/WebServices/Nomenclaturа";, "ТаблицаОстатков"); |
|||
9
Serginio1
23.09.13
✎
18:24
|
(7) Не ощущение, а факт.
|
|||
10
SMakcik
23.09.13
✎
18:25
|
Как посмотреть? Как зайти в отладчик выполняющийся на стороне сервера
|
|||
11
Serginio1
23.09.13
✎
18:27
|
(10 Прочитай 8 первую строку. Вынеси реализацию методов в обычный модуль (клиент, сервер). То есть в модуле Вэб Сервиса вызывай методы из общего модуля. И при отладке используй методы общего модуля.
|
|||
12
SMakcik
23.09.13
✎
18:28
|
Сейчас попробую
|
|||
13
SMakcik
23.09.13
✎
18:31
|
да нифига так не получается
|
|||
14
Serginio1
23.09.13
✎
18:34
|
Почему. Вынеси весь код в WebСервис.Nomenklatura напрмер в
ВэбСервисНоменклатура только добавь директиву Экспорт, а в модуле WebСервис.Nomenklatura Функция GetRests(парам1,парам2) возврат ВэбСервисНоменклатура.GetRests(парам1,парам2) КонецФункции |
|||
15
Serginio1
23.09.13
✎
18:35
|
И для тестов вызывай
ВэбСервисНоменклатура.GetRests(парам1,парам2) и отлаживай в толстом клиенте |
|||
16
SMakcik
23.09.13
✎
18:39
|
а точно. Туплю
|
|||
17
SMakcik
23.09.13
✎
18:39
|
Сейчас пробую
|
|||
18
Serginio1
23.09.13
✎
19:03
|
(17) Можешь конечно скопировать код (1) Во внешнюю обработку, но подход с Общем модулем более универсален.
|
|||
19
SMakcik
23.09.13
✎
19:07
|
Ну все типы равны не определено.
|
|||
20
SMakcik
23.09.13
✎
19:09
|
похоже они не определяются через толстый клиент
|
|||
21
Serginio1
23.09.13
✎
19:12
|
Типы должны определяться. В отладчике исследуй ФабрикаXDTO
Может не сохранил конфигурацию? |
|||
22
SMakcik
23.09.13
✎
19:15
|
Пакеты XDTO есть
А типы как прошерстить? |
|||
23
SMakcik
23.09.13
✎
19:27
|
ппц. Так бы неделю рылся. Опечатка была в пространстве имен )))
Спасибо за помощь |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |