Check the docs before asking a question: https://abp.io/docs/latest Check the samples to see the basic tasks: https://abp.io/docs/latest/samples The exact solution to your question may have been answered before, and please first use the search on the homepage.
Provide us with the following info:
🧐 Hint: If you are using the ABP Studio, you can see all the information about your solution from the configuration window, which opens when you right-click on the solution and click on the Solution Configuration
button.
Exception message and full stack trace:
Steps to reproduce the issue:
Template: microservice
Created ABP Studio Version: 0.9.26
Current ABP Studio Version: 1.0.0
Multi-Tenancy: Yes
UI Framework: angular
Theme: leptonx
Theme Style: system
Run Install Libs: Yes
Database Provider: ef
Database Management System: sqlserver
Mobile Framework: none
Public Website: No
Include Tests: Yes
Dynamic Localization: Yes
Kubernetes Configuration: Yes
Grafana Dashboard: Yes
Use Local References: No
Optional Modules:
- GDPR
- FileManagement
- TextTemplateManagement
- AuditLogging
- Chat
- OpenIddictAdmin
Hi,
I am trying to implement inter microservices communication using Integration Services. Apparently I am doing everything correct according to the Abp documentation, but I am constantly receiving the following error:
Any ideas?
8 Answer(s)
-
0
- The error "Could not get HttpClientProxyConfig for ... IEmployeeIntegrationService" indicates that the client proxy for your integration service is not properly configured or registered in your consuming microservice.
To resolve this, follow these steps:
Expose Integration Services in the Provider Microservice
- In the microservice that provides the integration service (e.g., EmployeeService), ensure you expose integration services in your module:
public override void ConfigureServices(ServiceConfigurationContext context) { Configure<AbpAspNetCoreMvcOptions>(options => { options.ExposeIntegrationServices = true; }); }
- In the microservice that provides the integration service (e.g., EmployeeService), ensure you expose integration services in your module:
Reference the HttpApi.Client Package in the Consumer Microservice
- In the microservice that consumes the integration service, add a reference to the
HttpApi.Client
project of the provider microservice.
- In the microservice that consumes the integration service, add a reference to the
Configure the Remote Service URL
- In the consumer microservice's
appsettings.json
, set the base URL for the remote service:"RemoteServices": { "AbcEmployeeService": { "BaseUrl": "https://localhost:PORT" } }
- The key (
AbcEmployeeService
) should match the remote service name used in your proxy registration.
- In the consumer microservice's
Register the Client Proxy
- In the consumer microservice's module, register the static client proxy for the integration service:
context.Services.AddStaticHttpClientProxies( typeof(Abc.EmployeeService.Application.Contracts.EmployeeServiceApplicationContractsModule).Assembly, "AbcEmployeeService" );
- In the consumer microservice's module, register the static client proxy for the integration service:
Use the Integration Service Interface
- Inject and use
IEmployeeIntegrationService
in your consumer microservice as needed.
- Inject and use
Restart All Services
- After making these changes, rebuild and restart both the provider and consumer microservices.
If you follow these steps, the error should be resolved and the integration service proxy will be available for HTTP calls between your microservices.
Sources:
- https://abp.io/docs/latest/framework/api-development/integration-services
- https://abp.io/docs/latest/solution-templates/microservice/http-api-calls
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.
-
0
I am doing exactly like Agent suggested, with a difference that I don't reference HttpApi.Client, I generated the ClientProxies but didn't help.
-
0
hi icoretchi
Could you please share the code and the steps you took?
Thanks.
-
0
Hi,
- Interface in provided service Abc.EmployeeService.Contracs project:
- Implementation in provided service Abc.EmplyeeService project
- Expose integration service in provided service:
- Reference provided integration service interface in consumer service Abc. AcquisitionService:
- Configured remote service url:
- Generated client service proxies in consumer service Abc.AcquisitionService:
- Registered client proxies in consumer service Abc.AcqusitionService:
- Using of the integration service in consumer service:
- Interface in provided service Abc.EmployeeService.Contracs project:
-
0
-
0
-
0
It's working. Thanks.
-
0
Great