Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
24 Июл 2017, 21:43
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: ошибка при обмене данных с веб сервисом  (Прочитано 1045 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн leobrn

  • *
  • Сообщений: 1
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-09-24
  • Сайт: 
  • Профессия: Ученик 1С
В общем при обмене возникает ошибка "Сервер не найден {http:/localhost/ws1}:WebObmen"

ExecChange
Процедура ЗарегистрироватьИзмененияДанных(УзелОбмена) Экспорт
СоставПланаОбмена = УзелОбмена.Метаданные().Состав;
Для каждого ЭлементСоставаПланаОбмена Из СоставПланаОбмена Цикл
ПланыОбмена.ЗарегистрироватьИзменения(УзелОбмена,ЭлементСоставаПланаОбмена.Метаданные);
КонецЦикла;
КонецПроцедуры

Функция ExecChange(CoUs, DaUstr)
УстановитьПривилегированныйРежим(Истина);

//1. иницйиализация если нужно
УзелОбмена = ПланыОбмена.Мобильный.ЭтотУзел().ПолучитьОбъект();
Если не ЗначениеЗаполнено(УзелОбмена.Код) Тогда
УзелОбмена.Код="001";
УзелОбмена.Наименование="Centr";
УзелОбмена.Записать();
КонецЕсли;

УзелОбмена = ПланыОбмена.Мобильный.НайтиПоКоду(CoUs);
Если УзелОбмена.Пустая() Тогда
НовыйУзел = ПланыОбмена.Мобильный.СоздатьУзел();
НовыйУзел.Код = CoUs;
НовыйУзел.Наименование = CoUs;
НовыйУзел.Записать();
ЗарегистрироватьИзмененияДанных(НовыйУзел.Ссылка);
УзелОбмена = НовыйУзел.Ссылка;
КонецЕсли;

//2. Получить данные с мобильного устройства
УзелОбмена = ПланыОбмена.Мобильный.НайтиПоКоду(CoUs);
Сообщить(CoUs);
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.УстановитьСтроку(DaUstr.Получить());
ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();
ЧтениеСообщения.НачатьЧтение(ЧтениеXML);
ПланыОбмена.УдалитьРегистрациюИзменений(ЧтениеСообщения.Отправитель,ЧтениеСообщения.НомерПринятого);
НачатьТранзакцию();
Пока ВозможностьЧтенияXML(ЧтениеXML) Цикл
Данные = ПрочитатьXML(ЧтениеXML);
Если не Данные = Неопределено Тогда
Данные.ОбменДанными.Отправитель = ЧтениеСообщения.Отправитель;
Данные.ОбменДанными.Загрузка = Истина;
Данные.Записать();
КонецЕсли;
КонецЦикла;
ЗафиксироватьТранзакцию();
ЧтениеСообщения.ЗакончитьЧтение();
ЧтениеXML.Закрыть();

//3. Выгрузка Данных в мобильное устрйоство
УзелОбмена = ПланыОбмена.Мобильный.НайтиПоКоду(CoUs);
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку("UTF-8");
ЗаписьXML.ЗаписатьОбъявлениеXML();
ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
ЗаписьСообщения.НачатьЗапись(ЗаписьXML,УзелОбмена);
ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("xsi", "http://www.w3.org/2001/XMLShema-instance");
ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("v8", "http://v8.1c.ru/data");
ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(УзелОбмена, ЗаписьСообщения.НомерСообщения);
Пока ВыборкаИзменений.Следующий() Цикл
Данные = ВыборкаИзменений.Получить();
ЗаписатьXML(ЗаписьXML, Данные); // запис данные в смообщение
КонецЦикла;
ЗаписьСообщения.ЗакончитьЗапись();
Возврат Новый ХранилищеЗначения(ЗаписьXML.Закрыть(), Новый СжатиеДанных(9));

КонецФункции//ВыполнитьОбмен

Обмен
 &НаКлиенте
   Процедура ОбработкаКоманды(ПараметрКоманды,ПараметрыВыполненияКоманды)
   ОбработкаКомандыСервер();
   КонецПроцедуры
   
   &НаСервере
   Процедура ОбработкаКомандыСервер()
   Адрес = "http://192.168.100.102/mobile/ws/ws1.1cws?wsd1";
   Определения = Новый WSОпределения(Адрес);
   URI = "http://localhost/ws1";
   Прокси = Новый WSПрокси(Определения, URI, "WebObmen", "WebObmenSoap");
   
   СисИнфо = Новый СистемнаяИнформация;
   КодМобильногоКомпьютера = Строка(СисИнфо.ИдентификаторКлиента);
   
   //1. инициализация если нужно
   Узел = ПланыОбмена.Мобильный.ЭтотУзел();
   Если не ЗначениеЗаполнено(Узел.Код)
   ИЛИ Узел.Код <> КодМобильногоКомпьютера Тогда
   ОбъектУзла = Узел.ПолучитьОбъект();
   ОбъектУзла.Код = КодМобильногоКомпьютера;
   ОбъектУзла.Наименование = КодМобильногоКомпьютера;
   ОбъектУзла.Записать();
   КонецЕсли;
   
   ЦентральныйУзелОбмена = ПланыОбмена.Мобильный.НайтиПоКоду("001");
   Если ЦентральныйУзелОбмена.Пустая() Тогда
   НовыйУзел = ПланыОбмена.Мобильный.СоздатьУзел();
   НовыйУзел.Код="001";
   НовыйУзел.Наименование ="Centr";
   НовыйУзел.Записать();
   ЦентральныйУзелОбмена = НовыйУзел.Ссылка;
   КонецЕсли;
   
   //2. Обмен с центр базой
   ДанныеОбмена = Прокси.ExecChange(КодМобильногоКомпьютера, СформироватьПакетОбмена(ЦентральныйУзелОбмена)); 
   
    //3. Обработка данных, полученных из центральной базы

    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.УстановитьСтроку(ДанныеОбмена.Получить());
    ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();
    ЧтениеСообщения.НачатьЧтение(ЧтениеXML);
    ПланыОбмена.УдалитьРегистрациюИзменений(ЧтениеСообщения.Отправитель,ЧтениеСообщения.НомерПринятого);
    НачатьТранзакцию();
    Пока ВозможностьЧтенияXML(ЧтениеXML) Цикл
        Данные = ПрочитатьXML(ЧтениеXML);
        Если НЕ Данные = Неопределено Тогда
            Данные.ОбменДанными.Отправитель = ЧтениеСообщения.Отправитель;
            Данные.ОбменДанными.Загрузка = Истина;
            Данные.Записать();
        КонецЕсли;
    КонецЦикла;
    ЗафиксироватьТранзакцию();
    ЧтениеСообщения.ЗакончитьЧтение();
    ЧтениеXML.Закрыть();
   
КонецПроцедуры

Функция СформироватьПакетОбмена(УзелОбмена) Экспорт
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку("UTF-8");
ЗаписьXML.ЗаписатьОбъявлениеXML();
ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
ЗаписьСообщения.НачатьЗапись(ЗаписьXML, УзелОбмена);
ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("xsi", "http://www.w3.org/2001/XMLSchema-instance");
ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("v8", "http://v8.1c.ru/data");
ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(УзелОбмена, ЗаписьСообщения.НомерСообщения);
Пока ВыборкаИзменений.следующий() Цикл
Данные = ВыборкаИзменений.Получить();
ЗаписатьXML(ЗаписьXML, Данные);
КонецЦикла;
ЗаписьСообщения.ЗакончитьЗапись();
Возврат Новый ХранилищеЗначения(ЗаписьXML.Закрыть(),Новый СжатиеДанных(9));
КонецФункции


Оффлайн ANF1999

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-10-26
  • Сайт: 
  • Профессия: Ученик 1С
У вас в строчке
   Адрес = "http://192.168.100.102/mobile/ws/ws1.1cws?wsd1";
вместо wsdl (Эль на конце) в конце стоит 1(один).
У себя проверил. Весело:))

