Имя: Пароль:
1C
1С v8
Веб-сервис Mobile 1c
,
0 tixis
 
03.11.14
19:14
Взял книгу мостер-класс mobile 1с, столкнулся с проблемой обмена. при выполнении обмена (хоть на мобиле, хоть на пк) выходит ошибка:{ОбщаяКоманда.Обмен.МодульКоманды(12)}: Ошибка при вызове конструктора (WSПрокси)
    Прокси = Новый WSПрокси(Определения, URI, "WebОбмен", "WebОбменSoap");
по причине:
Сервис не найден. {http://localhost/ws1}:WebОбмен

Проверил  XDTO пакет, URI пространство имен совпадает. Что еще проверять нужно? Искал искал, ничего не нашел, решил проверить на демо базе с диска - такая же ошибка вышла. Пытаюсь изучит webСурвисы, а что то не получается.
З.Ы. Вот сама комманда обмена:

Процедура ОбработкаКомандыСервер()
    Адрес = "http://192.168.0.103/Begun/ws/ws1.1cws?wsdl";;
    Определения = Новый WSОпределения(Адрес);
    URI = "http://localhost/ws1";;
    Прокси = Новый WSПрокси(Определения, URI, "WebОбмен", "WebОбменSoap");
    
    СисИнфо = Новый СистемнаяИнформация;
    КодМобильногоКомпьютера = Строка(СисИнфо.ИдентификаторКлиента);
    
    //1. Инициализация (если нужно)
    Узел = ПланыОбмена.Мобильные.ЭтотУзел();
    Если НЕ ЗначениеЗаполнено(Узел.Код)
        ИЛИ Узел.Код <> КодМобильногоКомпьютера Тогда
        ОбъектУзла = Узел.ПолучитьОбъект();
        ОбъектУзла.Код = КодМобильногоКомпьютера;
        ОбъектУзла.Наименование = КодМобильногоКомпьютера;
        ОбъектУзла.Записать();
    КонецЕсли;
    
    ЦентральныйУзелОбмена = ПланыОбмена.Мобильные.НайтиПоКоду("001");
    Если ЦентральныйУзелОбмена.Пустая() Тогда
        НовыйУзел = ПланыОбмена.Мобильные.СоздатьУзел();
        НовыйУзел.Код="001";
        НовыйУзел.Наименование="Центральный";
        НовыйУзел.Записать();
        ЦентральныйУзелОбмена = НовыйУзел.Ссылка;
    КонецЕсли;
    
    
    //2. Обмен с центральной базой
    ДанныеОбмена = Прокси.ВыполнитьОбмен(КодМобильногоКомпьютера, СформироватьПакетОбмена(ЦентральныйУзелОбмена));    
    
    
    //3. Обработка данных, полученных из центральной базы
    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.УстановитьСтроку(ДанныеОбмена.Получить());
    ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();
    ЧтениеСообщения.НачатьЧтение(ЧтениеXML);
    ПланыОбмена.УдалитьРегистрациюИзменений(ЧтениеСообщения.Отправитель,ЧтениеСообщения.НомерПринятого);
    НачатьТранзакцию();
    Пока ВозможностьЧтенияXML(ЧтениеXML) Цикл
        Данные = ПрочитатьXML(ЧтениеXML);
        Если НЕ Данные = Неопределено Тогда
            Данные.ОбменДанными.Отправитель = ЧтениеСообщения.Отправитель;
            Данные.ОбменДанными.Загрузка = Истина;
            Данные.Записать();
        КонецЕсли;
    КонецЦикла;
    ЗафиксироватьТранзакцию();
    ЧтениеСообщения.ЗакончитьЧтение();
    ЧтениеXML.Закрыть();
    
КонецПроцедуры
1 tixis
 
03.11.14
19:53
Что то я и через браузер не могу обратиться к localhost/ws1, хотя приложение опубликовано и Веб сервис тоже
2 Эмбеддер
 
03.11.14
20:04
64-разрядная система?
3 tixis
 
03.11.14
20:19
да
4 tixis
 
03.11.14
20:20
+(3) win 8
5 Эмбеддер
 
03.11.14
20:22
надо в настройках разрешить запуск 32-разрядных веб-сервисов. где точно, не скажу
6 tixis
 
03.11.14
20:23
(5) эм... в настройках чего, апача?
7 Эмбеддер
 
03.11.14
20:32
8 tixis
 
03.11.14
22:12
проверил на 32 битной системе, та же ошибка и я не нашел в иете чтобы у апача были проблемы с запуском на x64
9 Escander
 
04.11.14
05:36
в книжке тоже такое забавное УРИ пространство имён? а вторая сторона что-то про это УРИ знает?
10 Эмбеддер
 
04.11.14
05:53
(9) форум искажет ссылки)))
11 Эмбеддер
 
