Вопрос

Подключение глобального поиска

Здравствуйте. Спасибо за помощь в настройке конфигов (https://community.terrasoft.ru/questions/nastroika-globalnogo-poiska). Теперь столкнулся со следующей проблемой: 

https://academy.terrasoft.ru/documents/marketing/7-11/opisanie-api-servisa-globalnogo-poiska#XREF_17963_API

 здесь дан пример кода. Вот что у меня получилось

Изображение удалено.

Я нашел, что можно с этим сделать, но получаю другую ошибку

Изображение удалено.

Почему может не находиться метод addsite?

Нравится

17 комментариев

Здравствуйте, Максим

Данная ошибка, скорее всего, возникает из-за того, что Вы не совсем правильно формируете 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.

Показать все комментарии