Неработоспособность веб-сервисов после обновления на 8.3.5.1146

1. Zebar 69 02.12.14 13:07 Сейчас в теме
Коллеги, добрый день!
Проблема такая:
есть самописная конфигурация. Есть предоставляемые ею веб-сервисы, с помощью которых мобильные пользователи обмениваются данными. Конфигурация живет в локальной сети на компьютере по имени Server. Снаружи эта конфигурация и ее сервисы были доступны по имени company.ru и все работало.

После обновления платформы до 8.3.5.1146 стали звонить пользователи и жаловаться, что при попытке обмена данными через веб-сервис они получают сообщение об ошибке. "Не могу определить адрес хоста Server". Стал разбираться - руками открыл описание веб-сервиса, которое отдает сервер, по адресу http://company.ru/bbs/ws/exchange.1cws?wsdl
В конце файла описания нашел такую строку:

<service name="Exchange">
<port name="ExchangeSoap" binding="tns:ExchangeSoapBinding">
<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://server/bbs/ws/exchange.1cws"/>
</port>
<port name="ExchangeSoap12" binding="tns:ExchangeSoap12Binding">
<soap12bind:address location="http://server/bbs/ws/exchange.1cws"/>
</port>
</service>

То есть сервер в описании сервиса выдает внутреннее имя.

Дальше наступило долгое общение с техподдержкой 1С. Техподдержка предложила в файле описания каталога веб-сервера default.vrd поменять параметр Адрес базы - вместо ib="Srvr="Server";Ref="bbs";" прописать ib="Srvr="company.ru";Ref="bbs";". Естественно, что ничего так и не заработало.

Вопрос:
Может ли кто-нибудь подсказать, как можно решить такую проблему? Чтобы сервер возвращал имя такое, какое требуется?
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
19. beautany 07.12.15 09:21 Сейчас в теме
(1) Zebar, (18) TiPS, Добрый день, коллеги!

У меня точно такая же проблема. Есть мобильное приложение, есть веб-сервис опубликованный на IIS и в WSDL-схеме в теге soapbind:address location указывается локальный адрес физического сервера (имя доступное по сети).
У вас была похожая проблема, может быт вы уже нашли способы ее решения?
2. DeniNikitin 36 02.12.14 15:52 Сейчас в теме
Попробуй поставить ip адрес, когда настраивал с доменным именем возникали проблемы, по ip работает идеально. soapbind:address location="http://37.194.182.176:8080/......
4. Zebar 69 02.12.14 16:54 Сейчас в теме
(2) DeniNikitin, я, конечно, извиняюсь, но вся проблема как раз в этом:
КАК поставить Ip-адрес?

Описание сервиса возвращает сам сервис по http ссылке.
В этом описании он пишет свое внутреннее имя.
Если Вы расскажете, как заставить 1С вместо имени в описании сервиса возвращать адрес - я таким же макаром заставлю его и нужное мне имя возвращать.
5. DeniNikitin 36 02.12.14 18:26 Сейчас в теме
(4) Zebar,
1. У тебя у провайдера есть ip адрес, который ты можешь узнать на 2ip.ru
2. Настраиваешь apache или IIS? для доступа из вне (я сделал с помощью маршрутизатора)
3. Публикуешь как обычно например: C:\www\WEBService\
4. После чего вводишь ссылку в браузере к примеру http://37.194.182.176:8383/WEBService/ws/ОбменДанными.1cws(имя твоего web сервиса), у меня в google chrome открывается ссылка на xml файл открываешь!
5. После открытия копируешь ссылку в адресной строке получиться пример: http://37.194.182.176:8383/WEBService/ws/%D0%9E%D0%B1%D0%BC%D0%B5%D0%BD%D0%94%D0%B­0%D0%BD%D0%BD%D1%8B%D0%BC%D0%B8.1cws?wsdl
6. И если используешь ws-ссылку, то проставляешь ей строку из пункта 5

ГОТОВО!
6. Zebar 69 03.12.14 17:01 Сейчас в теме
(5) DeniNikitin, что-то я никакого смысла не вижу.
Компьютер имеет внутренний адрес 192.168.1.1, и внешний - 193.232.88.20
Когда я обращаюсь по ссылке с адресом я получаю в описании сервиса внутреннее имя сервера в ссылке. Не адрес, а именно имя.
Так что предложение не катит.
3. DeniNikitin 36 02.12.14 15:53 Сейчас в теме
А также если используешь WS-Ссылки в конфигураторе обнови их бывают слитают!
7. Zixxx 03.12.14 17:38 Сейчас в теме
Так после обновления платформы нужно же указывать расположение до нового wsisapi.dll
8. DeniNikitin 36 03.12.14 19:51 Сейчас в теме
(7) Zixxx,
Не знаю у себя ничего не указывал! Всё само прописалось!
9. Zixxx 03.12.14 20:54 Сейчас в теме
(8) DeniNikitin, Странно, мне всегда приходится указывать, типа wsisapi лежит в одном релизе а сервер уже работает на другом, и ошибки из-за этого пока не поменяешь
28. taasha25 13 27.02.19 09:28 Сейчас в теме
(9)Здравствуйте! Можете подсказать как это сделать? Еще я наверно при установке новой платформы не установила расширения для вэбсервисов, т.к. данного файла не вижу в каталоге BIN новой платформы.
10. bzmax 03.12.14 23:49 Сейчас в теме
Мы тут долго будем гадать.
В студию:
1) Реальное название доступа к сервису (имя сервера как указано в DNS провайдера, хостера и т.д.)
2) Локальное имя сервера как указано на самом компе, и(или) в локальном DNS
3) Кто ВЕБ-сервер (IIS или Apache)
4) Содержание файла default.vrd в опубликованном каталоге.
6) Неплохо бы и на настройки virtualhosts веб-сервера посмотреть