Оффлайн дфтын

  • Могу решить ЛЮБУЮ задачу в 1С и не только.. С вопросами в личку:)
  • *****
  • Сообщений: 2720
  • РЕПУТАЦИЯ: 325
  • КПД: 12%
  • 1С наше все
  • Регистрация: 2014-04-29
    • Skype: Soprov1C
  • Компания: Корпорация зонтиков
  • Профессия: Разработчик 1С
называется студент чото там скопировал
Помог? Нажми - Спасибо :)
skype: Soprov1C


Теги:
 

При открытии обр-ки в "Предприятии" есть ошибка, а в "Отладке" нет

Автор proofetРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 4135
Последний ответ 21 Сен 2011, 17:35
от proofet
ошибка "Невозможно обработать параметр "ПрофильПолномочийПользователя""

Автор lindeluРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 5482
Последний ответ 06 Июн 2012, 09:15
от lindelu
Синтаксическая ошибка "В" Номенклатура.Ссылка = <<?>> В ИЕРАРХИИ(&Ссылка)

Автор maskitoРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 3770
Последний ответ 28 Апр 2014, 15:53
от maskito
При создании нового документа "Заявка на кассовый расход" Ошибка "Значение 9 поля "номер" не уникально

Автор ppkmliteРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 7235
Последний ответ 22 Ноя 2014, 04:50
от cska-fanat-kz
Синтаксическая ошибка "ИЗ"

Автор kulkriseРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 4133
Последний ответ 26 Янв 2014, 19:33
от kulkrise

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

alex0402
95 Сообщений
oleg-x
93 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
68 Сообщений
Golickoff Golickoff
51 Сообщений
ilyay ilyay
45 Сообщений
AIFrame
42 Сообщений
wise wise
31 Сообщений
Амал
30 Сообщений
ab30ru
24 Сообщений
lansy
22 Сообщений

* Кто онлайн

  • Точка Гостей: 466
  • Точка Скрытых: 0
  • Точка Пользователей: 9
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal