cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Error when running hybris with Cybersource

640

Hybris Version - 1808, CyberSource API version - 2.3.0

Successfully added all the API jars and extensions to hybris. Able to build the source without any build errors. But when starting the hybris I'm getting the following error. How to solve this issue?

INFO  [localhost-startStop-7] [ListMergeDirectiveBeanPostProcessor] Post Processing ListMergeDirective [CybersourcePaymentAddonBeforeViewHandlerListMergeDirective] on Bean [beforeViewHandlersList]
WARN  [localhost-startStop-7] [TenantIgnoreXmlWebApplicationContext] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flexMicroformController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.cybersource.payment.defaultCybersourceFlexService': FactoryBean threw exception on object creation; nested exception is com.google.inject.ProvisionException: Unable to provision, see the following errors:

1) Error in custom provider, java.lang.IllegalArgumentException: data must be not null and not empty.
  at com.cybersource.module.common.FlexMicroformModule.flexService(FlexMicroformModule.java:48) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.cybersource.module.CybsPaymentModule -> com.cybersource.module.common.FlexMicroformModule)
  at com.cybersource.module.common.FlexMicroformModule.flexService(FlexMicroformModule.java:48) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.cybersource.module.CybsPaymentModule -> com.cybersource.module.common.FlexMicroformModule)
  while locating com.cybersource.flex.sdk.FlexService annotated with @com.google.inject.name.Named(value=com.cybersource.payment.flexService)
    for field at com.cybersource.payment.service.flex.DefaultCybersourceFlexService.flexService(DefaultCybersourceFlexService.java:20)
  while locating com.cybersource.payment.service.flex.DefaultCybersourceFlexService
  while locating com.cybersource.payment.service.flex.CybersourceFlexService

1 error
WARN  [localhost-startStop-7] [TenantIgnoreXmlWebApplicationContext] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flexMicroformController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.cybersource.payment.defaultCybersourceFlexService': FactoryBean threw exception on object creation; nested exception is com.google.inject.ProvisionException: Unable to provision, see the following errors:

1) Error in custom provider, java.lang.IllegalArgumentException: data must be not null and not empty.
  at com.cybersource.module.common.FlexMicroformModule.flexService(FlexMicroformModule.java:48) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.cybersource.module.CybsPaymentModule -> com.cybersource.module.common.FlexMicroformModule)
  at com.cybersource.module.common.FlexMicroformModule.flexService(FlexMicroformModule.java:48) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> com.cybersource.module.CybsPaymentModule -> com.cybersource.module.common.FlexMicroformModule)
  while locating com.cybersource.flex.sdk.FlexService annotated with @com.google.inject.name.Named(value=com.cybersource.payment.flexService)
    for field at com.cybersource.payment.service.flex.DefaultCybersourceFlexService.flexService(DefaultCybersourceFlexService.java:20)
  while locating com.cybersource.payment.service.flex.DefaultCybersourceFlexService
  while locating com.cybersource.payment.service.flex.CybersourceFlexService

Accepted Solutions (0)

Answers (1)

Answers (1)

kmrrajeev
Discoverer
0 Likes

Put these two properties in local.properties:

cybersource.customer.flex.microform.api.key.id=something

cybersource.customer.flex.microform.shared.secret=something

These are needed to instantiate one of the dependent bean.