04.11.14
05:53
искажает
12 Escander
 
04.11.14
06:03
(10) мля! а что исходно было?
13 Эмбеддер
 
04.11.14
06:13
(12) после слова extralink
14 Escander
 
04.11.14
06:41
(13) окай, но разве локалхост для УРИ это норм, да и адрес не забавный?

Если зайти в браузере на
"http://192.168.0.103/Begun/ws/ws1.1cws?wsdl";
там вообще что-то будет видно?


может типа так: для опубликованноq базы Begun у которой есть веб-сервис ChangeData с функцией обмена SSS, всё это доступно для спецпользователя Usr1 с паролем 123

делать что-то типа такого:

Адрес = "http://192.168.0.103/Begun/ws/ChangeData.1cws?wsdl";)
URIПространстваИменСервиса = "Begun";
ИмяСервиса = "ChangeData";
ИмяФункции = "SSS";
Пользователь = Usr1;
Пароль = 123;
ВСОпределение = Новый WSОпределения(Адрес,Пользователь,Пароль);
ВСервис= ВСОпределение.Сервисы.Получить(URIПространстваИменСервиса,ИмяСервиса);
ВТочкаВхода  = ВСервис.ТочкиПодключения.Получить(ИмяСервиса + "Soap");
ВОперация     = ВТочкаВхода.Интерфейс.Операции.Получить(ИмяФункции);    
ВСПрокси = Новый WSПрокси(ВСОпределение, URIПространстваИменСервиса,ИмяСервиса,ИмяСервиса + "Soap");


?
15 Escander
 
04.11.14
06:41
адрес конечно в хвост и гриву....
16 Escander
 
04.11.14
06:42
Или тут не про SOAP?
17 Эмбеддер
 
04.11.14
06:58
(14) пространство имен действительно неправильное. ну и проверять в браузере надо в первую очередь
18 tixis
 
04.11.14
07:22
(14) в браузере при переходе по ссылке "http://192.168.0.103/Begun/ws/ws1.1cws?wsdl";
все отображается, вот ссылка http://s019.radikal.ru/i616/1411/2e/f6cc3e732725.png

в книге адhес именно localhost
19 Эмбеддер
 
04.11.14
07:27
как-то странно в Name, там русские буквы?
20 Эмбеддер
 
04.11.14
07:29
в targetNamespace возможно, что нормально localhost
у меня например такое в моем веб-сервисе
targetNamespace="http://code22.ru/Test/Order";
21 tixis
 
04.11.14
07:30
22 tixis
 
04.11.14
07:31
(19) если ты про имя веб сервиса то пробовал менять на английские , ничего не изменилось
23 tixis
 
04.11.14
07:33
(20) да там русские буквы WebОбмен, но это хром наверное глючит, я пробовал менять на WebObmen, но ошибка осталась
24 Эмбеддер
 
04.11.14
07:34
да, про имя веб-сервиса
попробуй вызывать методы сервиса через soapUI, чтобы понять, не работает сервис или программа в 1С
25 Escander
 
04.11.14
07:35
(21) слушай, завязывай с предопределёнными словами в качестве переменных и русских литерал во всё что касается интернета!
сделай как тут (14)
26 tixis
 
04.11.14
07:37
(24) что такое soapUI?
27 tixis
 
04.11.14
07:38
(25) а пользователь обязателен?
28 Escander
 
04.11.14
07:39
ТС у тебя вообще http-запросы ведь? тогда по норме долженен быть вебсервис, у вебсервиса и функция... НЕВИЖУ В УПОР!!!
29 Escander
 
04.11.14
07:39
(27) если в базе нет пользователей - тогда и без них, но в практическом решении разве такое возможно?
30 Escander
 
04.11.14
07:43
не силён в фабриках, поправьте если ошибаюсь...
всё описалово пакета ХДТО - это описалово для сериализации/денсериализации ХДТО (у ХМЛ по другому несколько). Это указание про то как транслировать данные, на обслуживающей стороне нужен веб-серсив обрабатывающий входящие запросы.
31 tixis
 
04.11.14
07:45
(29) я пока только осваиваю веб сервисы, первое что начал делать, так  что пока пользователей нет и конкретно в этой базе и не будет, да и конфигурация дальше дома никуда не пойдет)))
(28) не знаю правильно ли я понял про http-запросы, но вроде нет такого, там чтение и запись xml
32 tixis
 
