Имя: Пароль:
1C
 
Соединение к веб сервису долго работает
,
0 wmzdeadman
 
02.04.15
09:28
Привет! Столкнулся с проблемой - динамическая ссылка долго поднимает соединение. Статика работает отлично. В замере производительности эти две строки долго отрабатывают:
Определения = Новый WSОпределения(Адрес); // 3 секунды
Соединение = Новый WSПрокси(Определения, "InfoCard", "InfoCard", "InfoCardSoap");
Возврат Соединение.Ping(); // 2 секунды

веб сервер стоит апач. все настройки по дефолту, работа в локалхосте -
1 wmzdeadman
 
02.04.15
09:29
2 wmzdeadman
 
02.04.15
09:38
на всякий случай отключил Карспера - не помогло, правда еще работает ISA клиент
3 wmzdeadman
 
02.04.15
09:56
Отрубил ISA не помогло, также 5 секунд получаю ответ от базы, обе базы работают на платформе 8.3.5.1460
База которая посылает пинг работает под совместимостью 8.1, база которая отвечает - под совместимостью интерфейса 8.2 Разрешить Такси (не знаю уж насколько это важно в данной проблеме)
4 Fragster
 
гуру
02.04.15
10:01
модуль сеанса глянь, может там тормоза?
5 EugeniaK
 
02.04.15
10:01
(0) Храни ws ссылку в конфигурации
Иначе система каждый раз ее перечитывает и анализирует сервисы.
6 Ma3eIIa
 
02.04.15
10:04
(5) не всегда так можно. я так же получаю ее в инете. и норм работает. может тупит сеть
7 wmzdeadman
 
02.04.15
10:11
(5) Да так работает блестяще, но мне важно использовать динамическую ссылку.
8 wmzdeadman
 
02.04.15
10:13
(4) в модуль сеанса вообще пустой во обеих базах.
9 wmzdeadman
 
02.04.15
10:14
(6) да тоже грешу на сеть, однако это же локалхост, как тут по идее можно тупить....
10 Лефмихалыч
 
02.04.15
10:18
(0) так и должно быть. Если ссылка динамическая, то прежде чем что-то делать, надо скачать и распарсить wdsl. Когда ссылка статическая, тогда ни чего качать и парсить не надо - всё уже известно.
11 wmzdeadman
 
02.04.15
10:18
какая то плавающая производительность - теперь по секунде отрабатывает на определение сервиса и на метод пинг
12 Дык ё
 
02.04.15
10:18
(7) если вопрос только в ссылке, а контракт относительно статичный, сделай что-то вроде

wsdl = ПолучитьОбщийМакет("wsdl").ПолучитьТекст();
wsdl = СтрЗаменить(wsdl, "%EndPoint%", ТочкаВхода);
ТочкаВходаwsdl = ПолучитьИмяВременногоФайла("xml");
Текстwsdl = Новый ТекстовыйДокумент;
Текстwsdl.УстановитьТекст(wsdl);
Текстwsdl.Записать(ТочкаВходаwsdl);

Определения = Новый WSОпределения(ТочкаВходаwsdl);

УдалитьФайлы(ТочкаВходаwsdl);
13 wmzdeadman
 
02.04.15
10:19
Да я согласен с вами (10) только не 5 секунд же ждать в динамике и 1 секунду при статике.
14 Лефмихалыч
 
02.04.15
10:19
(11) засунь ссылку в конфу да и не делай мозгов
15 Лефмихалыч
 
02.04.15
10:19
(13) у тебя есть то, что есть, причитать и возмущаться бессмысленно, т.к. это ни чего не даст
16 wmzdeadman
 
02.04.15
10:21
(15) здесь речь не о причитании и возмущении, а о причинах, которые я так для себя и не выяснил, а хранить ссылку в конфе не всегда удобно.
17 wmzdeadman
 
02.04.15
10:23
(15) а есть у меня плавающее время чтения wsdl схемы от 1 до 3 секунд на локалхосте
18 wmzdeadman
 
02.04.15
10:25
где то на форуме видел совет изменить порты у апача с дефолтных
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший