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

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

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
Просмотров: 4395
Последний ответ 21 Сен 2011, 17:35
от proofet
ошибка "Невозможно обработать параметр "ПрофильПолномочийПользователя""

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

oleg-x
91 Сообщений
alex0402
43 Сообщений
AIFrame
42 Сообщений
Oldman06
31 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
29 Сообщений
vitasw
29 Сообщений
Golickoff Golickoff
27 Сообщений
Liv98 Liv98
20 Сообщений
MuI_I_Ika MuI_I_Ika
18 Сообщений
DmitriyF DmitriyF
14 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal