|
Обмен мобильного приложения с базой 1с | ☑ | ||
---|---|---|---|---|
0
IT_PROGRAMMIST
18.02.15
✎
15:54
|
Добрый день.
Коллеги подскажите. Написал простенькое мобильное приложение. Организовал обмен между мобильным приложением и базой 1с. Задача следующая: из мобильного приложение выполнять поиск товара в основной базе по штрихкоду. Задачу выполнил, но товар ищется около 1 минуты. Вот код подключения к основной базе из мобильного приложения при поиске(именно на нем так долго думает): Определение = Новый WSОпределения("http://10.0.2.2/mobileUt10_3/ws/ws1.1cws?wsdl",ИмяПользователя,Пароль); URI = "http://localhost/ws1"; Прокси = Новый WSПрокси(Определение,URI,"MyExchange","MyExchangeSoap"); Прокси.Пользователь = ИмяПользователя; Прокси.Пароль = Пароль; Прокси.МояФункция(КодНоменклатуры) Я что-то не так делаю? Поиск 1 минуту - это очень много. И так при каждом поиске. Сохранить прокси для последующего использования у меня не получилось. Где ее хранить можно? |
|||
1
Loki Evil
18.02.15
✎
15:56
|
Попробуй использовать недефолтный порт
|
|||
2
Loki Evil
18.02.15
✎
15:58
|
Т.е. у нас за секунду-две в сторону базы вылетает с 10-ок заказов с 2-10 строками товаров, контрагентами, магазинами и проч, все это добро сопоставляется и загружается в базу и возвращается ответ, что да, мол, загружено
До смены порта было то 2 секунды то 10 минут |
|||
3
IT_PROGRAMMIST
18.02.15
✎
15:59
|
(1) а как его поменять?
|
|||
4
Loki Evil
18.02.15
✎
16:05
|
(3)
1) в настройках апача (ini-файл, дефолт порт 80) 2) на мобильном приложении - после имени\адреса сервера ":55515" 3) в WS-ссылке - точно также после имени\адреса сервера добавляем порт, в нашем случае это ":55515" пример ws-ссылки http://xx.xxx.x.xxx:55515/XXXX/ws/obmendan.1cws?wsdl |
|||
5
Широкий
18.02.15
✎
16:06
|
минута на прокси или на работу твоей процедуры?
|
|||
6
IT_PROGRAMMIST
18.02.15
✎
16:10
|
(5) на прокси
|
|||
7
Широкий
18.02.15
✎
16:16
|
(6) Как определил?
|
|||
8
Широкий
18.02.15
✎
16:18
|
Навскидку:
Определение = Новый WSОпределения("http://10.0.2.2/mobileUt10_3/ws/ws1.1cws?wsdl"" target="_blank" rel="nofollow" class="extralink">http://10.0.2.2/mobileUt10_3/ws/ws1.1cws?wsdl" ; <-- как это? ,ИмяПользователя,Пароль); |
|||
9
Широкий
18.02.15
✎
16:21
|
АдресWS="http://10.0.2.2/mobileUt10_3/ws/ws1.1cws?wsdl";
ПользовательWS=ИмяПользователя; ПарольWS=Пароль; Попытка WSОпределения=Новый WSОпределения(АдресWS,ПользовательWS,ПарольWS,,30); WSСервис=WSОпределения.Сервисы[0]; WSПрокси=Новый WSПрокси(WSОпределения,WSСервис.URIПространстваИмен,WSСервис.Имя,WSСервис.Имя+"Soap",,30); WSПрокси.Пользователь=ПользовательWS; WSПрокси.Пароль=ПарольWS; Исключение Возврат Новый Структура("ОписаниеОшибки",КраткоеПредставлениеОшибки(ИнформацияОбОшибке())); КонецПопытки; |
|||
10
Loki Evil
18.02.15
✎
16:29
|
(4) на всякий случай добавлю - в настройках апача нужно тоже указывать порт, который вы выбрали, в нашем случае 55515
|
|||
11
IT_PROGRAMMIST
18.02.15
✎
16:31
|
(5) не чисто на прокси, скорее на полное выполнение операции.
(9) у меня адрес такой же.Это на форуме чего-то добавилось. (10) под настройками апача имеется файл httpd? |
|||
12
IT_PROGRAMMIST
18.02.15
✎
16:34
|
(2) перенастроил апач на другой порт. Все равно долго думает.
(9) сделал также -не помогло. Для справки: Прокси.МояФункция(КодНоменклатуры) просто выполняется код Ссылка = Справочники.Номенклатура.НайтиПоКоду(КОд); Если Ссылка<> ПустаяСсылка тогда Возврат Ссылка.Наименование; КонецЕсли ВОзврат ""; |
|||
13
Loki Evil
18.02.15
✎
16:36
|
(12) жаль, у нас решило проблему полностью
|
|||
14
Широкий
18.02.15
✎
16:37
|
А если переделать кода на
возврат "хей" без поиской и т.д. = сколько выполняется? |
|||
15
Loki Evil
18.02.15
✎
16:37
|
(11) httpd.conf - да
Listen 55515, в нашем случае |
|||
16
Широкий
18.02.15
✎
16:39
|
(15) На кой ляд ему вешать все на 55515 порт?
|
|||
17
IT_PROGRAMMIST
18.02.15
✎
16:42
|
(16) я повесил на 1550
(14) сделал обычный код возврат "давай работай"(без поиска); По времени столько же. |
|||
18
Loki Evil
18.02.15
✎
17:11
|
(16) это просто пример 100% свободного порта от всяких там других программ
|
|||
19
IT_PROGRAMMIST
18.02.15
✎
17:52
|
может нужно запоминать данные по Прокси, и в последующих поисках не проводить авторизацию заново?
|
|||
20
DitriX
18.02.15
✎
18:06
|
(0)Как я люблю, когда люди не дают вводных данных :)
Ну ладно: 1. Проверьте скорость подключения из стационарной 1С, и сделайте четкий замер. 2. Сделайте через http сервисы :) |
|||
21
IT_PROGRAMMIST
19.02.15
✎
11:10
|
начал делать замер производительности.
Проверка работы мобильного приложения осуществлялась на 1) Эмуляторе Android sdk 2) Мобильном устройстве Вобщем в этой строке кода, система задумывается на 1 минуту: WSОпределения=Новый WSОпределения(АдресWS,ПользовательWS,ПарольWS,,30); Остальное работает моментально(прокси) В чем подвох?? |
|||
22
IT_PROGRAMMIST
19.02.15
✎
11:12
|
+(21)
ПользовательWS = "Федоров (администратор)"; ПарольWS = ""; АдресWS = "http://10.0.2.2:1550/mobileUt10_3/ws/ws1.1cws?wsdl"; |
|||
23
Широкий
19.02.15
✎
11:13
|
(21) Ну значит конфигурация тяжелая.
Долго загружается. |
|||
24
IT_PROGRAMMIST
19.02.15
✎
11:14
|
(23)
Данные для мобильного устройства тяну из конфигурации УТ 10.3(демо база) |
|||
25
IT_PROGRAMMIST
19.02.15
✎
11:26
|
+(24) сама конфигурация типовая - доработки лишь по web сервисам
|
|||
26
AquaMan
19.02.15
✎
11:29
|
Замени WSОпредление на WSСсылку
|
|||
27
IT_PROGRAMMIST
19.02.15
✎
11:32
|
(26) можете пример показать.
Просто с этим объектом работаю впервые. |
|||
28
AquaMan
19.02.15
✎
11:40
|
(27)Под рукой нету, создаешь в конфигурации объект WSСсылка и WSПрокси создавать по другому нужно будет: Прокси = WSСсылки.ТвояСсылка.СоздатьWSПрокси()
|
|||
29
DitriX
19.02.15
✎
22:32
|
(27) В дереве конфигурации - ищешь wsссыку, объект такой, в общих лежит, жмешь добавить, указываешь урл такой же как и тут, или без wsdl, не помню уже, и все.
А дальше читай справку, там особой разницы работы с ним нет, просто ты еще сейчас создаешь программно, а там можно будет пару шагов пропустить. Но учти, каждый раз изменяя веб-сервис - прийдется обновлять и вс-ссылку |
|||
30
IT_PROGRAMMIST
21.02.15
✎
00:19
|
Ребят не получается, чтобы заработала WSСсылка.
Что я делаю не так? Описываю процесс(проверка осуществляется на эмуляторе Андроид сдк на localhost(из андроида подключаюсь к ip 10.0.2.2)): Создал веб сервис в базе УТ 10.3, сделал публикацию(http://localhost/mobile). После этого добавил wsссылку в конфигурации мобильного приложения.Ссылка добавилась - все ок. Делаю вызов функции через WSСсылку. Пишу следующий код: Сервис = WSСсылки.WSСсылкаНаМоюБазу.СоздатьWSПрокси("http://localhost/ws1","MyExchange","MyExchangeSoap"); Ответ = Сервис.ПолучитьИнформациюОТоваре("1"); На мобильном устройстве пишет ошибку: Ошибка работы с Интернет:Connection to http://localhost refused. пробовал вместо localhost/ws1 писать 10.0.2.2/mobile(ip к которому подключается андроид сдк ) результат: Сервис не найден:{http://10.0.2.2/... |
|||
31
Либерал
21.02.15
✎
01:18
|
как минимум нильзя локалхост писать, на мобиле свой локалхост (если андроид вообще такой псевдоним понимает)
и проверь название/путь веб-сервиса в публикации, наверняка не то пишеш надо наверное как то типа http://10.0.2.2/ws/ws1 ?? не ?? |
|||
32
Либерал
21.02.15
✎
01:21
|
||||
33
Злопчинский
21.02.15
✎
01:57
|
(0) ищется обычно собака когда у нее блохи
|
|||
34
rphosts
21.02.15
✎
05:47
|
(0) отладчиком проверьте сколько времени производится непосредственно поиск на стороне стационарной базы.
|
|||
35
IT_PROGRAMMIST
21.02.15
✎
12:07
|
в мобильном приложении для доступа к веб сервису писал следующие ip
http://10.0.2.2/mobile/ws/ws1.1cws?wsdl http://10.0.2.2/mobile/ws http://10.0.2.2/mobile пишет Сервис не найден, блин что я пропустил? |
|||
36
Либерал
21.02.15
✎
13:26
|
попробуй так
http://10.0.2.2/mobile/ws/ws1?wsdl если у тебя база опубликована под именем mobile а веб-сервис опубликован под именем ws1.1cws и веб-сервис в дереве как MyExchange |
|||
37
Либерал
21.02.15
✎
13:29
|
а вообще сам себя путаешь - если MyExchange так и публикуй его как MyExchange а не как ws1
|
|||
38
rphosts
21.02.15
✎
13:33
|
(35) будь мужиком, начни отлаживать в эмуляторе !
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |