BIO_SDK_007 --> SDK provider registry is empty!

Hi,

I get this error when I start Reg-client

Error creating bean with name 'authenticationController': Unsatisfied dependency expressed through field 'registrationPreviewController'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'registrationPreviewController': Unsatisfied dependency expressed through field 'guardianBiometricsController'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'biometricsController': Unsatisfied dependency expressed through field 'authenticationService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'authenticationServiceImpl': Unsatisfied dependency expressed through field 'bioAPIFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'bioAPIFactory': Invocation of init method failed; nested exception is io.mosip.kernel.core.bioapi.exception.BiometricException: BIO_SDK_007 --> SDK provider registry is empty!
BR

Hi @kamiri ,

Please refer this post

Hi @Anusha_sunkadh
Thanks for the reply
how did you run the registration client?
through IDE
You need to add the SDK jar into the classpath or as a dependency in the registration-services pom.xml
yes, I did but the problem persist

The error when debugging

in UI

Creating application context…
Error creating bean with name ‘authenticationController’: Unsatisfied dependency expressed through field ‘registrationPreviewController’; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘registrationPreviewController’: Unsatisfied dependency expressed through field ‘guardianBiometricsController’; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘biometricsController’: Unsatisfied dependency expressed through field ‘authenticationService’; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘authenticationServiceImpl’: Unsatisfied dependency expressed through field ‘bioAPIFactory’; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘bioAPIFactory’: Invocation of init method failed; nested exception is io.mosip.kernel.core.bioapi.exception.BiometricException: BIO_SDK_007 → SDK provider registry is empty!

in intellij

The properties file to load sdk classname

to get a documentation of this problem:

You should follow Registration Client Developers Guide - MOSIP Docs 1.2.0
And you shouldn’t add these properties:

**
## SDK configurations
#SDK implementation class for finger modality
mosip.biometric.sdk.provider.finger.classname=io.mosip.kernel.biosdk.provider.impl.BioProviderImpl_V_0_7
#SDK API version
mosip.biometric.sdk.provider.finger.version=0.7
#SDK implementation class consturctor args - comma separated
mosip.biometric.sdk.provider.finger.args=
#SDK initialization args
#mosip.biometric.sdk.provider.finger.<key1>=<value1> is also supported, this will be passed as initparams
#Quality threshold used by SDK to match modality
mosip.biometric.sdk.provider.finger.threshold=60

#SDK implementation class for iris
mosip.biometric.sdk.provider.iris.classname=io.mosip.kernel.biosdk.provider.impl.BioProviderImpl_V_0_7
#SDK API version
mosip.biometric.sdk.provider.iris.version=0.7
#SDK implementation class consturctor args - comma separated
mosip.biometric.sdk.provider.iris.args=
#SDK initialization args
#mosip.biometric.sdk.provider.iris.<key1>=<value1> is also supported, this will be passed as initparams
#Quality threshold used by SDK to match modality
mosip.biometric.sdk.provider.iris.threshold=60

#SDK implementation class for face
mosip.biometric.sdk.provider.face.classname=io.mosip.kernel.biosdk.provider.impl.BioProviderImpl_V_0_7
#SDK API version
mosip.biometric.sdk.provider.face.version=0.7
#SDK implementation class consturctor args - comma separated
mosip.biometric.sdk.provider.face.args=
#SDK initialization args
#mosip.biometric.sdk.provider.face.<key1>=<value1> is also supported, this will be passed as initparams
#Quality threshold used by SDK to match modality
mosip.biometric.sdk.provider.face.threshold=60
**

Do you agree @Anusha_sunkadh ?

Yes @kamiri ,
We should always provide commons/IBioApi.java at develop · mosip/commons · GitHub implemented class names.

  • for registration-client version < 1.2.0

mosip.biometric.sdk.provider.finger.classname
mosip.biometric.sdk.provider.iris.classname
mosip.biometric.sdk.provider.face.classname

  • for registration-client version >= 1.2.0

mosip.biometric.sdk.providers.finger.vendor-name.classname
mosip.biometric.sdk.providers.iris.vendor-name.classname
mosip.biometric.sdk.providers.face.vendor-name.classname

2 Likes