Доступ к Web-сервису из мобильного приложения.

1. Геннадьевич 20 09.05.19 04:47 Сейчас в теме
Доступ к web-сервису настроен через порт по адресу типа: "http://myhost.ru:8000/test_UT/ws/MobileCTO.1cws?wsdl
При публикации мобильного приложения в созданном xml в разделе "soapbind:address" сохраняется адрес без порта.
<service name="MobileCTO">
- <port name="MobileCTOSoap" binding="tns:MobileCTOSoapBinding">
- <documentation>
  <wsi:Claim xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/" conformsTo="http://ws-i.org/profiles/basic/1.1" /> 
  </documentation>
  <soapbind:address location="http://myhost.ru/test_UT/ws/MobileCTO.1cws" /> 
  </port>
- <port name="MobileCTOSoap12" binding="tns:MobileCTOSoap12Binding">
  <soap12bind:address location="http://myhost.ru/test_UT/ws/MobileCTO.1cws" /> 
  </port>
  </service>
Показать

Само приложение запускается, обновляется и работает нормально. В месте, где идёт обращение к сервису приложение зависает выдаёт ошибку
При вызове веб-сервиса произошла ошибка. Ошибка вызова операции сервиса: {http://MobileCTO}:MobileCTO:GetRequest()
по причине:
При вызове веб-сервиса произошла ошибка. Неизвестная ошибка. Ошибка работы с Интернет: Превышено время ожидания
по причине:
Ошибка работы с Интернет: Превышено время ожидания


Если прописать порт руками в xml файл - всё работает.

Что может быть не так? Может настройка где стоит не та? Может можно обойти?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
7. avk72 79 27.05.19 12:36 Сейчас в теме +1 $m
Попробуйте в конфигурации, в месте, где идет обращение к веб-сервису явно прописать порт.

Подсмотрено здесь.

Процедура ПолучитьДанныеНаСервере(Клиент)
    // Создать WS-прокси на основании ссылки и выполнить операцию Получить()
    Определение = Новый WSОпределения("http://myhost.ru:8000/test_UT/ws/MobileCTO.1cws?wsdl",Логин,Пароль);
    
    Прокси = Новый WSПрокси(Определение,<URI для ХДТО>, "MobileCTO", "MobileCTOSoap");       
            
    Данные = Прокси.GetRequest();

КонецПроцедуры
Показать
SagittariusA; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. SagittariusA 24.05.19 13:59 Сейчас в теме
Думаю таковых настроек нет, так как файл сама платформа генерирует. Может попробовать под другой версией?
У меня была проблема при публикации, когда платформа драйвера криво формировала.
3. Геннадьевич 20 27.05.19 07:09 Сейчас в теме
(2) Пробовал на разных платформах - результат один.
Что за проблема с драйверами? Пытаюсь настроить мобильную кассу от 1С. При публикации драйвера на оборудование не устанавливаются, а собранное приложение не запускается. Не могу понять что не так. Если есть опыт посмотрите пост - https://forum.infostart.ru/forum92/topic218216/
4. SagittariusA 27.05.19 11:27 Сейчас в теме +1 $m
(3)
С драйверами думаю это поможет. А вот по сборке не подскажу, опыт только в работе через публикации.
5. SagittariusA 27.05.19 11:28 Сейчас в теме
А у вас получается в конфигурации сразу зашит путь на web-сервис, который в другой базе?
6. Геннадьевич 20 27.05.19 12:34 Сейчас в теме
(5)
Не совсем понял вопрос, но отвечу. Я использовал WS-ссылки. Создаётся ссылка и потом из любого места конфигурации через неё обращаемся к web-сервису.
Прокси = WSСсылки.MyWeb.СоздатьWSПрокси(...
7. avk72 79 27.05.19 12:36 Сейчас в теме +1 $m
Попробуйте в конфигурации, в месте, где идет обращение к веб-сервису явно прописать порт.

Подсмотрено здесь.

Процедура ПолучитьДанныеНаСервере(Клиент)
    // Создать WS-прокси на основании ссылки и выполнить операцию Получить()
    Определение = Новый WSОпределения("http://myhost.ru:8000/test_UT/ws/MobileCTO.1cws?wsdl",Логин,Пароль);
    
    Прокси = Новый WSПрокси(Определение,<URI для ХДТО>, "MobileCTO", "MobileCTOSoap");       
            
    Данные = Прокси.GetRequest();

КонецПроцедуры
Показать
SagittariusA; +1 Ответить
8. SagittariusA 27.05.19 16:13 Сейчас в теме
11. Геннадьевич 20 28.05.19 14:16 Сейчас в теме
(7)
Вроде бы работает, по крайней мере есть прогресс.
Теперь не проходит авторизацию.
9. SagittariusA 27.05.19 16:14 Сейчас в теме
А вообще лучше вынести эти адреса в настройки, а потом уже итоговый адрес собирать из частей. Вдруг потом у вас адрес или порт поменяется.
vsesam80; +1 Ответить
10. vsesam80 27.05.19 20:01 Сейчас в теме
(9)Так и есть. Сделать константу для адреса и порта. особенно если с дин днс работать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот