Hi i am adding AI Management Module from AbpSuite in my project after add module and i run my project add assign all permission of AI Management to my user after that i go to WorkSpace page it give this exception:
Volo.Abp.Http.Client.AbpRemoteCallException: An internal error occurred during your request!
at Volo.Abp.Http.Client.ClientProxying.ClientProxyBase1.ThrowExceptionForResponseAsync(HttpResponseMessage response) at Volo.Abp.Http.Client.ClientProxying.ClientProxyBase1.RequestAsync(ClientProxyRequestContext requestContext)
at Volo.Abp.Http.Client.ClientProxying.ClientProxyBase1.RequestAsync[T](ClientProxyRequestContext requestContext) at Volo.Abp.Http.Client.ClientProxying.ClientProxyBase1.RequestAsync[T](String methodName, ClientProxyRequestTypeValue arguments)
at Volo.AIManagement.Workspaces.WorkspaceClientProxy.GetListAsync(WorkspaceGetListInput input)
at Volo.Abp.BlazoriseUI.AbpCrudPageBase`10.GetEntitiesAsync()
2026-04-07 09:52:43.178 +00:00 [WRN] None of the specified endpoints were reachable
and when i try to Create new WorkSpace it cant show any provider but i already install Volo.AIManagement.OpenAI Package
- Template: app
- Created ABP Studio Version: 2.1.0
- Current ABP Studio Version: 2.2.1
- Tiered: Yes
- Multi-Tenancy: Yes
- UI Framework: blazor-server
- Theme: leptonx
- Theme Style: system
- Theme Menu Placement: side
- Database Provider: ef
- Database Management System: sqlserver
- Separate Tenant Schema: Yes
- Mobile Framework: none
- Public Website: Yes
- Social Login: Yes
- Include Tests: Yes
- Kubernetes Configuration: Yes
- Distributed Event Bus: rabbitmq
- Use Local References: No
- Optional Modules:
- GDPR
- FileManagement
- TextTemplateManagement
- LanguageManagement
- AuditLogging
- Chat
- OpenIddictAdmin
- Selected Languages: English, French, Spanish
- Default Language: English
- Create Command: abp new Millennial -t app --tiered --ui-framework blazor-server --database-provider ef --database-management-system sqlserver --theme leptonx --separate-tenant-schema --skip-migration --skip-migrator --public-website --without-cms-kit --dont-run-install-libs --dont-run-bundling -chat -file-management
5 Answer(s)
-
0
- The exception
AbpRemoteCallException+ logNone of the specified endpoints were reachablehappens because the Blazor Server UI is trying to call the AI Management HTTP API, but the remote service base URL forAIManagementis not reachable / not configured correctly in your tiered setup. - The “Create Workspace -> no provider listed” is the same root cause: the UI can’t reach the AI Management endpoints that return provider definitions.
1) Fix the AI Management remote service URL (tiered Blazor Server)
In your Blazor Server UI project (
*.Blazor), set the AI Management remote service base URL inappsettings.jsonto point to your HttpApi.Host (not the Blazor UI URL):{ "RemoteServices": { "Default": { "BaseUrl": "https://localhost:443xx" }, "AIManagement": { "BaseUrl": "https://localhost:443xx" } } }- Replace
443xxwith the port of your HttpApi.Host. - If you already have
RemoteServices:Default:BaseUrl, still add theAIManagementsection to be explicit (and avoid accidental misrouting).
Also ensure the same is set in
appsettings.Development.json(or whichever environment you run), because environment-specific files overrideappsettings.json.2) Ensure the HttpApi.Host is actually running/reachable
Run projects in this order:
*.HttpApi.Host(must be up)*.Blazor(UI)
Then verify from your browser:
https://localhost:443xx/api/abp/api-definition
If this is not reachable, the UI will fail with “endpoints were not reachable”.
3) Ensure AI Management module is installed on the server side too
In a tiered solution, adding the module to the UI alone is not enough. Ensure AI Management is added to and configured in the
HttpApi.Hostside (and migrator/db) as ABP Suite/module install expects. Otherwise the UI will call endpoints that don’t exist.4) Apply migrations / seed data for the module (providers, etc.)
After adding the module, run your database migrator (or apply migrations) so the AI Management tables exist. If tables/config are missing, workspace/provider queries can fail server-side.
5) (If still failing) check the real server-side error
AbpRemoteCallExceptionhides the server exception by default on the client. Check logs ofHttpApi.Hostwhile opening the Workspaces page; you should see the real exception (DB/migration/config).
Links (verified):
- https://abp.io/docs/10.1/modules/ai-management/
- https://abp.io/docs/10.2/modules/ai-management
- https://abp.io/community/articles/u3ls1gp4
This response was generated by AI. If it didn’t solve your problem, feel free to post a new answer — our support team will jump in to help you soon.
Markdown supported.Copy, paste, or drag & drop images and files (max 100 MB per file, 100 MB total per post) - The exception
-
0
this answer is not helpful
Markdown supported.Copy, paste, or drag & drop images and files (max 100 MB per file, 100 MB total per post) -
0
Hi,
Thanks for the details.
Based on the behavior you described, this looks more like a server-side AI Management setup/database issue than an OpenAI API issue.
The main reason is:
- The Workspaces page first loads AI Management data from your application database.
- The provider dropdown is populated from provider names registered at application startup.
So when the page throws a generic
AbpRemoteCallExceptionand the provider list is also empty, the usual cause is that the AI Management module was added but its database changes and/or startup registration were not completed yet.In your case, the strongest clue is that the solution was created with
--skip-migration --skip-migrator.Please check these steps:
Create and apply a new EF Core migration after importing
Volo.AIManagement. If the AI Management tables were not created yet, the/api/ai-management/workspacesrequest will fail with this kind of generic remote call exception.Make sure
Volo.AIManagement.OpenAIis installed on the server startup side of the application, not only in a UI/client project. The available providers are collected from registered factories at startup. If the OpenAI module is not loaded by the startup application, the provider dropdown will stay empty.Restart the application after installing the provider package and after applying the migration.
Check the
*.HttpApi.Hostlogs while opening the Workspaces page. The real exception should be written there. If the migration is missing, you will typically see the actual SQL/table-related error on the host side.
So the first thing we recommend is:
- add/apply the migration,
- restart
HttpApi.Host, - open the Workspaces page again,
- then verify whether
OpenAIappears in the provider dropdown.
If the problem still continues after that, please share these details:
- the exact exception from the
HttpApi.Hostlog, - whether the AI Management tables were created successfully,
- and which project you added
Volo.AIManagement.OpenAIto.
Best regards,
ABP Support Team
Markdown supported.Copy, paste, or drag & drop images and files (max 100 MB per file, 100 MB total per post) -
0
[enisn] said: Hi,
Thanks for the details.
Based on the behavior you described, this looks more like a server-side AI Management setup/database issue than an OpenAI API issue.
The main reason is:
- The Workspaces page first loads AI Management data from your application database.
- The provider dropdown is populated from provider names registered at application startup.
So when the page throws a generic
AbpRemoteCallExceptionand the provider list is also empty, the usual cause is that the AI Management module was added but its database changes and/or startup registration were not completed yet.In your case, the strongest clue is that the solution was created with
--skip-migration --skip-migrator.Please check these steps:
- Create and apply a new EF Core migration after importing
Volo.AIManagement.
If the AI Management tables were not created yet, the
/api/ai-management/workspacesrequest will fail with this kind of generic remote call exception.- Make sure
Volo.AIManagement.OpenAIis installed on the server startup side of the application, not only in a UI/client project.
The available providers are collected from registered factories at startup. If the OpenAI module is not loaded by the startup application, the provider dropdown will stay empty.
- Restart the application after installing the provider package and after applying the migration.
- Check the
*.HttpApi.Hostlogs while opening the Workspaces page.
The real exception should be written there. If the migration is missing, you will typically see the actual SQL/table-related error on the host side.
So the first thing we recommend is:
- add/apply the migration,
- restart
HttpApi.Host,
- open the Workspaces page again,
- then verify whether
OpenAIappears in the provider dropdown.
If the problem still continues after that, please share these details:
- the exact exception from the
HttpApi.Hostlog,
- whether the AI Management tables were created successfully,
- and which project you added
Volo.AIManagement.OpenAIto.
Best regards,
ABP Support Team
i already added Migration and run that migration on Database and i also install Volo.AIManagement.OpenAI this package on server Side and here is log of HttpApi.Host 2026-04-07 10:33:09.145 +00:00 [ERR] Failed executing DbCommand (67ms) [Parameters=[@BFPAowQuR='?' (Size = 4000)], CommandType='"Text"', CommandTimeout='30'] SELECT TOP(2) [a].[Id], [a].[ApplicationName], [a].[SupportedProviders] FROM [AIManagementApplicationAIProviders] AS [a] WHERE [a].[ApplicationName] = @BFPAowQuR 2026-04-07 10:33:09.184 +00:00 [ERR] An exception occurred while iterating over the results of a query for context type 'Volo.AIManagement.EntityFrameworkCore.AIManagementDbContext'. Microsoft.Data.SqlClient.SqlException (0x80131904): Invalid object name 'AIManagementApplicationAIProviders'. at Microsoft.Data.SqlClient.SqlCommand.<>c.<ExecuteDbDataReaderAsync>b__195_0(Task
1 result) at System.Threading.Tasks.ContinuationResultTaskFromResultTask2.InnerInvoke() at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location --- at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) --- End of stack trace from previous location --- at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.Internal.SplitQueryingEnumerable1.AsyncEnumerator.InitializeReaderAsync(AsyncEnumerator enumerator, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func4 operation, Func4 verifySucceeded, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.Internal.SplitQueryingEnumerable1.AsyncEnumerator.MoveNextAsync() ClientConnectionId:2e865100-2130-45c1-99bd-b87da3a33893 Error Number:208,State:1,Class:16 ClientConnectionId before routing:1f14091e-7caf-426e-91ad-69a85d48c8b4 Routing Destination:dc8127efd63b.tr15377.eastus2-a.worker.database.windows.net,11044 Microsoft.Data.SqlClient.SqlException (0x80131904): Invalid object name 'AIManagementApplicationAIProviders'. at Microsoft.Data.SqlClient.SqlCommand.<>c.<ExecuteDbDataReaderAsync>b__195_0(Task1 result) at System.Threading.Tasks.ContinuationResultTaskFromResultTask2.InnerInvoke() at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location --- at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) --- End of stack trace from previous location --- at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.Internal.SplitQueryingEnumerable1.AsyncEnumerator.InitializeReaderAsync(AsyncEnumerator enumerator, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func4 operation, Func4 verifySucceeded, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.Internal.SplitQueryingEnumerable1.AsyncEnumerator.MoveNextAsync() ClientConnectionId:2e865100-2130-45c1-99bd-b87da3a33893 Error Number:208,State:1,Class:16 ClientConnectionId before routing:1f14091e-7caf-426e-91ad-69a85d48c8b4 Routing Destination:dc8127efd63b.tr15377.eastus2-a.worker.database.windows.net,11044 2026-04-07 10:33:09.237 +00:00 [ERR] An error occurred while updating initial workspaces for application Millennial.HttpApi.Host. Skipping initial workspace update. Microsoft.Data.SqlClient.SqlException (0x80131904): Invalid object name 'AIManagementApplicationAIProviders'. at Microsoft.Data.SqlClient.SqlCommand.<>c.<ExecuteDbDataReaderAsync>b__195_0(Task1 result) at System.Threading.Tasks.ContinuationResultTaskFromResultTask2.InnerInvoke() at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location --- at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) --- End of stack trace from previous location --- at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.Internal.SplitQueryingEnumerable1.AsyncEnumerator.InitializeReaderAsync(AsyncEnumerator enumerator, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func4 operation, Func4 verifySucceeded, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.Internal.SplitQueryingEnumerable1.AsyncEnumerator.MoveNextAsync() at Microsoft.EntityFrameworkCore.Query.ShapedQueryCompilingExpressionVisitor.SingleOrDefaultAsync[TSource](IAsyncEnumerable1 asyncEnumerable, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.ShapedQueryCompilingExpressionVisitor.SingleOrDefaultAsync[TSource](IAsyncEnumerable1 asyncEnumerable, CancellationToken cancellationToken) at Volo.Abp.Domain.Repositories.EntityFrameworkCore.EfCoreRepository2.FindAsync(Expression1 predicate, Boolean includeDetails, CancellationToken cancellationToken) at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at Volo.AIManagement.ApplicationWorkspaceProviders.ApplicationAIProviderManager.UpdateProvidersAsync(String applicationName, String[] supportedProviders) at Volo.AIManagement.Workspaces.WorkspaceSaver.SaveAsync(String applicationName, IEnumerable1 supportedProviders, IEnumerable1 workspaces) at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous(IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapter.ProceedAsync() at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync(IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed) at Volo.AIManagement.Workspaces.InitialWorkspaceUpdater.UpdateAsync() and here is my db Table
Markdown supported.Copy, paste, or drag & drop images and files (max 100 MB per file, 100 MB total per post) -
0
Hi,
Thanks, yes, this is the important part of the error:
Invalid object name 'AIManagementApplicationAIProviders'
So this is not an OpenAI package problem and it is not a client-proxy problem.
SQL Server is saying that the
AIManagementApplicationAIProviderstable does not exist in the database currently used byHttpApi.Host.At the same time, your screenshot shows that
dbo.AIManagementApplicationAIProvidersanddbo.AIManagementWorkspacesalready exist.Because of that, the two strongest possibilities are:
HttpApi.Hostis connected to a different database than the one shown in your screenshot.- The AI Management tables are still not included in the actual EF Core migration chain of your application.
As a quick confirmation, please go to your
.EntityFrameworkCoreproject folder and run:dotnet ef migrations add CheckAiManagementTablesThen check the generated migration:
- If it contains
CreateTable(...)for AI Management tables such asAIManagementApplicationAIProviders, then AI Management tables are still missing from your application's migration set. In that case, apply that migration and update the database. - If the migration is empty, then the EF Core model already contains the AI Management tables, and the stronger possibility is that
HttpApi.Hostis pointing to a different database.
Please also check these values in
*.HttpApi.Hostcarefully:ConnectionStrings:DefaultConnectionStrings:AIManagement
AI Management uses the
AIManagementconnection string name. IfConnectionStrings:AIManagementis defined, ABP uses it first. If it is not defined, it falls back toDefault.So if
ConnectionStrings:AIManagementpoints to another database, please either:- change it to the database that contains
dbo.AIManagementApplicationAIProviders, or - remove it so the module falls back to
Default.
Since your solution is multi-tenant and uses separate tenant schema/database, please make sure you are checking the exact database used by
HttpApi.Hoststartup, not only a tenant database.To verify quickly, run this against the exact database used by
HttpApi.Host:SELECT DB_NAME() AS CurrentDatabase; SELECT name FROM sys.tables WHERE name IN ('AIManagementApplicationAIProviders', 'AIManagementWorkspaces');After checking the migration result and the connection strings, restart
HttpApi.Hostand test again.If the problem still continues, please share:
- whether the new migration was empty or not
- the target database names for
DefaultandAIManagement - whether you are logged in as host or tenant
Best regards,
ABP Support Team
Markdown supported.Copy, paste, or drag & drop images and files (max 100 MB per file, 100 MB total per post)