Business Rule issue while migrating from Oracle SOA Suite 10g to Oracle SOA Suite 11g - Compilation errors with rule facts classes having long qualified package name.
If we had used the long qualified package name with rule facts classes (mainly with XML facts)e.g. “com.xxxxxxx.ns._2007._01._25.gcap.eai.ordermanagement” in 10g Business rule ,we will be receiving the below error during the compilation of the composite with the migrated rule in 11g.
[scac] error: location {/ns:composite/ns:import[@location='file:/D:/Albin/EAI/DevCodeBase/11g_Migration/CRM_EAI_code_deploy/code/OrderRequestRule/OrderRequestRule/OrderLineRequestDictionary141008_DecisionService_1.wsdl']}: Load of wsdl "OrderLineRequestDictionary141008_DecisionService_1.wsdl with Message part element undefined in wsdl [file:/D:/Albin/EAI/DevCodeBase/11g_Migration/CRM_EAI_code_deploy/code/OrderRequestRule/OrderRequestRule/OrderLineRequestDictionary141008_DecisionService_1.wsdl] part name = payload type = {http://xmlns.oracle.com/OrderLineRequestDictionary141008/OrderLineRequestDictionary141008_DecisionService_1}callFunctionStatelessDecision" failed
[scac] error: location {OrderLineRequestDictionary141008}: Rule Dictionary OrderLineRequestDictionary141008 is invalid.
[scac] error: location {OrderLineRequestDictionary141008}: Function OrderLineRequestDictionary141008.Version1_1.OrderLineRequestDictionary141008.OrderLineRequestDictionary141008_DecisionService_1 does not exist in rule dictionary
The rule facts need to be recreated with the shorter package name to overcome this compilation error.
The below are the steps to recreate the rule facts from XSD:
1. Remove all the XML facts - Open the rule dictionary and remove all the facts available.