Публикация веб-сервисов 1C 8.2

39. пользователь 27.04.12 13:05
Сообщение было скрыто модератором.
...
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
40. MrUversky 02.12.13 10:30 Сейчас в теме
Файлик .1cws сформировал руками, положил в каталог веб-сервера. Пользователь и пароль информационной базы также прописаны в файле следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<service namespace="[NameSpace]" name="XxxxXxxxx" connectString="Srvr="[ServerNave]:[ServerPort]";Ref="[BaseName]";Usr="[User]";Pwd="[Password]";"/>


После указания данных пользователя пароль не запрашивается.
В предлагаемом тексте все переменные в [] заменить на свои, скобки убрать. В самом файле вместо " писал &quot;
41. _-serega-_ 15.11.09 15:31 Сейчас в теме
Здравствуйте!

На платформе 1С 8.1 настроен и опубликован на Апаче веб-сервис. Все прекрасно работает. Запускаю эту базу в 8.2, конвертирую, сохраняю, нажимаю "Публикация на веб-сервере", мне выдает: "Web серверы не обнаружены!", пробовал на нескольких серваках, где стоит и запущен Апач - везде такая ошибка. Подскажите, что не так делаю, или может кто даст пример httpd.conf для 1С 8.2 и файла .1cws, чтоб вручную опубликовать.
42. Душелов 4021 15.11.09 15:48 Сейчас в теме
Я взял файл 1cws от 8.1 и прописал путь к базе 8.2.
Все заработало.
43. Душелов 4021 15.11.09 15:49 Сейчас в теме
И, кстати, если я не ошибаюсь, на одном сервере одновременно веб-сервисы от 8.1 и 8.2 работать не будут.
44. Трактор 1265 15.11.09 18:21 Сейчас в теме
(3) не ошибаешься. Нужна два инстанса Апача. А физический сервер может быть один. Модули 1С, подключаемые к web серверу, между собой не совместимы.
45. _-serega-_ 15.11.09 18:54 Сейчас в теме
(2) допустим делаю также, в 1cws-файле меняю путь к базе 8.2, в конфиге апача прописываю путь до dll-ки 8.2, при запросе описания wsdl выскакивает окошко с пользователем и паролем

пример файла summary.1cws

<?xml version="1.0" encoding="UTF-8"?>
<service namespace="http://www.sample-package.org" name="СводкаПоРаботеПредприятия" connectString="File="D:\1c_bases\asudp_82";Usr="Администратор";Pwd="83456125375";"/>

httpd.conf
LoadModule _1cws_module "C:/Program Files/1cv82/8.2.9.356/bin/wsap22.dll"

Alias /ws "С:/wamp/www/ws"

<Location /ws >
DirectorySlash Off
SetHandler 1cws-process
Allow from all
</Location>

Платформа 8.2.9.356
46. Душелов 4021 15.11.09 18:56 Сейчас в теме
(5) Ну логично. Для использования веб-серверисов надо передавать имя и пароль пользователя.
47. Трактор 1265 15.11.09 18:59 Сейчас в теме
(5) ошибка тут: ;Usr="Администратор"
Имя должно писать только латиницей.
48. _-serega-_ 15.11.09 19:19 Сейчас в теме
(7)исправил Администратор на admin, есессно завел такого же пользователя в базе с тем же паролем, результат тот же самый, запрашивает имя пользователя и пароль....
49. Трактор 1265 15.11.09 19:45 Сейчас в теме
(8) у пользователя под которым работает Апач есть права на чтение и запись в D:\1c_bases\asudp_82 ?
50. _-serega-_ 15.11.09 19:54 Сейчас в теме
(9) да, есть, на папку D:\1c_bases\asudp_82 на вкладке "Безопасность", где "Все" стоят абсолютно все галочки, апач висит в системе от моего пользователя, т.е. от администратора
51. Трактор 1265 15.11.09 19:57 Сейчас в теме
(10) Должно работать. Проверки ради попробуй перевести в клиент-серверную версию.
52. _-serega-_ 15.11.09 20:12 Сейчас в теме
summary.1cws
<?xml version="1.0" encoding="UTF-8"?>
<service namespace="http://www.sample-package.org" name="СводкаПоРаботеПредприятия" connectString="File="D:\1c_bases\asudp_82";Usr="admin";Pwd="123";"/>

