Oracle Business Rule Exception during deployment

Hi Experts,
We implemented the OBR(Oracle Business Rules) within CEP and I always encounter a strange behavior. For some reason, I always encounter this error:
Apr 8, 2011 3:15:10 PM oracle.rules.rl.RuleSession logIt
SEVERE: symbol 'oracle.rules.rl.xpath.Step' is undefined
at line 1 column 12 in main
Apr 8, 2011 3:15:10 PM oracle.rules.rl.RuleSession logIt
SEVERE: UndefinedException: symbol 'oracle.rules.rl.xpath.Step' is undefined
at line 1 column 12 in main
Apr 8, 2011 3:15:10 PM oracle.rules.rl.RuleSession logIt
SEVERE: symbol 'oracle.rules.rl.xpath.Step' is undefined
at line 1 column 12 in main
Apr 8, 2011 3:15:10 PM oracle.rules.rl.RuleSession logIt
SEVERE: UndefinedException: symbol 'oracle.rules.rl.xpath.Step' is undefined
at line 1 column 12 in main
<Apr 8, 2011 3:15:10 PM PHT> <Error> <com.nsn.cvo.ingestion.callscenario.bean.OBRExecuteBean> <BEA-000000> <oracle.rules.sdk2.exception.SDKException: RUL-05187: error getting a rule session from decision point rule session pool.
>
After restarting CEP, OBR is running perfectly. I am not sure how to resolve this issue and need your guidance on how to prevent this from happening. My java source source code is below: The initializeDecisionEngine is called only once. My input to OBR is a java.util.Map(this is a requirement and can't do anything about it).
private String rulesPath;
private RuleDictionary ruleDictionary;
private DecisionPointInstance decisionPointInstance;
private String decisionFunctionName = "decisionFunctionName";
private void initializeDecisionEngine() {
          try {
               if (rulesPath == null) {
                    return;
               if (decisionPointInstance == null) {
                    ruleDictionary = this.loadRuleDictionary(rulesPath);
                    DecisionPoint decisionPoint = new DecisionPointBuilder().with(
                              decisionFunctionName).with(ruleDictionary).build();
                    decisionPointInstance = decisionPoint.getInstance();
                    System.out.println("INIT() OUT");
          } catch (SDKException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
private RuleDictionary loadRuleDictionary(String path) {
          System.out.println("loading dictionary from path: " + path);
          RuleDictionary dict = null;
          Reader reader = null;
          try {
               reader = new FileReader(new File(path));
dict = RuleDictionary.readDictionary(reader, new DecisionPointDictionaryFinder(null));
               List<SDKWarning> warnings = new ArrayList<SDKWarning>();
               dict.update(warnings);
               if (warnings.size() > 0) {
                    log.error("Validation warnings: " + warnings);
          } catch (SDKException e) {
               log.error(e);
          } catch (FileNotFoundException e) {
               log.error(e);
          } catch (IOException e) {
          } finally {
               if (reader != null) {
                    try {
                         reader.close();
                    } catch (IOException ioe) {
                         ioe.printStackTrace();
          return dict;
private executeOBRRule(){
Map<String, String> mapEntry = new HashMap<String, String>();
mapEntry.put("column1", "value1");
mapEntry.put("column2", "value2");
mapEntry.put("column3", "value3");
if (decisionPointInstance != null) {
               decisionPointInstance.clearInputs();
               // decisionPointInstance.
               List<Object> list = new ArrayList<Object>();
               list.add(mapEntry); <--- Adding the map to a list since it is the only allowed input for OBR, or is there any other way other than list? -->
               decisionPointInstance.setInputs(list);
Object obj = decisionPointInstance.invoke();  <<<<<< this is where the exception is raised.
My question is that why is the exception is being raised and sometimes it is not. My only resolution is to restart CEP server. Am I missing something? My obr rule file is ok since it does not display any error during compilation. If you can guide me to the correct path, I will really appreciate it.
Regards,
Russel

Is this problem resolved?
If so it would be greatly helpful if you could provide the solution.
Regards,
Nigel.

Similar Messages

  • How to add Exception handling in Oracle Business rules Function

    Hello,
    We use to have good number of business rules in our application. So we need to have some functions in BR Composite.
    Can some one let me know how to handle exception in Oracle business rules exception( Regular try catch will not compile)
    is there any way please let me know.
    Edited by: Network22 on Mar 25, 2013 10:21 AM

    Why aren't you using por_custom_pkg.custom_validate_req_line to add extra validations.
    Ensure that profile POR: Enable Requisition Line Customization is set to Yes if you were to use po_custom_pkg for Requisition line validations.
    OAF calls por_custom_pkg at various points depending upon the values in Profile Options:-
    POR: Enable Req Distribution Customization
    POR: Enable Req Header Customization
    POR: Enable Requisition Line Customization
    Thanks,
    Anil Passi

  • Can you deploy Oracle Business Rules to the other App servers

    Can you deploy Oracle Business Rules to the other App servers such as Websphere and Jboss

    Yes. Please see the Appendix C in the documentation at:
    http://download-west.oracle.com/docs/cd/B31017_01/web.1013/b28965.pdf
    For WebSphere, updated instructions will be released soon that allow all RuleAuthor features to be used.

  • JHeadstart, Oracle Business Rules and BPEL Process Manager

    Dear JHeadstart Team,
    I have some questions regarding integration of JHeadstart and Oracle Business Rules and Oracle BPEL Process Manager. As a matter of fact I don't have any work expriences with these tools so my questions may not be good and precise.
    1- Using a business rule engine can dramatically increase speed of development and ease of maintenance.I had a very good exprience in using JHeadstart and Headstart in the past but I wanted to know if it is possible to use Oracle Business Rules in conjunction with the JHeadstart ? If so, What steps should be taken? Is there any known issue about this integration? Does Oracle Business Rules have any interference with JHeadstart or it is only used in model layer during insert,update,delete?
    2- Is it possible to develope a system based on oracle work flow engine (Oracle BPEL Process Manager) using JHeadstart ? If so, What steps should be taken and how the changes in the flow of work would by applyed in a system developed by JHeadstart. Is there any known issue about this integration?
    Any help,link to documents or general guidelines would be highly appreciated.
    Thanks in advance,
    Navid

    Couple of things I would like to add, are the following.
    In the context of an ADF application usage of Oracle Business Rules most likely is in the business logic layer, but mind that it does not need to be restricted to that.
    Oracle Business Rules takes so called 'facts' as input, evaluates some rules based on that and change those facts or return some result. That might be checking a business rule as defined in the JHeadstart Developers Guide. But it might also return some value that is used in a navigation rule.
    Think about a page flow where after page A normally page C is presentend, but in case of some situation (like a customer ordered something and you want to present some special offering based on that) you want page B presented in between (i.e. A -> B -> C). Oracle Rules could be used to determine this page flow. This would be an example of using it in the controller layer (probably in combination with using facts that come from the model layer).
    Another remark that I would like to make, is that in my opinion it does not make much sense to use Oracle Rules for business rules that logically more or less are part of your data model (like end date must be on or after begin date). You typically use Oracle Rules to implement business rules that are of a volatile nature, meaning that day-to-day business may require a change of the rules. One example is the navigation case that I mentioned before. Another (typical) example would be a rule that defines when a customer is a Gold customer.
    Jan Kettenis

  • Using third party jars with Oracle Business Rules

    Hi
    I am working on Oracle AS 10g release 2.
    We are using Oracle Business Rules in integration with Oracle BPEL.
    While using third party jars however, Oracle Business Rules end is facing errors.
    Error during unmarshallingProvider com.sun.xml.bind.ContextFactory_1_0_1 not found
    oracle.classloader.util.AnnotatedClassNotFoundException:
    Missing class: com.sun.xml.bind.ContextFactory_1_0_1
    Dependent class: javax.xml.bind.ContextFinder
    Loader: oracle.xml:10.1.0_2
    Code-Source: /D:/oracleasr3/lib/xml.jar
    Configuration: <code-source> (ignore manifest Class-Path) in META-INF/boot.xml in D:\oracleasr3\j2ee\home\oc4j.jar
    Can anybody help in figuring out where Jaxb jars(3rd party jars) are to be kept so that OAS access it?
    We tried using the applib folder to load the jars but we are getting class loading errors.
    When new instances are created, class loading is not happening.
    Pls help.
    Thanks
    Kavya

    Are you using Application Server Release 3 or Release 2? There are different versions listed in your mail.
    I think you probably want to add this as a shared library via EM and then import the shared library to your application with the application's xml config files.

  • Oracle Business Rule interoperability

    Hello,
    I'm evaluating Oracle Business Rule for a project that is using Bea Weblogic products (WLS 9.2, Aqualogic, etc.). I understand that the new Oracle Soa suite is based on either Weblogic 10 or Websphere. I would like to know if it is possible to create and deploy rules using OBR in other J2EE containers (such as Weblogic Server 9.2). In other words, does the OBR runtime have any dependency with the new Soa Suite?
    Thanks
    Luciano

    Business Rules 11g hasn't been certified with Websphere or JBoss yet. Also the latest version of business rules (recommended as it has Composer) 11.1.1.2 is only certified with WLS 10.3.2. The 10g version of business rules is certified with WLS 9.2 but not recommended as 11g provides much more functionality.
    This does not mean you cant take advantage of 11g in your environment. Oracle Business Rules can be implemented as standalone. It is licensed under WebLogic Suite, therefore you don't need to purchase SOA Suite.
    You will need to install WLS 10.3.2 and install SOA Suite to get the Business Rules, if you are not licensed for SOA Suite it is recommended to switch off the applications your not entitled to. Your Aqualogic can call Business Rules via web services.
    cheers
    James

  • ODI and Oracle Business Rules

    Hi, I have a question that hopefully someone can give light to.
    Our current requirement for an ODI solution is to have business users create or edit rules (not just table constraints, but actual complex business process rules) that they would like to apply to the data during integration. I was thinking of two possibilities for this:
    1. Load a rule file in ODI and then execute the rules in ODI.
    2. Use Oracle Business Rule.
    Between the two options, which is most likely possible? I have yet to fully explore ODI so I'm not sure if both of these options are feasible. If not, can someone give me sound ideas to work on for this requirement?
    Thanks,
    Jason

    Melli,
    I just started with semantic so won't have many useful ideas for at least some time.
    mostly there will be bugs and misunderstanding on my part.
    At this point i do see that the supplied library is not working properly . see my other thread. Fixing that would be really helpful.
    Let me know
    As of Composer - well let's just say its cost ineffective for organization to use on pilot project..

  • OPA & Oracle Business Rules

    Can any one provide me the basic difference between OPA & Oracle Business Rules
    The difference between "OPA & Oracle Business Rules" link or document will help me a lot.

    OBR is a tool that is part of Oracle Fusion Middleware.
    OPA is an application for transforming policy documents into self-service interviews that help you make complex decisions, and for deploying those policies in conjunction with other applications across your enterprise for auditable decision-making.
    Suggest you also check out OTN:
    http://www.oracle.com/technology/products/applications/policy-automation/index.html
    Davin Fifield

  • Guideline for making java application to be used in oracle business rules

    hi'
    I am using Oracle Business Rules and trying to use one of my simple java program and trying to use it in rule author, however its showing "0 classes or packages have been imported.", please Tell me what guidelines to follow to program in Java so that we can use those Java classes in Rule Author.*
    I am using Oracle Rule author and in definition's Tab when I try to Import the classes then nothing is importing {color}"0 classes or packages have been imported."
    My Java class is
    package getDiscount;
    public class Test123 {
    private int i;
    public void setDiscount(int i) {
    this.i = i;
    public int getDiscount() {
    return i;
    public static void main(String args[]) {
    Test123 d = new Test123();
    d.getDiscount(100);
    void getDiscount(int quantity) {
    if (quantity &gt; 500) {
    setDiscount(10);
    System.out.println("Discount on this Quantity is--&gt;"+getDiscount());
    } else if (quantity &gt; 250 && quantity &lt; 499) {
    setDiscount(5);
    System.out.println("Discount on this Quantity is--&gt;"+getDiscount());
    } else {
    setDiscount(0);
    System.out.println("Discount on this Quantity is--&gt;"+getDiscount());
    Test class:
    package getDiscount;
    public class Test123 {
    private int i;
    public void setDiscount(int i) {
    this.i = i;
    public int getDiscount() {
    return i;
    public static void main(String args[]) {
    Test123 d = new Test123();
    d.getDiscount(100);
    void getDiscount(int quantity) {
    if (quantity &gt; 500) {
    setDiscount(10);
    System.out.println("Discount on this Quantity is--&gt;"+getDiscount());
    } else if (quantity &gt; 250 && quantity &lt; 499) {
    setDiscount(5);
    System.out.println("Discount on this Quantity is--&gt;"+getDiscount());
    } else {
    setDiscount(0);
    System.out.println("Discount on this Quantity is--&gt;"+getDiscount());
    Edited by: Yatanveer Singh on Dec 24, 2008 12:19 AM

    Error
    Cannot perform operation. 'RUL-01527: Received exception for loadClass. RUL-01016: Cannot load Java class lib.Demo. Please make sure the class and all its dependent classes are either in the class path, or user specified path. Root Cause: lib/Demo (wrong name: Demo) '
    Hide
    oracle.rules.sdk.exception.RulesSDKException: RUL-01527: Received exception for loadClass. RUL-01016: Cannot load Java class lib.Demo. Please make sure the class and all its dependent classes are either in the class path, or user specified path. Root Cause: lib/Demo (wrong name: Demo) at oracle.rules.sdk.mapper.RuleObjectHelper.loadClassOrPackage(RuleObjectHelper.java:2154) at oracle.rules.ra.uix.mvc.ClassSelectorEH.importClassesOrPackages(ClassSelectorEH.java:184) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at oracle.rules.ra.uix.mvc.BeanEH.genericHandleEvent(BeanEH.java:869) at oracle.rules.ra.uix.mvc.BeanEH.handleEvent(BeanEH.java:838) at oracle.cabo.servlet.event.TableEventHandler.handleEvent(Unknown Source) at oracle.cabo.servlet.event.TableEventHandler.handleEvent(Unknown Source) at oracle.cabo.servlet.event.BasePageFlowEngine.handleRequest(Unknown Source) at oracle.cabo.servlet.AbstractPageBroker.handleRequest(Unknown Source) at oracle.cabo.servlet.ui.BaseUIPageBroker.handleRequest(Unknown Source) at oracle.cabo.servlet.PageBrokerHandler.handleRequest(Unknown Source) at oracle.cabo.servlet.UIXServlet.doGet(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:743) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:711) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368) at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448) at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:302) at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190) at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303) at java.lang.Thread.run(Thread.java:595)

  • Not able to access the web based RuleAuthor of Oracle Business Rules

    Hi ,
    I have Installed Oracle SOA Suite (11g) version from here .
    I have followed the steps in the Installation guide .
    I was able to install it successfully. At present I need to Work on the oracle Business Rules.
    As per the documentation I have tried to access the Rules author at the following URL
    http://localhost:7001/ruleauthor/
    But I was not able to access it.
    Please let me know if I need to install any other component to access Rule Author. please let me know if you need any more information.
    Thanks in advance for your time,
    Raja Kumar

    Back up all data.
    Launch the Keychain Access application in any of the following ways:
    ☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
    ☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
    ☞ Open LaunchPad. Click Utilities, then Keychain Access in the icon grid.
    Select the login keychain from the list on the left side of the Keychain Access window. If your default keychain has a different name, select that.
    If the lock icon in the top left corner of the window shows that the keychain is locked, click to unlock it. You'll be prompted for the keychain password, which is the same as your login password, unless you've changed it.
    Right-click or control-click the login entry in the list. From the menu that pops up, select Change Settings for Keychain "login". In the sheet that opens, uncheck both boxes, if not already unchecked.
    From the menu bar, select
    Keychain Access ▹ Preferences ▹ First Aid
    If the box marked Keep login keychain unlocked is not checked, check it.
    Select
    Keychain Access ▹ Keychain First Aid
    from the menu bar and repair the keychain. Quit Keychain Access.

  • How to use  create & ruleExecutionSet in oracle business rules

    I am trying to run the demo example of oracle business rule (car demo) using
    ruleExecutionSet.
    What are the changes thet i have to made in example in order to create & use the ruleExecutionSet to run the car demo .
    with regards
    saleem khan

    you are in the Oracle Forms Forum and your question is related to JDeveloper and Crystal Reports, you think those two are linked to Oracle Forms in anyway??
    Please post your questions in the appropriate Forum.
    Tony

  • Problem in mapping Task payload parameters to Oracle Business Rules facts

    Hi all,
    We are using complex types from our project XSDs inside the Human Task payload. We intend to use these Human Task payload parameters to build routing rules using the Oracle Business Rules interface. Our observation is that when the complexity of these complex types increase, the business rules editor does not show these as facts that can be used in formulating rules.
    Has anybody faced such a problem before. Any help is appreciated.
    We are using the following link to add routing rules –
    http://docs.oracle.com/cd/E25054_01/dev.1111/e10224/bp_decision.htm
    Version details :
    ADF Business Components     11.1.1.60.13
    Java(TM) Platform     1.6.0_29
    Oracle IDE     11.1.1.5.37.60.13
    SOA Composite Editor     11.1.1.5.0.01.74
    Thanks,
    Yamini.

    Problem solved. There was an element in the xml schema that had nillable = true. Because of this the XML Fact for that element would no longer be available in the BPEL Process. Removing the nillable and generating the XML Facts again solved the missing variable problem.

  • Oracle Rules Manager vs Oracle Business Rules

    Hi
    Can someone explain the difference between Oracle Rules Manager and Oracle Business Rules.
    Is Oracle Promoting both the products?
    What I understand is that Oracle Rules Manager comes a part of the Oracle Database 10g R2 (and 11g) and Oracle Business Rules is a part of the SOA suite.
    Is there any difference in the positioning of both these products?
    Our client is evaluating various Rules engines in the market and we want to make sure that we choose the correct product.
    Thanks, Srini

    Igor S. wrote:
    He solves the same problem with rules and without. My question was what would be better? Why would you chose one over the other. I prefer rules that is easy to state, easy to read, and easy to implement. Clear text rules in Prolog being a firm favourite. :-)
    Using a rules engine, with a fairly complex API, in order to define rules? I would want very sound and very robust justification for that.
    Taking this EMP table example. If there is a single AddEmp() PL/SQL procedure interface for adding employees, it is simple matter to see what it does, how it does that, and test and debug that. The only knowledge needed is the ability to read and understand the source code. The same cannot be said of rules engines.
    As for the issue of updating AddEmp() with new rules. Edition redefinition takes care of versioning database objects. And in a far more controlled fashion than dealing with a rules engine that is dynamically update now! while the database is in use - and you have no real idea or real control over when exactly now! was.

  • Oracle Business Rules with Fusion Release 4

    Hi
    I am wondering if we can use the Oracle Business Rules product with the Oracle Fusion Compensation APplication Release 4.
    Thanks
    Srinivasa Sunchu

    Srinivasa,
    There are relevant chapters in the Oracle Fusion Middleware User's Guide for Oracle Business Rules. There is sample code interspersed in the chapters.
    7 Working with Rules SDK Decision Point API
    http://fmwdocs.us.oracle.com/vol/doclibs/fusionapps/review/E36909_01/user.1111/e10228/decision_point.htm#ASRUG455
    10 Working with Oracle Business Rules and ADF Business Components
    http://fmwdocs.us.oracle.com/vol/doclibs/fusionapps/review/E36909_01/user.1111/e10228/adfbc.htm#ASRUG378
    I looked through the source code of one of our products that uses the Rules SDK to see if there is an easy-to-extract example, but it's far beyond the scope of a forum post. We'll probably create one or more blog posts that dive deeper into this topic, but I cannot promise a date for that. Keep an eye on http://blogs.oracle.com/fadevrel please.

  • DB Call from Oracle Business Rule +Java Method call from OBR

    Hi,
    1.We have a requirement in project where we need to make DB Call from Business rule.
    We are using ORACLE SOA11g.
    Is this possible.Any pointers on this will be helpfull.
    2.Can we call java method from Oracle Business Rule.If so pls suggest how it can be done.
    Thanks In Advance,
    Oracle SOA User

    You can implement java class to make database updates using JDBC. You can add Java class as fact in business rules and invoke methods as actions of the business rules.
    Hope this will help.
    Jayesh Patel
    http://jayesh-patel.blogspot.com/
    http://www.yagnasys.com/

Maybe you are looking for