Но как правило если сервер по адресу подключения выдает подобную инфу

Значит что не идет отработка файла *.vrd т.е. модуль веб-сервиса от 1С не подхватился самим веб-серверов, либо
некорректные настройки пути до модуля(библиотеки).

А WSDL-ку сайт(веб-сервер) может и кешевую показывать.

З.Ы. Реальные названия, везде можешь заменить, но только заменять соответственно! Что бы проверить корректность настроек.
11. TiPS 12.05.15 12:02 Сейчас в теме
Коллеги, добрый день!
У меня точно такая же ситуация...
Получилось в итоге решить проблему?
12. alexx2510 38 12.05.15 12:15 Сейчас в теме
базу 1С подключите по ip адресу, а не по внутреннему короткому имени сервера, и заново опубликуйте веб-сервисы.
13. ture 608 12.05.15 12:19 Сейчас в теме
После обновления платформы до 8.3.5.1146
надо указать какую ewbсерверу другую dll (новой версии)
15. TiPS 12.05.15 12:35 Сейчас в теме
(13) ture, при обращении внтури локальной сети все работает.
Проблема возникает когда пытаюсь обратиться по внешнему IP, описание веб сервиса доступно, но в самом описании ошибка:

<soapbind:address location="http://ВНУТРЕННИЙ АДРЕС ЛОКАЛЬНОЙ СЕТИ/База/ws/ВебСервис.1cws"/>
17. ture 608 12.05.15 13:57 Сейчас в теме
(15) если из локальной сети работает, значит все норм в связке.
Отвечает ли вебсервер наружу этой базой?
Слушает ли внешние ip?
Как аутентификация выполняется? просто впиши в файл vrd юзака, если нет желания морочиться с доменным входом.
18. TiPS 12.05.15 14:09 Сейчас в теме
(17) ture, Сама база видна извне, вход у меня прописан под определенным пользователем, веб интерфейс работает.
Проблема с веб сервисом, его описание тоже доступно, но судя по всему в самом описании ошибка, в нем указывается ссылка на локальное имя внутри сети.

При обращении клиента (мобильное приложение на платформе 8.3.5.96) к веб сервису выдается ошибка:
Ошибка работы с Интернет: Couldn't resolve host name
14. TiPS 12.05.15 12:27 Сейчас в теме
По внутреннему IP пробовал, никакой разницицы.
По внешнему при попытке зайти в конфигуратор выдает ошибку "Ошибка при выполнении операции с информационной базой"
16. TiPS 12.05.15 13:51 Сейчас в теме
Кстати, использую для публикации:
платформу 8.2.17.157 + самописаня база
Серевер на WS R2 2008 + IIS 7.5
20. Alien_job 190 21.06.18 19:01 Сейчас в теме
21. Online-Ufa 21.06.18 22:04 Сейчас в теме
(20) три года прошло, ваша проблема наверняка по другой причине
22. пользователь 22.06.18 10:37
Сообщение было скрыто модератором.
...
23. пользователь 22.06.18 10:48
Сообщение было скрыто модератором.
...
24. Alien_job 190 22.06.18 10:49 Сейчас в теме
(21) А по существу проблемы есть что сказать?

Ситуация:
Есть прокси-сервер (nginx). Он торчит в интернет. (машина1)
Есть сервер, на котором опубликованы базы 1С. У него нет доступа к интернету. (машина2).Внутренний ip 192.168.0.7
Прокси-сервер запросы к базам 1С отправляет на машину1. В результате базы 1С доступны из интернета.

Публикую веб-сервис в одной из баз. wsdl доступна из интернета. 1С-"клиент" из интернета успешно формирует ws ссылку.

Проблема.
При попытке обратиться к любому методу веб-сервиса 1С-"клиент" сообщает об ошибке работы с интернетом.
25. Alien_job 190 22.06.18 10:50 Сейчас в теме
service name="Webservice"
port name="Webservice Soap" binding="tns:Webservice SoapBinding"
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://192.168.0.7/basename/ws/Webservice .1cws"/
/port
port name="Webservice Soap12" binding="tns:Webservice Soap12Binding"
soap12bind:address location="http://192.168.0.7/basename/ws/Webservice .1cws"/
/port
/service
26. pirat123457 90 17.11.18 13:09 Сейчас в теме
Получилось решить проблему?
27. etc 30.11.18 16:30 Сейчас в теме
Если в качестве прокси сервера выступает апач то на проксе:
ProxyPreserveHost On
29. sm2701 102 17.04.20 15:38 Сейчас в теме
(27), а если в качестве прокси выступает nginx, то nginx'е:
proxy_set_header Host $host;

location /mobile1c/ {
proxy_set_header Host $host;
proxy_pass http://192.168.1.100/Base1C/ws/;
}
Оставьте свое сообщение

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