SimpleIdServer icon indicating copy to clipboard operation
SimpleIdServer copied to clipboard

Trouble with QuickStart for ScimEF project

Open NDCTechSupport opened this issue 1 year ago • 2 comments

Discussed in https://github.com/simpleidserver/SimpleIdServer/discussions/841

Originally posted by NDCTechSupport February 14, 2025 Followed all the Quickstart instructions. Got to ScimEF project and ran into some errors.

Bypassed one error by commenting out the check for StorageTypes.SQLITE in Program.cs.

But I don't know what to do about this error:

System.AggregateException HResult=0x80131500 Message=Some services are not able to be constructed (Error while validating the service descriptor 'ServiceType: SimpleIdServer.Scim.Commands.Handlers.IAddRepresentationCommandHandler Lifetime: Transient ImplementationType: SimpleIdServer.Scim.Commands.Handlers.AddRepresentationCommandHandler': Unable to resolve service for type 'MassTransit.IMessageDataRepository' while attempting to activate 'SimpleIdServer.Scim.Helpers.BusHelper'.) (Error while validating the service descriptor 'ServiceType: SimpleIdServer.Scim.Commands.Handlers.IDeleteRepresentationCommandHandler Lifetime: Transient ImplementationType: SimpleIdServer.Scim.Commands.Handlers.DeleteRepresentationCommandHandler': Unable to resolve service for type 'MassTransit.IMessageDataRepository' while attempting to activate 'SimpleIdServer.Scim.Helpers.BusHelper'.) (Error while validating the service descriptor 'ServiceType: SimpleIdServer.Scim.Commands.Handlers.IReplaceRepresentationCommandHandler Lifetime: Transient ImplementationType: SimpleIdServer.Scim.Commands.Handlers.ReplaceRepresentationCommandHandler': Unable to resolve service for type 'MassTransit.IMessageDataRepository' while attempting to activate 'SimpleIdServer.Scim.Helpers.BusHelper'.) (Error while validating the service descriptor 'ServiceType: SimpleIdServer.Scim.Commands.Handlers.IPatchRepresentationCommandHandler Lifetime: Transient ImplementationType: SimpleIdServer.Scim.Commands.Handlers.PatchRepresentationCommandHandler': Unable to resolve service for type 'MassTransit.IMessageDataRepository' while attempting to activate 'SimpleIdServer.Scim.Helpers.BusHelper'.) (Error while validating the service descriptor 'ServiceType: SimpleIdServer.Scim.Helpers.IBusHelper Lifetime: Transient ImplementationType: SimpleIdServer.Scim.Helpers.BusHelper': Unable to resolve service for type 'MassTransit.IMessageDataRepository' while attempting to activate 'SimpleIdServer.Scim.Helpers.BusHelper'.) (Error while validating the service descriptor 'ServiceType: SimpleIdServer.Scim.Api.BaseApiController Lifetime: Transient ImplementationType: SimpleIdServer.Scim.Api.GroupsController': Unable to resolve service for type 'MassTransit.IMessageDataRepository' while attempting to activate 'SimpleIdServer.Scim.Helpers.BusHelper'.) (Error while validating the service descriptor 'ServiceType: SimpleIdServer.Scim.Api.GroupsController Lifetime: Transient ImplementationType: SimpleIdServer.Scim.Api.GroupsController': Unable to resolve service for type 'MassTransit.IMessageDataRepository' while attempting to activate 'SimpleIdServer.Scim.Helpers.BusHelper'.) (Error while validating the service descriptor 'ServiceType: SimpleIdServer.Scim.Api.BaseApiController Lifetime: Transient ImplementationType: SimpleIdServer.Scim.Api.UsersController': Unable to resolve service for type 'MassTransit.IMessageDataRepository' while attempting to activate 'SimpleIdServer.Scim.Helpers.BusHelper'.) (Error while validating the service descriptor 'ServiceType: SimpleIdServer.Scim.Api.UsersController Lifetime: Transient ImplementationType: SimpleIdServer.Scim.Api.UsersController': Unable to resolve service for type 'MassTransit.IMessageDataRepository' while attempting to activate 'SimpleIdServer.Scim.Helpers.BusHelper'.) Source=Microsoft.Extensions.DependencyInjection StackTrace: at Microsoft.Extensions.DependencyInjection.ServiceProvider..ctor(ICollection`1 serviceDescriptors, ServiceProviderOptions options) at Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider(IServiceCollection services, ServiceProviderOptions options) at Microsoft.Extensions.Hosting.HostApplicationBuilder.Build() at Microsoft.AspNetCore.Builder.WebApplicationBuilder.Build() at ScimEF.Program.Main(String[] args) in C:\Users\Don\source\repos\Quickstart\src\ScimEF\Program.cs:line 43

This exception was originally thrown at this call stack: Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier, System.Type, Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain, System.Reflection.ParameterInfo[], bool) Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateConstructorCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache, Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier, System.Type, Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain) Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.TryCreateExact(Microsoft.Extensions.DependencyInjection.ServiceDescriptor, Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier, Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain, int) Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.TryCreateExact(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier, Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain) Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier, Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain) Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier, System.Type, Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain, System.Reflection.ParameterInfo[], bool) Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateConstructorCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache, Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier, System.Type, Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain) Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.TryCreateExact(Microsoft.Extensions.DependencyInjection.ServiceDescriptor, Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier, Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain, int) Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.GetCallSite(Microsoft.Extensions.DependencyInjection.ServiceDescriptor, Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain) Microsoft.Extensions.DependencyInjection.ServiceProvider.ValidateService(Microsoft.Extensions.DependencyInjection.ServiceDescriptor)

Inner Exception 1: InvalidOperationException: Error while validating the service descriptor 'ServiceType: SimpleIdServer.Scim.Commands.Handlers.IAddRepresentationCommandHandler Lifetime: Transient ImplementationType: SimpleIdServer.Scim.Commands.Handlers.AddRepresentationCommandHandler': Unable to resolve service for type 'MassTransit.IMessageDataRepository' while attempting to activate 'SimpleIdServer.Scim.Helpers.BusHelper'.

Inner Exception 2: InvalidOperationException: Unable to resolve service for type 'MassTransit.IMessageDataRepository' while attempting to activate 'SimpleIdServer.Scim.Helpers.BusHelper'.

NDCTechSupport avatar Feb 14 '25 23:02 NDCTechSupport

Hello,

There is indeed an issue with the .NET template project version 5.0.2.

The IMessageDataRepository is not configured correctly, but this issue has been resolved in version 5.0.3.

You can either wait for the 5.0.3 release (expected at the end of February) or add the missing dependency manually as follows:

services.AddSingleton<IMessageDataRepository>(new InMemoryMessageDataRepository());

Refer to this issue : https://github.com/simpleidserver/SimpleIdServer/issues/808

simpleidserver avatar Feb 15 '25 16:02 simpleidserver

Thanks for your help. Using it, I was able to resolve the issue.

NDCTechSupport avatar Feb 17 '25 23:02 NDCTechSupport