cancel
Showing results for 
Search instead for 
Did you mean: 

[AbstractProcessContextStrategy] Failed to lookup BaseSite for BusinessProcess .

0 Kudos

[AbstractProcessContextStrategy] Failed to lookup BaseSite for BusinessProcess [CiOrderCancellationProcess-C2224740-1634716682867]. Unable to setup site in session. WARN [TaskExecutor-master-177-ProcessTask [8802777727926]] [GenerateEmailAction] Could not resolve the content catalog version, cannot generate email content

This is the error which I'm getting, We have used mapmerge in our custom core extension,

<bean depends-on="processContextResolutionStrategyMap" parent="mapMergeDirective">

<property name="key">

<value type="java.lang.Class">de.hybris.platform.processengine.model.BusinessProcessModel</value> </property> <property name="value" ref="storeFrontProcessContextStrategy"/>

</bean>

both site and catalog versions are coming as null, In warehouse extension there is already one more mapmerge defined which picks consolidatedPickSlipBusinessProcessContextStrategy for BusinessProcessModel.

what can be done to resolve this issue, it is causing lots of problem and mails are not getting generated.

Accepted Solutions (0)

Answers (1)

Answers (1)

StefanKruk
Active Participant
0 Kudos

The "consolidatedPickSlipBusinessProcessContextStrategy" is found most likely because the Process is using a dedicated type of BusinessProcessModel.

The Logic in SAP Commerce is as follow:

First look for a Strategy for the direct Type. If nothing is found look for a Strategy for the Super Type.

The Solution would be to change your key to the specific Sub Type that is used.

0 Kudos

In warehousing extension, there is use of consolidatedPickSlipBusinessProcessContextStrategy in spring.xml,

<bean depends-on="processContextResolutionStrategyMap" parent="mapMergeDirective"> <property name="key"> <value type="java.lang.Class">de.hybris.platform.processengine.model.BusinessProcessModel</value> </property> <property name="value" ref="consolidatedPickSlipBusinessProcessContextStrategy"/> </bean>

In our custom core extension, we are having one more mapmerge,

<bean depends-on="processContextResolutionStrategyMap" parent="mapMergeDirective"> <property name="key"> <value type="java.lang.Class">de.hybris.platform.processengine.model.BusinessProcessModel</value> </property> <property name="value" ref="storeFrontProcessContextStrategy"/> </bean>

now, do I have to replace BusinessProcessModel with StoreFrontProcessModel in our custom core extension?

StefanKruk
Active Participant
0 Kudos

The StoreFrontProcessModel should be the default BusinessProcessModel that is used for all Processes that are involved in the Storefront. (Examplel: ForgottenPasswordProcessModel is a extending the StoreFrontProcessModel)

In your case it should be enough to just change the Class in the map from BusinessProcessModel to StoreFrontProcessModel