1 Reply Latest reply: Oct 26, 2011 3:26 AM by Andy Papastefanou RSS

    Two-layer BPM with Phase Activity not working in SOA Suite 11gR1

    751880
      When we follow the tutorial in a oracle manual on using two-layer business process management (BPM) we get the following error on runtime:

      [2010-09-01T18:08:54.948+02:00] [soa_server1] [ERROR] [] [oracle.soa.services.rules] [tid: orabpel.invoke.pool-4.thread-13] [userId: weblogic] [ecid: 0000IfE3hbgEWNx6wBZf6G1CUvFT000S9k,0:33:100000050] [APP: soa-infra] [composite_name: WorkflowDispatcher] [component_name: OracleRules_LaunchWorkflow_InvokeProcess] [component_instance_id: 69b37476-a64a-4694-b478-3f8ac851e89d] [dcid: 8396be76c281456d:5ad612c:12aaea3aba5:-8000-000000000000101f] [composite_instance_id: 100061] <.> Fact not found in the rule engine working memory, rule session execution failed.[[
      The rule session 100061 failed because an instance of the fact oracle.tip.mediator.rules.model.DynamicRouting could not be found in the working memory of the rule session. This is most likely a rule modeling error. The decision service interaction expects the fact instance to exist in the working memory of the rule session. Check the rule actions in rule designer and make sure that a fact of the expected type is being asserted. Contact oracle support if error is not fixable

           at oracle.bpel.services.rules.rpi.oracle2.OracleRuleSession.executeUnitOfWork(OracleRuleSession.java:587)
           at oracle.bpel.services.rules.rpi.AbstractDefaultRuleSession.execute(AbstractDefaultRuleSession.java:257)
           at oracle.bpel.services.rules.rpi.oracle2.OracleRuleSession.execute(OracleRuleSession.java:270)
           at oracle.bpel.services.rules.impl.DecisionServiceImpl.process(DecisionServiceImpl.java:331)
           at oracle.bpel.services.rules.fabric.BusinessRulesServiceEngine.request(BusinessRulesServiceEngine.java:634)
           at oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest(SynchronousMessageHandler.java:139)
           at oracle.integration.platform.blocks.mesh.MessageRouter.request(MessageRouter.java:179)
      .....

      This solution makes use of the Phase activity. You can only configure the input and output of this activity. All the components and wiring is then automatically created for you. Finally you add the dynamic routing actions in the decision table and it is finished.

      On runtime when looking into the flow trace we see the correct data being sent to the mediator that does the dynamic routing based on the decision table. So the correct data is added as a fact to the working memory. But somehow no rule(s) are fired so the DynamicRouting fact is not being instantiated.

      Did anyone succeed in using the functionality? What could be the problem...
        • 1. Re: Two-layer BPM with Phase Activity not working in SOA Suite 11gR1
          Andy Papastefanou
          Hi,

          I also followed the tutorial and am experiencing the same problem above:
          "Fact not found in the rule engine working memory, rule session execution failed. The rule session 1480978 failed because an instance of the fact oracle.tip.mediator.rules.model.DynamicRouting could not be found in the working memory of the rule session...."

          Checked the composer and it seems like everything that should be there, is there...
          No hits on Google or Metalink and now I'm stuck.

          Can anybody please assist?

          Kind Regards,
          Andy