в строке браузера набираю http://xxxx/ws/summary.1cws?wsdl выскакивает запрос имени пользователя и пароля, ввожу admin, пароль 123, все нормально открывает. Может что-то неправильно здесь Usr="admin";Pwd="123";? попробую изменить что-нибудь
53. Трактор 1265 15.11.09 20:20 Сейчас в теме
Попробуй заменить " на & quot;
Мой файл в прикреплении.
При копировании & quot (без пробела) на форуме отображается как двойные кавычки.
Прикрепленные файлы:
tamias_dev.1cws
54. _-serega-_ 15.11.09 20:46 Сейчас в теме
(13) а у тебя версия тоже 8.2.9.356? уже по-моему все варианты перебрал, и полностью твой файл подставлял, изменял только название сервиса и путь, пока не выходит...
55. Трактор 1265 15.11.09 21:37 Сейчас в теме
(14) у меня дома нет 8.2, только 8.1. Завтра с работы выложу файл публикации.
Вообще-то в 8.2 1С отказалась от публикации с помощью файлов 1cws, но ведь работает.
56. _-serega-_ 16.11.09 05:52 Сейчас в теме
ок, буду ждать файл, заранее спасибо!
57. Душелов 4021 16.11.09 08:14 Сейчас в теме
Вот мои файлы с русскими буквами в пути.
Все работает.

Файлы
58. _-serega-_ 16.11.09 08:55 Сейчас в теме
(17) не, с русскими буквами понятно что работает. У меня проблема в том, что при запросе http://xxxx/ws/summary.1cws?wsdl запрашивает логин и пароль, хотя в файле summary.1cws прописана строка Usr="admin";Pwd="123";, естественно такой пользователь с таким паролем в базе есть
59. Душелов 4021 16.11.09 09:10 Сейчас в теме
(18) Логин и пароль чего? Точно на доступ к базе? Или на доступ к веб-серверу?
60. _-serega-_ 16.11.09 09:23 Сейчас в теме
(19) на доступ к базе. При запросе http://xxxx/ws/summary.1cws?wsdl выскакивает сообщение:

«http://ххххх.ru» запрашивает имя пользователя и пароль. Сайт говорит: «1C:Enterprise 8.2»

- и в этом окне еще два поля "Имя пользователя" и "Пароль", ввожу в эти поля "admin", пароль "123" (такой пользователь есть в базе 1С), все нормально, показывает описание wsdl.

Вся проблема в том и состоит, что в базе 8.1, не запрашивает логин и пароль когда в файле summary.1cws есть строка Usr="admin";Pwd="123";, а в базе 8.2 запрашивает...
61. Душелов 4021 16.11.09 09:31 Сейчас в теме
(20) Все правильно запрашивает. Так и надо.
62. Душелов 4021 16.11.09 09:33 Сейчас в теме
Попытка
	Прокси = WSСсылки.СправочникиЦС.СоздатьWSПрокси("http://www.sample-package.org", "Справочники", "СправочникиSoap");
Исключение
	Сообщить(ОписаниеОшибки());
	Возврат;
КонецПопытки;

Прокси.Пользователь = "яяяя";
Прокси.Пароль = "яяяя";
Показать


И все...
63. Душелов 4021 16.11.09 09:34 Сейчас в теме
На C#

