Hi,
It looks like you are using the
Dynamic proxy
.The
Dynamic proxy system
needs to get the API defines from the gateway.You can consider using the
Static proxy
.
- Run the
abp generate-proxy -t csharp -m TheModuleNameOfServiceB -u TheURLOfServiceB
on theServiceB.HttpApi.Client
project directory- Open the
ServiceBHttpClientModule
class and changeAddHttpClientProxies
toAddStaticHttpClientProxies
Now it should be working.
If you don't know the
TheModuleNameOfServiceB
, you can access theTheURLOfServiceB:/api/abp/api-definition
endpoint to check it.
Hi,
It still load with dynamic proxy
I am facing problems to connect between micro services - sync. I know the problem is under my environment due to I tried to replicate on a empty solution from the beginning and it worked correctly.
So I would like to know if you could help me to find the error on my environment, and which information could be useful to share with you.
As initial thought I would like to share with you the error that I am facing is fired by ApiDescriptionFinder.FindActionAsync
throw new AbpException($"Could not found remote action for method: {method} on the URL: {baseUrl}");
after the call to the function throw the interface.
As second thought I already have an integration to identity service from the same microservice, so I do not know why I am facing this error
you should modify the function
mapEnumToOptions(CustomDataType);
on microservices to get the localization of service
It did not work, since i am on microservice template I have to use the prefix of the owner
const label: string = this.localizationService.instant('MyService::Enum:' + enumTypeName + '.' + element.key);
I would like some help to display labels on Dropdowns using Enums
public enum ContactType
{
NotSelected = 0, // Label: "Not Selected"
/// <remarks/>
[System.Xml.Serialization.XmlEnum("1")]
Administrative_Assistant = 1, // Label: "Administrative Assistant (101) "
/// <remarks/>
[System.Xml.Serialization.XmlEnum("2")]
Medical_Director = 2, // Label: "Medical Director (911)"
/// <remarks/>
[System.Xml.Serialization.XmlEnum("3")]
Quality_Performance_Improvement_Specialist = 3, // Label: "QA Improvement Specialist (301)"
/// <remarks/>
[System.Xml.Serialization.XmlEnum("4")]
Other = 4, // Label: "Other (701)"
}
I run the proxy generator and I see the next code
import { mapEnumToOptions } from '@abp/ng.core';
export enum ContactType {
NotSelected = 0,
Administrative_Assistant = 1,
Medical_Director = 2,
Quality_Performance_Improvement_Specialist = 3,
Other = 4
}
export const contactTypeOptions = mapEnumToOptions(CustomDataType);
should i use
[Description("My label HERE")]
also checking that I should include something like this on my localization
{ "culture": "en", "texts": { "Enum:ContactType.NotSelected": "Label here", "Enum:ContactType.Administrative_Assistant": "Label here", "Enum:ContactType.Medical_Director": "Label here", "Enum:ContactType.Quality_Performance_Improvement_Specialist": "Label here", "Enum:ContactType.Other": "Label here", } }
could you provide me a documentation or example related to complete implementation of this feature?
abp generate-proxy -t ng -m identity -u https://localhost:44388 --target identity-service --api-name Identity abp generate-proxy -t ng -m identityServer -u https://localhost:44388 --target identity-service --api-name Identity abp generate-proxy -t ng -m abp -u https://localhost:44388 --target identity-service --api-name Identity abp generate-proxy -t ng -m accountAdmin -u https://localhost:44388 --target identity-service --api-name Identity
I need to generate identity proxies for angular but I am facing problems on it, could you help me please?
I need to get a list of users if there is a different way to get it, i am open to hear
my environment file is:
import { Environment } from '@abp/ng.core';
const baseUrl = 'http://localhost:4201';
const oAuthConfig = {
issuer: 'https://localhost:44322',
redirectUri: baseUrl,
clientId: 'Project_Angular',
responseType: 'code',
scope:
'offline_access openid profile email phone AccountService IdentityService AdministrationService SaasService ProductService',
requireHttps: true,
};
export const environment = {
production: false,
application: {
baseUrl,
name: 'Project',
},
oAuthConfig,
apis: {
default: {
url: 'https://localhost:44388',
rootNamespace: 'Company.Project',
},
Identity: {
url: 'https://localhost:44388',
rootNamespace: 'Volo.Abp', // Also tried with Company.Project
},
},
} as Environment;
commands that I tried are:
abp generate-proxy -t ng -m AbpIdentity -u https://localhost:44388 --target identity-service
abp generate-proxy -t ng -m Identity -u https://localhost:44388 --target identity-service
abp generate-proxy -t ng -m IdentityService -u https://localhost:44388 --target identity-service
this is the message for all of them
[Invalid Module] Backend module "AbpIdentity" does not exist in API definition.
I need to create a global filter like IMultiTenant, based on a claim, do you have any documentation related to it?
hello,
looks like the solution I was looking is https://docs.abp.io/en/commercial/latest/startup-templates/microservice/synchronous-interservice-communication
I am going to treat the user as an object out of the microservice, I do not want to go over http request because i am inside the same server, but it makes sense, because I could split the microservices into many servers later
yes, microservice template, it is on first message