Business rules engine faults..

Can someone please advise on what could cause this issue?
We are using SOA suite 11.1.1.2
1. The rules engine takes an input as usual but doesn't send any output.
2. The BPEL process that invokes the rules sends out a bpelFault instead - (because the rules engine doesn't send anything back)
<bpelFault>
<faultType>
<message>0</message>
</faultType>
<selectionFailure>
<part   name="summary" >
<summary>empty variable/expression result. The XPath variable or expression /ns1:callFunctionStatelessDecision/ns1:resultList/ns2:RulesResponse is empty at line 122. An attempt to read or copy data referenced or computed by the XPath expression either had invalid data, according to the XML schema, or did not contain certain optional data. Ensure that the variable or expression result named in the error message is not empty. Enable XML schema validation of related variables to ensure the run-time data is valid. </summary>
</part>
</selectionFailure>
</bpelFault> 3. At other times, the process works fine for the SAME input

Hi Paul:
The short answer is yes.  But its not easy.
You will have to add some references to your orchestration:
System.Transactions.DLL, System.Data.DLL, Microsoft.RuleEngine.DLL
Next the BRE will need a connection string to connect to your database.
Create a Variable in the orchestration ex:  SQLConn of type  System.Data.SqlClient.SqlConnection
Create a Variable in the orchestration ex: RulesConn of type Microsoft.RuleEngine.DataConnection
in an expression shape set the following :
SQLConn = new System.Data.SqlClient.SqlConnection("Initial Catalog=Customer;Data Source=(local);Integrated Security=SSPI;");
RulesConn = new Microsoft.RuleEngine.DataConnection ("database", "tablename", SQLConn);
then call the rules shape.... it should work.
there is a blog post about this I have used in the past:
http://blogs.msdn.com/b/rgarg/archive/2009/04/23/using-biztalk-business-rules-engine-bre-with-database.aspx

Similar Messages

  • Business Rules Engines?

    Hi,
    I have experience with embedding "CLIPS" which is a C rules engine as a
    Forte Service Object which was easily wrappered using standard Forte
    wrapper strategy.
    Also, we have a sales rep in ATL who used to work @ ILOG and therefore
    competed with Nueron Data, and from various conversations with mutual Forte
    / Rules Engine customers I've learned it would be a complimentary integration.
    They all have some C-callable API and so a Forte Service Object would be a
    good client to the rules engine api due to our support for multi-threading
    when API is thread safe and additional option of replicating for load-bal
    when API isn't thread safe. The later concept is analogous to our use of
    DBSession object for interface with DBMS client api's.
    Be aware, the experiences I hear about with the mentioned rules engines is
    that there are not always business analysts truly capable of using the
    Rules development interfaces provided by the tools.
    So maybe the use of Forte Conductor's dynamic Process automation
    capabilities may also be a fit. If you want to discuss how, let me know.
    -jim
    Return-Path: <[email protected]>
    X-Sender:
    Date: Fri, 23 Jan 1998 13:19:03 -0800
    To: [email protected]
    From: Vic Brown <[email protected]>
    Subject: Business Rules Engines?
    Sender: [email protected]
    Reply-To: Vic Brown <[email protected]>
    Has anyone on this list integrated a COTS business rules engine,
    or components, into a Forte application? Specific products
    of interest would be those from Neuron Data, ILOG, USoft
    or, possibly, Vision Software.
    If so, comments? Type of application? War stories?
    Thanks.
    Victor Brown
    TRW Data Services
    Oakland, CA
    Phone: 510.645.3240
    FAX: 510.465.4811Jim Rice mailto:[email protected]
    Forte Software, Inc. http://www.forte.com
    South Eastern Tech Sales Mgr.
    301-721-1910 Corp: 510-869-3400 x2316

    The following Business Rule Solution uses POJO's and XML and meets the following criteria!
    Business Rule Solutions should be:
    Non-Industry Specific
    Appropriate and Affordable for any size business
    Enterprise-class solution (scalable, optimized, extensible)
    Remember: All businesses have business rules, and all businesses need an efficient way of managing and executing these business rules.
    What Business Rule Solutions should provide:
    Input Validation & Data Integrity
    Integration & Data Transformation
    Analytics
    Interpret clients Business Policies & Behaviors and clients run-time
    data and execute the appropriate process related workflow efficiently.
    The Return on Investment:
    ROI continues every day, week, month and year into the future!
    Simplify all program development through component reuse.
    Lowers software maintenance by a magnitude.
    Manages & Protects a company assets (Business Rules) in one
    repository.
    Provide Business Agility and Competitive Advantage!
    Further, I believe Business Rule Solutions are a higher level of abstraction of services that all other applications should use to implement the Model-View-Controller design pattern!
    Use the Contact Us! page for quicker responses. http://www.agilebusinessrulecomponents.com

  • Business rules Engine

    I have a system dealing with different work flow engines at the same time. It gets data from a whole list of different applications, Once it recieves this information, it processes it based on a Business Rules Engine. The rules for the Busines Rules Engine are defined in a definition filw which is huge and deals with info as to how to handle a particular piece of data under a certain situation. Would you send it to System A, B or X based on some information and what kind of operation needs to be carried out.
    Now this seems to be a decoupled system since theis system acts like an Enterprise bus or a hub and is decoupled from the rest of the systems. Its technological dependencies on the rest are minimal. But the problem as in any mediator based pattern is that if the definition file is messed up, the rules def file, all the systems getting info from the hub would be messed up.
    Could someone advise how to avoid this dependency, which is more of a business rules dependency than technological.

    "messed up" as in one or more bits flipped? or as in those rules are
    incorrect? Flipped bits can quite adequately be detected by some form
    of CRC. Incorrect rules are much more difficult to detect.
    kind regards,
    Jos

  • Does sap xi has business rules engine?

    Dear experts,
    i am dealing with microsoft biztalk server,i come across this business rules engine.this framework comprises policies,facts,vocabularies, and rules.
    so does <b>sap xi </b>has this business rules engine??if yes plz eloborate?? if no whats the sap's alternate for this??
    thanks heaps in advance
    cheers
    kish

    well alternative would to develop some web page or ABAP screen which you can fromulate rule and in background you can use R3 Custom tables or any database tables to store the rules...
    while mapping you can do RFC lookup in case you have used R3 tables or database lookup to read the rule in case of other database....
    look possible but we have yet started working on this approach..

  • Business Rules Engine (BRE) is this really a true business user's tool?

    The primary need for business/information/non-technical users is to be able to create, edit, delete, enable, disable rules once developed (vocabulary) & deployed by the developer. Is it possible? If possible then how &
    by using which tool or UI of Biztalk server?
    For the batch process, if each input record from flat file can be match with the 50 million records in Sql server, then what would be the performance?

    What all needed at client machine to make use of Business Rules Composer for 10 machines?
    Non-technical users is able to create, edit, delete,
    enable, disable rules using Business Rules Composer, is it possible?

  • Oracle Business Rule Engine

    Hello Everyone,
    I am using Oracle Business Rule in an application. I want to know that is it possible to call a rule
    set from another rule file.
    Suppose there are two rule files RuleFile1 and RuleFile2.
    We have invoked RuleFile1 the by any how can we invoke the rule set from RUleFile2.
    thanks
    saleem

    Yes, it is.
    In RuleFile2, just add
    include file:RuleFile1.rl;
    Then, all of the elements in RuleFile1.rl can be referenced from RuleFile2. Since RL is interpreted, the file must be available at runtime.
    --Phil                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Business Rule Engine

    Hi,
    i am trying to use an xsd with maxoccurs for a rule. The rule author converts this into a LIST.
    If i start now a BPEL process and assign the variables, the rules work on all items which are not LIST items.
    Is there a trick to use them in the rule author?
    Here my XSD
    <xsd:element name="DSLAMContainer" type="DSLAMContainertype"/>
    <xsd:complexType name="DSLAMContainertype">
    <xsd:sequence>
    <xsd:element name="desiredBandwidth" type="xsd:int"/>
    <xsd:element name="Modell" type="Modelltype" minOccurs="1" maxOccurs="3"/>
    <xsd:element name="decision" type="Decisiontype"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="Modelltype">
    <xsd:sequence>
    <xsd:element name="vacantPorts" type="xsd:int"/>
    <xsd:element name="type" type="Versiontype"/>
    <xsd:element name="name" type="xsd:string"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="Versiontype">
    <xsd:sequence>
    <xsd:element name="name" type="xsd:string"/>
    <xsd:element name="minBandwidth" type="xsd:int"/>
    <xsd:element name="maxBandwidth" type="xsd:int"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="Decisiontype">
    <xsd:sequence>
    <xsd:element name="count" type="xsd:int"/>
    <xsd:element name="type" type="xsd:string"/>
    <xsd:element name="name" type="xsd:string"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:schema>
    DSLAMContainer.desiredBandwidth      ==      2000
    -> Assign DSLAMContainer.desiredBandwidth = 80     
    works
    Modell.vacantPorts      >      10
    -> Assign Modell.type.name = "FREE"     
    is ignored

    HI,
    Do you have any question? The forum is for questions and discussions,
    if you want to share your Biztalk blogs, it's recommended to post it to TechNet Wiki, and you could follow the article below to join TechNet Wiki,
    Join TechNet Wiki: http://social.technet.microsoft.com/wiki/contents/articles/129.technet-wiki-how-to-join.aspx 
    Thanks for your understanding.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place. <br/> Click <a
    href="http://support.microsoft.com/common/survey.aspx?showpage=1&scid=sw%3Ben%3B3559&theme=tech"> HERE</a> to participate the survey.

  • [Business Rules] Rules engine not updating my Fact Result as expected.

    I have a Fact type implemented as a Java class, named Commission with the following properties: age(int), area(int), amt(double):
    In the Java application I set the age to 30 and area to 3:
    Commission comm = new Commission();
    comm.setAge(30);
    comm.setArea(3)Now I have a set of rules defined in the ruleAuthor where in, if the age is > 20 and area is between 1 and 5 then the business rule engine should set the Amt field to .3
    But when I run the rules engine:
    ruleSession.executeRuleset(...);
    ruleSession.callFunctionWithArgument("assert", comm);
    ruleSession.callFunction("run");
    double commamt = comm.getAmt(); //this value returns (0) as if the rules engine did not fire the rule and did not change the amt field to .3When i get the comm.getAmt(), the value is zero and not 0.3 which is the expected result.
    I wonder what's wrong, I only followed and patterned the instructions and code that came with Oracle Business Rules CarRental Example and/or the example that came in the Business Rule ViewLet.

    Hi Phil,
    I tried your suggestion. But it still does not work.
    I don't if this would help but this is how I defined my rules:
    1. I created a Java class file as a Fact Definition. Compiled it and stored it into a jar file.
    2. Copied the .jar file to a remote machine where OracleAS is installed.
    3. I run the ruleAuthor (browser) and specified a ruleRepository file.
    4. Specified the jar file where the Fact Definition (Java file) is.
    5. Created Ruleset and Rules
    6. Save the Dictionary.
    7. Copied the generated rulesRepository on to my local hard drive (remote).
    8. Create and Run the Rule-Enabled Java application. ruleRepository points to the ruleRepository file generated by ruleAuthor and copied to my local hard drive.
    Maybe there is something wrong with how I packaged the Java Fact Definition?

  • Business Rules and BPM

    Anybody here knows the difference between Business Rules and BPM..
    We can do pretty much everything with a Business Rules Engine as we would do with BPM , then in which scenario should we use BPM and in which scenario should we use Business Rules Engine?
    Ofcourse Business Rules Engine has more complex set of rules than any BPM product in the market for .eg. ILOG Business Rules...

    BPM and a rules engine are different. Both are important, but they have different uses.
    Oracle BPM Studio is used by Business Analysts and Developers to model processes, integrate underlying components (including business rules) and develop user interfaces.
    There's an Engine that executes the processes that have been modeled. It sends the work item instances to the right person or persons with the right data when the work item reaches an interactive activity in the process. Similarly the Engine has invokes the underlying components specified in the process when the work item instance reaches an automatic activity.
    There's an out of the box Workspace runtime that lets end users manage and run their work item instances as they flow throughout the processes.
    We can business rules inside the processes, but one does not replace the other.
    Dan

  • Using StartsWith for String Comparision in Business rules

    hi,
    I need to compare whether a particular string starts with some pre-defined prefixes. These are bound to change from time to time and hence we wanted to use the business rule engine for this. We declared prefixes using "list of values" vocab and
    defined the set. Now, I hoped to use the String.StartsWith() method but couldn't understand if it can be used.
    As of now, we are creating a method and that will be called with 2 parameters. One the string and other is one of the list of values which we want the string to start with. Is there any better way to do this?
    Praveen Behara
    MCST : BizTalk Server 2006 R2, 2010

    Hi Murugesan,
    I need to match a particular series of numbers... say 12xxx,345xxx,567xxx. I am creating a
    Series as a list and the valid values would be 12, 345, 567. I intend to keep them as prefixes i.e. they are not regular expressions. So, they won't be 12.*, 345.*, 567.*. The idea is to keep the vocab close to requirement
    and away from implementation (typically, for a business user). Now, if I want this setup, how will the implementation with
    Match look like?
    Technically, your above solution would work.. but my way of implementation / thought process is for a different purpose.
    Praveen Behara
    MCST : BizTalk Server 2006 R2, 2010

  • Business Rules and BPEL integration

    hi
    can u provide me information on how to integrate Business Rules with BPEL. do provide me any documents related to this, if any.

    Hi,
    In the new 10.1.3 release (scheduled to hit the streets this summer) Oracle provides business rules support in the BPEL product.
    Supported in 10.1.3 are Ilog Jrules as well as Oracle's own business rules engine that will be contained in the package.
    More info on new features can be found in a recent web seminar for which the replay can be obtained here: http://www.oracle.com/technology/products/ias/bpel/htdocs/webinars.html.
    Hth, Sjoerd

  • 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

  • Dynamic Business Rules - Where to place

    Hi,
    I am doing POC for a fortune 10 client and they have some business rules before crud actions are going to take place in DB. We have very minimal tables (less than 10) and its small application but web service (btw, this has to be webservice app) consumers are around 200 per sec.
    The requirement with respect to business rules are also minimal (like 30 rules for entire project) but these rules will change very often(like once in a month). Assume these rules are on the enterprise level and not on the application level.
    I am looking for best possible solution to achieve by developing small rules engine or putting them into another xml and apply transformation once request arrives.
    I am confused of deciding which is better like putting business rules in xslt vs java business object. XSLT is allowing me to change rules with minimum impact on the system but it is hard to maintain and adding new rules (we are not anticipating any more new rules within next two years).
    On the other hand, If I put in Java business object then it allows lot of flexibility to inject new rules and easy to maintain with cleaner code.
    So, in short my questions are below.
    1. Is it good practice to put small set of business rules in xml/xslt?
    2.are there any alternative business rules engines are available?
    Any other suggestion related to above discussions are welcome.
    Thanks.

    I believe this is what you want.
    DROOLS - drools - dynamic rules for java
    http://sourceforge.net/project/showfiles.php?group_id=37037
    http://www.onjava.com/pub/a/onjava/2005/08/03/drools.html?page=2
    good luck.

  • Why to use business rules in biztalk or is there is any alternative to using vocabularies in biztalk?

    Thanks in advance

    Business rules framework: Organizations may need to process information differently depending on the data submitted. In the case of BizTalk, information is submitted
    via a message, and data within that message may require special processing once it has been received by an orchestration. The orchestration must be able to determine what that data is and how to process it. Additionally, rules around how that data is interpreted
    may change at any given time, even after the solution is in production. For example, a rule may be required that allows processing messages as long as a specific field has a value less than 10, but must stop processing and notify an administrator when this
    value is equal to or exceeds 10. The ability to store and access such a rule and to make it available for customization through a user-friendly interface is provided by the BizTalk business rules framework.
    Vocabularies: They are specific to
    business rules framework. These consist of all defined values that you can use when creating
    a rule,  including constants, predicates, XML nodes, and so on.
    The terms used to define rule conditions and actions are usually expressed by domain or industry-specific nomenclature. For example, an e-mail user writes rules in terms
    of messages "received from" and messages "received after," while an insurance business analyst writes rules in terms of "risk factors" and "coverage amount."
    Underlying this domain-specific terminology are the technology artifacts (objects, database tables, and XML documents) that implement rule conditions and rule actions.
    Vocabularies are designed to bridge the gap between business semantics and implementation.
    Reference:
    BizTalk 2010 Recipes: A Problem-Solution Approach
    MSDN:
    Business Rules Engine
    MSDN:
    Vocabularies
    TechNet Wiki:
    https://social.technet.microsoft.com/wiki/contents/articles/6480.biztalk-server-business-rule-engine-survival-guide.aspx
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • How to create rules in business rule composer?

    for 
    1.Id type cannot be null
    2.Id type = Identity Card then
    Insured_Id length should  equal to 13.

    Create a new
    version of vocabulary.
    Right click on vocabulary to create a new definition.
    Select the appropriate type of definition. May be in your case it from Xml Document Element or Attribute
    Create another definition for
    Insured_Id length. I assume it’s an element name to which you want to set the value as 13. Not that you want to set the property- length of the element to
    Insured_Id.
    Publish the
    vocabulary.
    Then create a condition as similar to the image shown below.
    Also I would recommend you to go through the BRE-tutorial to learn about creating
    vocabulary and rules.
    BizTalk Server Business Rule Engine: Survival Guide
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

Maybe you are looking for