var service = new Справочники.Справочники();
service.UseDefaultCredentials = false;
service.Credentials = new System.Net.NetworkCredential("яяяя", "яяяя");
64. _-serega-_ 16.11.09 09:43 Сейчас в теме
ок, спасибо! а на php не подскажешь?
65. Душелов 4021 16.11.09 09:57 Сейчас в теме
(24) На php - нет. Но там что-то подобное (23) должно быть.
66. coder1cv8 3481 16.11.09 10:09 Сейчас в теме
О! Друг по несчастью! )
У меня так и не получилось опубликовать Web-сервис, который крутится на 8.2.
Вроде разобрался и с правами, и с конфигурационным файлом Апача, и с публикацией... Но все что удалось добиться - это то что восьмерка говорит "апликейшн эрор" при попытке получить wsdl-описание сервиса! :(
Кстати! А вы в курсе, что публикация web-сервисов через файлы 1cws не поддерживается в 8.2? :)
67. _-serega-_ 16.11.09 10:10 Сейчас в теме
(25) спасибо огромное!!! будем разбираться
68. Душелов 4021 16.11.09 10:11 Сейчас в теме
(26) Не знаю, у меня все работает...
69. Душелов 4021 16.11.09 10:12 Сейчас в теме
70. _-serega-_ 16.11.09 10:14 Сейчас в теме
(26) не, у меня опубликовать получилось, но только вручную. все нормально работает, только запрашивает логин и пароль,

как я понял, необходимо при вызове web-сервиса передавать логин и пароль для соединения с базой 1с, но с этим пока еще не разобрался.

а насчет того что 1cws не поддерживается - это пошутили наверно :)
71. Трактор 1265 16.11.09 10:14 Сейчас в теме
(24) Пободался с анонимным доступом к 8.2. У меня тоже не вытанцовывается. Похоже прикрыли. Странно.
На всякий случай прикрепляю пример файла публикации 8.2 с web сервисом.


На пхп авторизованный доступ делается как-то так:
$Клиент1С = new SoapClient("http://localhost:8080/demo/ws/hello_vedmed.1cws?wsdl",
array('login' => 'lyay',
'password' => '123456',
'soap_version' => SOAP_1_2,
'cache_wsdl' => WSDL_CACHE_MEMORY, //WSDL_CACHE_NONE, WSDL_CACHE_NONE, WSDL_CACHE_DISK or WSDL_CACHE_BOTH
'exceptions' => 1,
'trace' => 1));


(21) >> Все правильно запрашивает. Так и надо.
Неправильно. В 8.1 анонимный доступ делался легко. Прописываешь имя/пароль в файле 1cws и настаёт счастье. В 8.2 прикрыли. Редиски.
Прикрепленные файлы:
default.vrd
72. coder1cv8 3481 16.11.09 10:22 Сейчас в теме
Прикольная шутка, в документации! ) И если публиковать из конфигуратора, то он vrd-файл создает и для базы, и для сервиса...
73. _-serega-_ 16.11.09 12:25 Сейчас в теме
(32) у меня вообще не дает опубликовать! пишет "Web-серверы не обнаружены" и хоть ты тресни, не обнаружены и все! хотя стоит апач и нормально работает
74. Трактор 1265 19.11.09 17:37 Сейчас в теме
Вот вопрос заданный на форуме 1С http://partners.v8.1c.ru/forum/thread.jsp?id=741481#741481 :
В версии 8.1 была чудесная возможность организовать анонимный доступ к web сервису для этого достаточно было прописать в файле 1cws имя и пароль пользователя. Вот так:
<?xml version="1.0" encoding="UTF-8"?> <service namespace="http://www.sample-package.org"
name="СводкаПоРаботеПредприятия"
connectString="File="D:\1c_bases\asudp_82";Usr="admin";Pwd="123";"/>



В версии 8.2 пытаемсясь сдалать тоже самое и не получается. Самое любопытное что хоть в документации и объявлено что файлы 1cws не используются, но они работают.Только вот имя и пароль пользователя прописанные там 1С игнорирует и требует авторизации.

Пробовал прописать имя и пароль в файле "default.vrd" вот так.
ib="Srvr="localhost";Ref="demo";Usr="admin";Pwd="123";"

Но всё-равно не работает.

В связи с этим несколько вопросов:

1. Такую интересную возможность убрали специально или есть надежда что вернут обратно?

2. Допустимо ли использование старых файлов 1cws или эту возможность скоро прикроют?
Показать


Вот ответ 1С:
Ошибка зарегистрирована, спасибо.

