I can do it for single get method or need to be enable for all?
I have a microservice solution whit 5 services.
I one off this I've an event (es. connect / disconnect) in GET. I see the method called from gateway (oceleot) and it works on API but I don't see the event tracked by AbpAuditLogs table.
The method in in API Controller Authorized but this method has tag AllowAnonymous
Hi
so I need to create all manually or create a second solution from scratch, copy on my own solution and adjust name/proxy?
In my microservice solution we need to add a second ui app (es. admin app for internal users). From suite / abp cli I can't create only the ui.
Which is the best way to do?
I try to create a proxy from 2 differet microservice and until yestarday all works fine but now I get this error:
[API Not Available] Request to
https://localhost:45526/api/abp/api-definition
is unsuccessful. Please double-check the URL in the source project environment and make sure your application is up and running.
If I delete the proxy folder the first run generate 1 service but when I try to execute the second I get the error but if I click on link https it works fine and get API definition
I need multiple consumer, each per tenant.
I see that need to use RabbitMq module in place of IDistributedEventBus beacuse I need to add Header attribute. This solve the first part of problem: injection off message.
So now I need to register a consumer with specific header... this part is doing from IDistributedEventHandler but this not use header.
I can achive this result?
This need is beacuse at the moment I've multple injection message and a single process message so this is a botlek
Exactly.
I check the permission from gateway api side and it works fine but permission are defined in Application.Contracts reather then Settings that are defined in Domain.
My Ocelot use this config
{
"DangerousAcceptAnyServerCertificateValidator": true,
"ServiceKey": "Administration Service",
"DownstreamPathTemplate": "/api/abp/{everything}",
"DownstreamScheme": "https",
"DownstreamHostAndPorts": [
{
"Host": "localhost",
"Port": 44367
}
],
"UpstreamPathTemplate": "/api/abp/{everything}",
"UpstreamHttpMethod": [
"Put",
"Delete",
"Get",
"Post"
]
},
And I miss the Setting from the other module/s.
I think is the conencted issue.
We are working in a very large and shred app (React, Python, Flutter, Angular) so we use gateway to prepare API for single app.
In this scenario we se the limitation about create a proxy from gateway. In the past you suggest to use dynamic proxy on gateway adding HttpClient to gateway project. This create a straight connection but in this way when yoc call definition you see all microservice API definitions.
I test that is not possibile use Ocelot in mix Dynamic+Static you can simple reproduce on microserivce template if you run in dynianic you see an output that is different if you run in static (reffer the first image on this topic).
Now we found a similar issue relate to settings. On angular side when we develop a module we can check if a settings exist and it's true but when we mount this module on final app and calling
this.configStateService.getSetting$
when don't see our settings and we get only the settings came from base service on Ocelot and it's exactly what happen bheind the scene when I call config from swagger. To see my config, caming from module, I need to call microservice swagger but it's not possibile when app runs.
Let me know if you have more clear about this issue
It solve partial the problem because I've the same issuues related to settings.
If I call the
this.configStateService.getSetting$
If I call this from API (gateway) my settings is empty if I look to internal microservice I see the settings....
No is not working.
You can see on simple solution has I described above