Коллеги, добрый день!
Проблема такая:
есть самописная конфигурация. Есть предоставляемые ею веб-сервисы, с помощью которых мобильные пользователи обмениваются данными. Конфигурация живет в локальной сети на компьютере по имени Server. Снаружи эта конфигурация и ее сервисы были доступны по имени company.ru и все работало.
После обновления платформы до 8.3.5.1146 стали звонить пользователи и жаловаться, что при попытке обмена данными через веб-сервис они получают сообщение об ошибке. "Не могу определить адрес хоста Server". Стал разбираться - руками открыл описание веб-сервиса, которое отдает сервер, по адресу http://company.ru/bbs/ws/exchange.1cws?wsdl В конце файла описания нашел такую строку:
То есть сервер в описании сервиса выдает внутреннее имя.
Дальше наступило долгое общение с техподдержкой 1С. Техподдержка предложила в файле описания каталога веб-сервера default.vrd поменять параметр Адрес базы - вместо ib="Srvr="Server";Ref="bbs";" прописать ib="Srvr="company.ru";Ref="bbs";". Естественно, что ничего так и не заработало.
Вопрос:
Может ли кто-нибудь подсказать, как можно решить такую проблему? Чтобы сервер возвращал имя такое, какое требуется?
У меня точно такая же проблема. Есть мобильное приложение, есть веб-сервис опубликованный на IIS и в WSDL-схеме в теге soapbind:address location указывается локальный адрес физического сервера (имя доступное по сети).
У вас была похожая проблема, может быт вы уже нашли способы ее решения?
Попробуй поставить ip адрес, когда настраивал с доменным именем возникали проблемы, по ip работает идеально. soapbind:address location="http://37.194.182.176:8080/......
(2) DeniNikitin, я, конечно, извиняюсь, но вся проблема как раз в этом:
КАК поставить Ip-адрес?
Описание сервиса возвращает сам сервис по http ссылке.
В этом описании он пишет свое внутреннее имя.
Если Вы расскажете, как заставить 1С вместо имени в описании сервиса возвращать адрес - я таким же макаром заставлю его и нужное мне имя возвращать.
(5) DeniNikitin, что-то я никакого смысла не вижу.
Компьютер имеет внутренний адрес 192.168.1.1, и внешний - 193.232.88.20
Когда я обращаюсь по ссылке с адресом я получаю в описании сервиса внутреннее имя сервера в ссылке. Не адрес, а именно имя.
Так что предложение не катит.
(8) DeniNikitin, Странно, мне всегда приходится указывать, типа wsisapi лежит в одном релизе а сервер уже работает на другом, и ошибки из-за этого пока не поменяешь
(9)Здравствуйте! Можете подсказать как это сделать? Еще я наверно при установке новой платформы не установила расширения для вэбсервисов, т.к. данного файла не вижу в каталоге BIN новой платформы.
Мы тут долго будем гадать.
В студию:
1) Реальное название доступа к сервису (имя сервера как указано в DNS провайдера, хостера и т.д.)
2) Локальное имя сервера как указано на самом компе, и(или) в локальном DNS
3) Кто ВЕБ-сервер (IIS или Apache)
4) Содержание файла default.vrd в опубликованном каталоге.
6) Неплохо бы и на настройки virtualhosts веб-сервера посмотреть
Но как правило если сервер по адресу подключения выдает подобную инфу
Значит что не идет отработка файла *.vrd т.е. модуль веб-сервиса от 1С не подхватился самим веб-серверов, либо
некорректные настройки пути до модуля(библиотеки).
А WSDL-ку сайт(веб-сервер) может и кешевую показывать.
З.Ы. Реальные названия, везде можешь заменить, но только заменять соответственно! Что бы проверить корректность настроек.
(13) ture, при обращении внтури локальной сети все работает.
Проблема возникает когда пытаюсь обратиться по внешнему IP, описание веб сервиса доступно, но в самом описании ошибка:
<soapbind:address location="http://ВНУТРЕННИЙ АДРЕС ЛОКАЛЬНОЙ СЕТИ/База/ws/ВебСервис.1cws"/>
(15) если из локальной сети работает, значит все норм в связке.
Отвечает ли вебсервер наружу этой базой?
Слушает ли внешние ip?
Как аутентификация выполняется? просто впиши в файл vrd юзака, если нет желания морочиться с доменным входом.
(17) ture, Сама база видна извне, вход у меня прописан под определенным пользователем, веб интерфейс работает.
Проблема с веб сервисом, его описание тоже доступно, но судя по всему в самом описании ошибка, в нем указывается ссылка на локальное имя внутри сети.
При обращении клиента (мобильное приложение на платформе 8.3.5.96) к веб сервису выдается ошибка:
Ошибка работы с Интернет: Couldn't resolve host name
По внутреннему IP пробовал, никакой разницицы.
По внешнему при попытке зайти в конфигуратор выдает ошибку "Ошибка при выполнении операции с информационной базой"
Ситуация:
Есть прокси-сервер (nginx). Он торчит в интернет. (машина1)
Есть сервер, на котором опубликованы базы 1С. У него нет доступа к интернету. (машина2).Внутренний ip 192.168.0.7
Прокси-сервер запросы к базам 1С отправляет на машину1. В результате базы 1С доступны из интернета.
Публикую веб-сервис в одной из баз. wsdl доступна из интернета. 1С-"клиент" из интернета успешно формирует ws ссылку.
Проблема.
При попытке обратиться к любому методу веб-сервиса 1С-"клиент" сообщает об ошибке работы с интернетом.