Вот ещё в 1С подсказали
Для обхода проблемы можно попробовать следующий способ:

- для виртуального каталога IIS, через который опубликован веб-сервис, настроить анонимный доступ

- в информационной базе, для пользователя, от имени которого должны выполняться вызовы веб-сервиса, настроить аутентификацию средствами ОС, используя анонимного пользователя IIS.
75. purtcer 2 20.11.09 09:10 Сейчас в теме
Трактор пишет:
Для обхода проблемы можно попробовать следующий способ:

- для виртуального каталога IIS, через который опубликован веб-сервис, настроить анонимный доступ

- в информационной базе, для пользователя, от имени которого должны выполняться вызовы веб-сервиса, настроить аутентификацию средствами ОС, используя анонимного пользователя IIS.

Я в 8,1 так и делаю. Я так понял это неправильно. Подскажите, как правильно прописывать и где имя пользователя и пароль на доступ к базе 8,1.
76. Трактор 1265 20.11.09 10:16 Сейчас в теме
(35) в 34 всё написано. Прочитай ещё раз.

В версии 8.1 для того чтобы организовать анонимный доступ к web сервису достаточно прописать в файле 1cws имя и пароль пользователя. Вот так:
<?xml version="1.0" encoding="UTF-8"?> <service namespace="http://www.sample-package.org"
name="СводкаПоРаботеПредприятия"
connectString="File="D:\1c_bases\asudp_81";Usr="admin";Pwd="
77. purtcer 2 20.11.09 10:27 Сейчас в теме
А понял. Ну и в чем разница заключается рекомендаций от 1с и Вашей строкой смысл-то один и тот же. В любом случае конектишься какимто предопределенным юзером. Если я ошибаюсь скажите в чем разница?
78. Трактор 1265 20.11.09 10:35 Сейчас в теме
(37) >> Ну и в чем разница заключается рекомендаций от 1с и Вашей строкой смысл-то один и тот же
В том что моя строка не работает в версии 8.2. 1С обещала это поправить. И предложила обходной вариант.

>> В любом случае конектишься какимто предопределенным юзером.
Правильно. Разница в том что в обходном решении, предложенном 1С это пользователь ОС, что более трудоёмко, например, под линуксом.
В чём ещё разница сказать не могу. Возможно ни в чём.
79. user843794 23.02.23 11:14 Сейчас в теме
Привет всем, тема смотрю свежая ) подскажите пожалуйста кто знает, есть сервер с кластером 1с 8.3 на нем все базы публикуются все классно работает, появился клиент с 8.2 конфигурацией, подкинул базу под 8.3 платформу все на серваке работает, при публикации у клиентов пустое окно с шапкой 1с, сколько искал в инете в основном пишут что можно настроить тонкого клиента на 8.2 а по факту нет там такого функционала?
80. Online-Ufa 23.02.23 11:54 Сейчас в теме
(79)
при публикации у клиентов пустое окно с шапкой 1с, сколько искал в инете...

Что-то вы в каком-то не том интернете ищите.
Чтобы при публикации базы у неё был интерфейс, конфигурация этой базы должна быть на управляемых формах.
Если опубликовать базу на обычных формах, то у неё и не должно быть интерфейса.
Например, вот так выглядит УТ 10.3
Прикрепленные файлы:
81. user843794 23.02.23 13:53 Сейчас в теме
(80)
Что-то вы в каком-то не том интернете ищите.
Чтобы при публикации базы у неё был интерфейс, конфигурация этой базы должна быть на управляемых формах.
Если опубликовать базу на обычных формах, то у неё и не должно быть интерфейса.
Например, вот так выглядит УТ 10.3

Спасибо, а как опубликовать базу на управляемых формах? Переводить на 3-ку?
82. Online-Ufa 23.02.23 14:12 Сейчас в теме
(81)
как опубликовать базу на управляемых формах? Переводить на 3-ку?

Если речь о конфигурации "Бухгалтерия предприятия", то да, сначала нужно перейти на редакцию 3.0, потом можно будет опубликовать.
Оставьте свое сообщение

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