#0
by badbob
Всем привет. Пытаюсь сделать вэб-сервис на базе 1С, который возвращал бы заказ пользователя по идентификатору заказа. Это нужно для интеграции с сайтом, написанным на java.На свой запрос получаю вот такой ответ: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> Где можно посмотреть, какая именно библиотека модулей не может быть инициализирована? Есть в 1С какие-нибудь журналы/логи, куда может попасть такая ошибка? Гугление почему-то не дало никаких результатов.
#2
by badbob
Да, wsdl с сервера отдаётся. Кстати, тело модуля, который должен обрабатывать этот запрос, выглядит так: Если переписать этот модуль так: то web-сервис сообщит, что обязательный выходной параметр не задан. (Или что-то вроде того...)
#5
by badbob
# xdtoЗаказ = Заказ - это комментарий. Не исполняемый код. Serginio1, твой вариант не работает, выдаёт такую же ошибку. Однако, если написать так: то результат будет такой: <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"> <soap:Text xml:lang="ru_RU">Неизвестная ошибка. {WebСервис.ДанныеЗаказа.Модуль}: Ошибка при вызове метода контекста (ПолучитьОбъект) по причине: {WebСервис.ДанныеЗаказа.Модуль}: Ошибка при вызове метода контекста (ПолучитьОбъект) по причине: Элемент не выбран!</soap:Text> Похоже, что 1С не может найти объект с кодом, который я передаю. Попробовал создать примитивный пример: В ответ получил то с чего начал: <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
#8
by Asmody
во-первых, сомневаюсь, что во внешнем приложении нужен заказ целиком. правильнее описать в пакете XDTO нужный XDTO-объект, и формировать и возвращать его. во-вторых, необходимо предусмотреть что-то, что будет возвращать твой метод при отсутствии заказа.
#10
by Serginio1
На самом деле СериализаторXDTO.ЗаписатьXDTO(Заказ.ПолучитьОбъект); Возвращает XDTO объект. Только в описании возврата функцией должен быть тип DocumentObject.ЗаказПокупателя ( Правда нужно добовить в пакет сервиса
#12
by badbob
Serginio1, ты абсолютно прав. После добавления в список пакетов модуля код заработал: Возвращается, конечно, пустой заказ покупателя. Но это уже хоть что-то. Однако, добавив одну строчку: получаем старую ошибку:
#13
by Serginio1
Кстати новую версию поставил? Заказ = Документы.ЗаказПокупателя.НайтиПоНомеру(Код) Возврат СериализаторXDTO.ЗаписатьXDTOЗаказ.ПолучитьОбъект); при правильном коде. Уникальность номера непериодическая?
#14
by badbob
Serginio1, не понял вопроса. Новую версию чего нужно было поставить? Код, который передаётся в функцию Получить однозначно уникальный - другого заказа покупателя с таким идентификатором нет. Есть ли где-нибудь у 1С возможность посмотреть, что это за "Внутренняя ошибка. Ошибка инициализации библиотеки модулей"? Какая-нибудь аналогия stacktrace?
#15
by badbob
Вообще, я понял, что на самом деле использовал вместо кода "Номер". То есть, "Номер" однозначно уникальный в систем - на сколько я понимаю, это первичный ключ. Ещё интересная особенность - даже если поставить "#" перед вызовом Документы.ЗаказПокупателя.НайтиПоНомеру(Номер) - всё-равно возникает ошибка "Внутренняя ошибка...".
#18
by Serginio1
Новая версия 8.3.3. НайтиПоНомеру использует 2 параметра номер и дату документа. Бывают без периодичности в течении года итд. Уникальный это УникальныйИдентификатор
#20
by Serginio1
И прежде чем запускать сделай проверку из 1С. Лучше все методы выносить в отдельный модуль, что бы тестировать из толстого клиента
#21
by badbob
Serginio1, ёптить, а где можно прочитать вообще обо всех функциях/методах объектов 1С? Есть какая-то документация по API типа MSDN? Проблема "Внутренняя ошибка. Ошибка инициализации библиотеки модулей" была связана с тем, что я не ставил точку с запятой в конце первой строки. Я не ожидал, что компилятор не сругнётся... Спасибо большое тебе за помощь. Уверен, что без твоих советов, я бы пропал.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Ошибка при вызове метода контекста (Подключиться): Неизвестная ошибка (SMTP erro
- Странная ошибка "ошибка формата потока" с вылетом из сеанса
- Ошибка при вызове метода контекста (ЗагрузитьВнешнююКомпоненту): Ошибка при
- Ошибка выполнения запроса "Ошибка при выполнении операции над данными: Ошибка SQL: Де
- v7: Ошибка СУБД.Внутренняя ошибка dbeng 8
- УРИБ: при обмене "Ошибка при распаковке данных из архива : Ошибка при вызове конструк
- При отправке сообщения произошла ошибка : Общая ошибка MAPI
- Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка преобразования данны
- v8: Ошибка СУБД. Внутренняя ошибка компоненты DBENG8 при обмене данными
- Ошибка при попытке выгрузить данные из УТ в БП. интересная необычная ошибка
- Ошибка при вызове метода web-сервиса.
- Ошибка при вызове метода контекста (Записать) Ошибка при выполнении файловой опе
В этой группе 1С
- реализация товаров на основании поступления товаров
- БГУ - сумма в журнале операций не совпадает с главной книгой
- Перенос оборотов из 7.7 в 8.2
- ошибка при импорте данных
- v7: Обработка результатов запроса из 1с 77 к 1с 82 через OLE соединение
- Универсальный отчет - дочернее поле
- Отчет по затратам на выпуск (УПП)
- Чем загрузить "сложный" CSV ?
- Нумерация строк в запросе
- Получить макет во внешнем отчете СКД при компоновке данных
- Как сделать поле ввода прозрачным???
- 1С Розница. Перемещение между магазинами.
- Действия при добавлении записей в регистр сведений
- Сортировка товаров в печатной форме Приход на розничные склады в ценах АТТ
- в рознице выдается ошибка "Ошибка определения доступных касс ККМ"
- УНФ 1.4 - Нет возможности изменять варианты отчетов в пользовательском режиме?
- Ключ защиты программы больше недоступен
- СКД: имя "группы" однообразных полей
- Можно ли в запросе преобразовать к нижнему регистру?
- несколько счетов в одном приходном документе