Hello,
We are facing Error 500 issues with API after deploying to Azure Container App. Same application using appsettings.development.json config runs fine locally. We need your help spotting any misconfigured on our end.
Failed to load API definition - 500 Internal Server Error on the /api/abp/application-configuration - Fetch error OK /swagger/v1/swagger.json
More details - source files here: https://drive.google.com/drive/folders/1P88jaMPzPbPd9HLima4ZEj1HF-GUHu9H?usp=drive_link
ABP Studio Configuration Information:
What we have tried: Validated OpenIddict Application values in DB and Admin console Validated values in AppSettings.json files
Problem Description
I am facing an issue with ABP’s Dynamic HTTP Client Proxy. in WebPublic Project
I have an Application Service method:
Task<List<TeamMemberDto>> GetAllAsync();
And a working HttpApi controller endpoint:
GET /api/app/user-detail-info/all
✔ Direct call works
Calling the endpoint directly in the browser or via Postman works correctly:
https://localhost:44364/api/app/user-detail-info/all
❌ Proxy call fails
When the method is invoked through ABP’s dynamic proxy, the following exception is thrown:
Could not find remote action for method:
System.Threading.Tasks.Task1[ System.Collections.Generic.List1[Millennial.UserDetailInfos.TeamMemberDto]
] GetAllAsync()
on the URL: https://localhost:44364/
Exception Stack Trace (shortened) Volo.Abp.AbpException: Could not find remote action for method: GetAllAsync()
at Volo.Abp.Http.Client.DynamicProxying.ApiDescriptionFinder.FindActionAsync at Volo.Abp.Http.Client.DynamicProxying.DynamicHttpProxyInterceptor
What Is Confusing
The API endpoint exists
Swagger shows the endpoint
Direct HTTP GET works
But ABP dynamic proxy fails to resolve it via /api/abp/api-definition
Architecture & Configuration
44364 is the HttpApi.Host
RemoteServices:Default:BaseUrl is set to:
"RemoteServices": { "Default": { "BaseUrl": "https://localhost:44364" } }
Tiered setup is intentional
What I Have Already Tried
✔ Confirmed endpoint works directly in browser and Postman
✔ Verified Swagger shows /api/app/user-detail-info/all
✔ Restarted HttpApi.Host and PublicWeb
✔ Verified https://localhost:44364/api/abp/api-definition is accessible
✔ Confirmed routing attributes on controller:
[RemoteService] [Area("app")] [Route("api/app/user-detail-info")]
✔ Verified GetAllAsync() exists on:
AppService interface
AppService implementation
HttpApi controller
✔ Confirmed correct RemoteServices:Default:BaseUrl
✔ Confirmed the request reaches controller before exception
✔ Confirmed exception occurs after controller execution
✔ Attempted calling only from JS proxy (same behavior if resolved server-side)
✔ Clean rebuild and restart
✔ No [RemoteService(false)] applied
Expected Behavior
ABP dynamic proxy should resolve the remote action via API definition and execute the HTTP call successfully, since the endpoint exists and is reachable.
Actual Behavior
ABP dynamic proxy throws:
Could not find remote action for method GetAllAsync()
even though the endpoint exists and works.
Questions
Under what conditions does ABP dynamic proxy fail to match an existing HttpApi controller action?
Is it required that the method be exposed via conventional controllers only, even if a custom controller exists?
Can dynamic proxy resolve methods that are exposed via custom HttpApi controllers?
Is this a known limitation or expected behavior?
Workaround
Direct JS abp.ajax() or fetch calls work, but dynamic proxy cannot be used reliably for this service.
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.Abp.AspNetCore.Mvc.ApplicationConfigurations.ClientProxies.AbpApplicationConfigurationClientProxy.GetAsync(ApplicationConfigurationRequestOptions options)
at Volo.Abp.AspNetCore.Mvc.Client.MvcCachedApplicationConfigurationClient.GetRemoteConfigurationAsync()
at Volo.Abp.AspNetCore.Mvc.Client.MvcCachedApplicationConfigurationClient.<GetAsync>b__19_0()
at Volo.Abp.Caching.DistributedCache2.GetOrAddAsync(TCacheKey key, Func1 factory, Func1 optionsFactory, Nullable1 hideErrors, Boolean considerUow, CancellationToken token)
at Volo.Abp.AspNetCore.Mvc.Client.MvcCachedApplicationConfigurationClient.GetAsync()
at Volo.Abp.AspNetCore.Mvc.Client.RemoteFeatureChecker.GetOrNullAsync(String name)
at Volo.Abp.Features.FeatureCheckerBase.IsEnabledAsync(String name)
at Volo.CmsKit.Pro.Public.Web.Middlewares.UrlShortingMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.InterfaceMiddlewareBinder.<>c__DisplayClass2_0.<<CreateMiddleware>b__0>d.MoveNext()
--- End of stack trace from previous location ---
at Emerald.Web.Public.EmeraldWebPublicModule.<>c.<<OnApplicationInitialization>b__15_0>d.MoveNext() in C:\Users\PD0987\Documents\Projects\Emerald Healthcare Services\src\Emerald.Web.Public\EmeraldWebPublicModule.cs:line 361
--- End of stack trace from previous location ---
at Volo.Abp.AspNetCore.Mvc.Libs.AbpMvcLibsService.<CheckLibs>b__1_0(HttpContext httpContext, RequestDelegate next)
at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddlewareImpl.Invoke(HttpContext context)
Host: localhost:44362
I have added the Payment module from the abp studio and getting above error.
How to Deploy Multiple Applications on a Single Azure App Service Using Web App for Containers and Expose Multiple Endpoints on the Same Domain
We want to avoid using multiple App Services or subdomains if possible and would like to maintain the same HTTPS certificate for all endpoints.
Hello Team,
I am facing an issue with my Blazor application. While using the application, I frequently encounter an “Unauthorized (401)” error.
I shared the video and log file. Error log link : https://we.tl/t-EnTmS4QUKk Video link : https://we.tl/t-r6s2EwgzzD