8.х ОБМЕН Сервер не найден {http:/localhost/ws1}:WebObmen

Тема в разделе "Обмен данными в "1С:Предприятие 8"", создана пользователем leobrn, 24 сен 2015.

  1. TopicStarter Overlay
    leobrn
    Offline

    leobrn

    Регистрация:
    24 сен 2015
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    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));
    КонецФункции
    

    Вложения:

    • 1.png
      1.png
      Размер файла:
      6,7 КБ
      Просмотров:
      4
    • 2.png
      2.png
      Размер файла:
      53,3 КБ
      Просмотров:
      4
    • 4.png
      4.png
      Размер файла:
      52,1 КБ
      Просмотров:
      4
  2. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Апач работает на локальном компе ?
  3. TopicStarter Overlay
    leobrn
    Offline

    leobrn

    Регистрация:
    24 сен 2015
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Да. Версия 2.2
  4. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.440
    Симпатии:
    374
    Баллы:
    104
  5. TopicStarter Overlay
    leobrn
    Offline

    leobrn

    Регистрация:
    24 сен 2015
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
Похожие темы
  1. anatoliy2004
    Ответов:
    4
    Просмотров:
    3.322
  2. SASH666
    Ответов:
    1
    Просмотров:
    7.813
  3. mixanoid81
    Ответов:
    1
    Просмотров:
    985
  4. Aldar
    Ответов:
    16
    Просмотров:
    15.056
  5. avantport
    Ответов:
    4
    Просмотров:
    861
Загрузка...

Поделиться этой страницей