04.11.14
07:51
может кто глянет конфу с  диска , https://yadi.sk/d/MqbyfFJIcUVGp , там правда в общей команде обмен айпишник надо под свой перебить. Не могу я понять что не так. Как в (14) попробую, но может кто сможет сказать что с конфой из книги не так? Хотя наверное там все правильно и что это я что то не так делаю...
33 abbas
 
04.11.14
07:53
(32) Не получается скачать...
34 tixis
 
04.11.14
07:54
+(32) у меня апач на х64 винде
35 tixis
 
04.11.14
07:54
(33) ща перезалью еще
36 tixis
 
04.11.14
07:56
перезалил http://dropmefiles.com/VwRRW
37 tixis
 
04.11.14
07:57
на всякий случай еще одно зеркало http://файлообменник.рф/n4002g7gn5ou.html
38 abbas
 
04.11.14
08:07
(37) Данная конфа где стоит на сервере или на мобиле???
39 tixis
 
04.11.14
08:59
(38) конца стоит и на сервировке и на могиле, веб сервис не находится ни там ни там
40 tixis
 
04.11.14
09:01
Конфа, блин с мобилы пишу
41 abbas
 
04.11.14
09:13
ты должен подключиться к серверу, где она опубликована на
ВСОпределение  = Новый WSОпределения("http://ххх.ххх.ххх.ххх/уууууууууууууууууууу.1cws?wsdl","Пользователь","Пароль";);

затем ты должен получить вебсервис(который создан на сервере)
  ВСервис      = ВСОпределение.Сервисы.Получить("DataTransfer","ОбменДанными"); // где URI пространство имен - DataTransfer и имя вебсервиса ОбменДанными
  ВТочкаВхода  = ВСервис.ТочкиПодключения.Получить("ОбменДаннымиSoap");
  ВОперация      = ВТочкаВхода.Интерфейс.Операции.Получить("ВыполнитьОбмен");   // - это и есть операция
    
и это все на мобиле...
42 abbas
 
04.11.14
09:18
43 abbas
 
04.11.14
09:19
44 tixis
 
04.11.14
09:30
Кто нибудь скачивал дтшник, работает?
45 tixis
 
04.11.14
09:33
(41) я подключаются к серверу где опубликован веб сервис но не могу обратиться к этому вебсервису, его как будто нет
46 tixis
 
04.11.14
09:36
Я сейчас уйду в деревню, буду только вечером, если появятся какие мысли пишите, вечером все проверю, если не хватает описания то глянте базу которую я выложил(если конечно вам не сложно)
47 Escander
 
04.11.14
16:19
(37) ну и порнозеркало!!!

и ещё, предложение скачать ехе вместо дт - это провокация за которою в морду бьют
48 Escander
 
04.11.14
16:34
(44) посмотрел... и?
сделай как указано в (14)
и всё-же не морочь голову своими кириллическими литералами!
Замени "WebОбен" ну пусть на WebChange и "ВыполнитьОбмен" на ExecChange. Так-же придумай вменяемые имена параметрам на инглише... остальное согласно (14).


кроме того рекомендую при вебпубликации сервиса установить разрешение отладки + после публикации перезапустить ручками апач...

после этого для проверки зайди на
"http://192.168.0.103/WebОбен/ws/ВыполнитьОбмен.1cws?wsdl";
должен увидеть что-нить этакое
49 tixis
 
04.11.14
20:17
(47) это в какой ссылке предложение скачать exe?
50 tixis
 
04.11.14
20:23
(48) посмотрел, а результат? получилось завести? это демо конфа с диска, если только у меня не работает, то это мои руки кривы, если конфа впринцыпе не работает, то чему хотят научить в этой книге?
сейчас попробую убрать кирилицу и сделать как в 14
+(47) у меня по всем ссылкам именно дт-шник, где вы нашли екзешник?
51 tixis
 
04.11.14
20:50
(48) Спасибо те большое добрый человек, после того как убрал всю кирилицу все заработало.
52 Escander
 
05.11.14
08:01
(51)а в книжке было всё на кириллице?
53 tixis
 
05.11.14
10:52
(52)Там смешано, у меня изначально было все как в книжке, (WebОбмен,ВыполнитьОбмен)
54 Escander
 
05.11.14
13:38
(53)забавная книжка... не без приколов.
55 DitriX
 
06.11.14
22:04
Да, книга та реально забавная, а вообще - найди курсы по мобильной платформе на курсы-по-1с.рф и там есть бесплатный тренинг, вот там и рассказано про все, что нужно знать. Посмотри 2 модуль, вроде там про веб-сервисы,настройки, отладку и т.д.
Точно не помню