Здравствуйте. Спасибо за помощь в настройке конфигов (https://community.terrasoft.ru/questions/nastroika-globalnogo-poiska). Теперь столкнулся со следующей проблемой:
здесь дан пример кода. Вот что у меня получилось
Я нашел, что можно с этим сделать, но получаю другую ошибку
Почему может не находиться метод addsite?
Нравится
Здравствуйте, Максим
Данная ошибка, скорее всего, возникает из-за того, что Вы не совсем правильно формируете POST запрос.
Данный POST запрос должен идти не к ElasticSearch? а к Global Search Service.
Для исправления перестройте POST запрос и попробуйте выполнить его повторно.
Denys Diachenko,
заменил на адрес
Global Search Service. В итоге получил такое
До этого при запуске Global Search Service из IIS наблюдалось такое
Я думал, что это исправится, когда выполнится вышеуказаный пост-запрос. В чем может быть проблема?
Максим.Паламарчук,
В POST запросе необходимо указывать адрес сервиса который указан на привязках в IIS, не путь к файлам сервиса.
Denys Diachenko,
так я и указал, скопировав из адресной строки браузера "http://localhost/GlobalSearch/0" + /addsite
Максим.Паламарчук,
Судя по ссылке Вы развернули
Global Search Service как приложение в Вашем сайте bpmonline - это неправильно.
Вам необходимо Global Search Service развернуть как отдельный сайт в IIS.
Также судя по второму скриншоту у Вас некорректно прописан путь к БД Global Search - необходимо прописать верный путь и повторить POST запрос с обновленными атрибутами.
Denys Diachenko,
Добрый день! Если у Вас есть опыт настройки и подключения глобального поиска, не могли бы Вы со мной связаться по скайпу? Я уже несколько дней пытаюсь сделать эту настройку и постоянно сталкиваюсь с проблемами.
Здравствуйте, Максим!
Могли бы Вы, пожалуйста, описать какие возникли трудности при настройке?
Shevchenko Andrey,
Добрый день! У меня ошибка "unable to open database file" призапуске приложения глобального поиска из IIS.
В файле web.config указаны такие настройки:
<OnSiteClientSettings>
<add key="ElasticSearchUrl" value="http://localhost:9200/"/>
<add key="ConfigDirectory" value="C:\BPMonline_GlobalSearchServices_1.0.0.136_711\GSSConfigs"/>
</OnSiteClientSettings>
<appSettings>
<!--<add key="DbDialectProvider" value="ServiceStack.OrmLite.SqlServerDialect, ServiceStack.OrmLite.SqlServer, Version=4.0.56.0, Culture=neutral, PublicKeyToken=null"/>-->
<!--Comment DbDialectProvider above and uncomment DbDialectProvider below for on site clients. Vice versa for cloud clients.-->
<add key="DbDialectProvider" value="ServiceStack.OrmLite.SqliteDialect, ServiceStack.OrmLite.Sqlite.Windows, Version=4.0.56.0, Culture=neutral, PublicKeyToken=null"/>
<add key="DBConnectionConfigPattern" value="Server={0};Database={1};Uid=Supervisor;Pwd=Supervisor;charset=utf8;Allow User Variables=True" />
<add key="servicestack:license" value="3802-e1JlZjozODAyLE5hbWU6VGVycmFzb2Z0LFR5cGU6SW5kaWUsSGFzaDpwd0VYdGh0eFByRi90OVpnMmZrZGMxQkNrV0QrSnFZWlRBS3kxSEVZb0dCejRSMnZNVGtFdHNtcVpHd3BGc094bWtsdW1qYTNWV3JTZkJsdTdtU3dMNWZNVDdUQW1pTkIrR2lxN2F4MldiNGs2S0t5Mkp1eG1vbVpHSVNzYWljelNSOHdVTjE1QXhsQ2ZpdHVJNWZiQWlmQUtBeUJ2ajc0UjhCYW5GOVdrRWs9LEV4cGlyeToyMDE3LTA1LTE0fQ==" />
<add key="AuthApiKeyCacheExpiration" value="300" />
<add key="MailingAccountCacheExpiration" value="300" />
<add key="log4net.Config" value="log4net.config" />
<add key="log4net.Config.Watch" value="True" />
<add key="ApiKey" value="" />
<add key="elasticLogin" value="#elasticLogin#" />
<add key="elasticPassword" value="#elasticPassword#" />
<add key="RequestTimeOut" value="600000" />
</appSettings>
Здравствуйте, Максим!
Обращаю Ваше внимание на строку конфига:
<add key="DBConnectionConfigPattern" value="Server={0};Database={1};Uid=Supervisor;Pwd=Supervisor;charset=utf8;Allow User Variables=True" />
Как я вижу, Вы не изменили ни сервер подключения ни имя базы данных, потому у Вас и возникает ошибка подключения к несуществующему северу и БД.
Shevchenko Andrey,
Здесь нужны сервер и БД, которые используются в моем приложении bpm'online?
Здравствуйте, Максим!
В инструкции указано:
DBConnectionConfigPattern — шаблон строки подключения к БД клиента. Необходимо указать логин и пароль пользователя:
Ринис, так же как Вы вводите для входа на сервер. С указанием домена и логина.
Shevchenko Andrey,
я указываю и так
<add key="DBConnectionConfigPattern" value="Server=имя моего sql-сервера;Database=имя моей БД;Uid=логин;Pwd=пароль;charset=utf8;Allow User Variables=True" />
и так
<add key="DBConnectionConfigPattern" value="Server={имя моего sql-сервера};Database={имя моей БД};Uid=логин;Pwd=пароль;charset=utf8;Allow User Variables=True" />
и так
<add key="DBConnectionConfigPattern" value="Server={0};Database={1};Uid=логин;Pwd=пароль;charset=utf8;Allow User Variables=True" />
ошибка "unable to open database file" остается
Здравствуйте, Максим!
Данный параметры необходимо указать как в первом варианте.
Так же при добавлении сайта через пост запрос, выбирается путь к БД который указан в connectionString который Вы настраивали ранее.
Пожалуйста, проверьте корректность настройки connectionstring, а так же убедитесь, что при настройке Вы установили свои значения, а не значения с указанного примера.
Shevchenko Andrey,
Настройка connectionsting такая
<connectionStrings>
<add name="ConnectionDb" connectionString="Data Source=имя sql сервера;Initial Catalog=имя моей БД;User Id=логин;Password=пароль;"/>
<add name="RabbitMQ" connectionString="amqp://guest:guest@localhost:5672/" />
</connectionStrings>
пост-запрос
$params = @{"ApiKey"= ""; "SiteName"="имя моей БД"}
Invoke-WebRequest -Uri "http://localhost:81/GlobalSearch/0/addsite" -Method POST -Body $params
ошибка та же
Shevchenko Andrey,
добрый день. В connectionString указал путь к файлу SQLite и он сейчас выглядит таким образом:
<connectionStrings>
<add name="ConnectionDb" connectionString="C:\BPMonline_GlobalSearchServices_1.0.0.136_711\DB\GlobalSearch.db"/>
<add name="RabbitMQ" connectionString="amqp://guest:guest@localhost:5672/" />
</connectionStrings>
при запуске приложения появилось такое:
При этом по указаному пути появился файл GlobalSearch.db
Далее пытаюсь выполнить такой пост-запрос:
$params = @{"ApiKey"= ""; "SiteName"="C:\BPMonline_GlobalSearchServices_1.0.0.136_711\DB\GlobalSearch.db"}
Invoke-WebRequest -Uri "http://localhost:81/GlobalSearch/0/addsite" -Method POST -Body $params
получаю ошибку
В чем может быть причина?
Здравствуйте, Максим!
Данная проблема может возникает из-за несовпадения ApiKey. Рекомендуем Вам проверить корректность ApiKey, а так же попробовать выполнить запрос с любым не пустым ApiKey.