#0
by Dididi
Здравствуйте, помогите подключиться и записать данные в справочник 1С. Есть адреса и enstru.skc.kz/wsdl_server/php-wsdl.php. Раньше с веб-сервисами не работала. Нашла в инете, что надо создать объект WSссылка. Создала. Далее создала обработку. Добавила реквизиты форм для заполнения входных данных. - ссылка на схему веб-сервиса. И написала следующее: Выдает следующую ошибку: {Форма.Форма.Форма}: Ошибка при вызове метода контекста (getByTime) Данные = Прокси.getByTime(ДатаСЮникс,ДатаПоЮникс,Метод,КоличествоПозиции1); по причине: Ошибка вызова операции сервиса: {urn:enstru}:enstruService:getByTime по причине: Неизвестная ошибка. Ошибка при вызове метода объекта модели XDTO. Неверный параметр. по причине: Ошибка при вызове метода объекта модели XDTO. Неверный параметр. Как заполнить параметры функции правильно?
#1
by DirecTwiX
Судя по всему, 1Ска ругается на третий параметр. Нужно посмотреть его тип, создать с помощью фабрикиXDTO, заполнить и передать в метод.
#3
by DirecTwiX
В 1Ске посмотри схему ссылки "URI" - это пространство имён, в котором находится тип (что-то похожее на "enstruService" в твоём случае, скорее всего) - в схеме всё наглядно видно.
#5
by Jaap Vduul
Если судить по wsdl описанию, то первые три параметра - строковые, последний - целочисленный.
#7
by DirecTwiX
Но судя по описанию схемы, а не по рисунку, там и правда первые три параметра - строковые
#8
by Dididi
тут ДатаСЮникс - строка. А в wsСсылке from - string Вопрос: из Строки в string надо преобразовывать? если да, то как? Я попробовала вот так: ТипМетода = Прокси.ФабрикаXDTO.Тип("urn:enstru", "string "); Но ошибка выходит: Форма.Форма.Форма}: Ошибка при вызове метода контекста (Создать) по причине: Несоответствие типов (параметр номер '1')
#12
by Jaap Vduul
Скорее всего, проблема не во входных параметрах (ибо там только примитивные типы), а в возвращаемом значении, которое объявлено как anyType и в результате 1цэ не может корректно распарсить getByTimeResponse.
#15
by KirWas
Должно быть что-то похожее на следующее: ТипДата = Прокси.ФабрикаXDTO.Пакеты.Получить(";); И только после этого ... И только если &НаСервере есть доступ к http: ... И если на нем правильно настройки проксисервера прописаны (это в настройках браузера или в 1С../Conf/inetcfg.xml)...
#18
by Dididi
Еще раз попробовала вот так: ТипСтрока = ПроксиФабрикаXDTO.Тип(";, "string"); Ошибка: {Форма.Форма.Форма}: Ошибка при вызове метода контекста (getByTime) Данные = Прокси.getByTime(ДатаСЮниксСтр,ДатаПоЮниксСтр,МетодСтр,Лимит); по причине: Ошибка вызова операции сервиса: {urn:enstru}:enstruService:getByTime по причине: Неизвестная ошибка. Ошибка при вызове метода объекта модели XDTO. Неверный параметр. по причине: Ошибка при вызове метода объекта модели XDTO. Неверный параметр.
#19
by KirWas
Если ещё актуально Танцевал с бубном вокруг аналогичного. ...Яндекс выдал "не каждый .wsdl работает с 1С" У себя проблему решил переписыванием .wsdl В Вашем случае если брать: <!-- WSDL file generated by Zend Studio. --> <definitions name="enstru" targetNamespace="urn:enstru" xmlns:typens="urn:enstru" xmlns:xsd="; xmlns:soap="; xmlns:soapenc="; xmlns:wsdl="; xmlns="; <types> И запустить: То получаем уже: Ошибка вызова операции сервиса: {urn:enstru}:enstruService:getByID по причине: Ошибка SOAP сервера: SOAP-ERROR: Encoding: Violation of encoding rules Подозреваю, что из-за этого: use="encoded" encodingStyle="
#23
by Serginio1
Разве это сложности? Все элементарно. Но вот интересно, есть возможность в Net неопубликованные типы. Для этих целей конечно есть ExpandoObject
#24
by SUA
самое простое берем эту хрень загоняем в HTTP запрос типовым образом парсим XML времязатраты час
#26
by Serginio1
Ну по сравнению с 21 трудозатраты во много раз выше. Там 5 минут выше крыши. Но есть еще вариант это изменить WSDL дать описание возвращаемых типов и прописать их в описании методов. И использовать уже этот файл. Можно статически, а можно и динамически ОпределениеТ=Новый WSОпределения(Файл_wsdl);
#27
by SUA
поставить .Net и следить за соответствием версий пилить конфиги, знать объекты .net что еще в 21 надо для 5 минут?
#28
by Serginio1
Следить за версиями не надо. А вот знать классы Net нужно. Но это не сложно. Можно и без конфигов обходиться, все прописывая в коде. Но с конфигами гибче. Кроме того существует масса ws протоколов где простого HTTP запроса будет просто недостаточно
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Подключение торгового оборудования
- v7plus не устанвливается подключение к MAPI
- OFF Подключение через Terminal Server
- Подключение ФР к 1С
- Входящее подключение IMAP mail.ru The bat "Сервер закрыл подключение"
- Подключение к веб-сервису из 1с
- Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение
В этой группе 1С
- Выполнение общего модуля на сервере и на клиенте
- Слетает маштабирование печатных форм. Платформа 1С 8.3.5.1383. SQL. БП КОРП.
- Переименовать названия документов в УФ
- v7: невосстановимая ошибка базы данных код 4 таблица общая ошибка ввода вывода
- v8 вывод больших изображений, картинок в табличный документ
- Почему слетают роли пользователя в "1С8 документообороте"
- 1С 8.3.1383. Конструктор запросов в конфигураторе и временная таблица
- 1С 8.3 УФ. Итог по табличной части документа в форме списка
- Реквизиты формы и внешние обработки
- УПП 1.3 ОПЗС не списывает материал
- Дублирование предопределенных элементов при перегрузке XML
- Отчет СКД поиск предыдущей записи регистра сведений
- Одностороняя синхронизация с яндекс диском или другим облаком. Как?
- Нельзя изменять поле, содержащее объект данных формы
- ИмяПринтера ТабличныйДокумент. Работает?
- Удаление элементов из справочника номенклатура, какой способ лучше?
- Notepad++ и регулярные выражения
- Дополнительная внешняя обработка (управляемые формы)
- После обновления конфигурации ЗУП 2.5 появилась Северная надбавка пустая
- Увеличить себестоимость списания в БП 2.0