Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

1. Create a valid JAR containing the Java classes of facts and results defined for the "Order Approval" sample use case in Sample Rule Definition.

...

6. Log in to the WSO2 BRS management console and select "Rule Service -> Upload" in the "Main" menu.click Uploadunder Rules Service in the main page. 

7. The "Upload Rule Service" window opens. Upload the file created in step 4 and click "Upload". For example,

8. The "Deployed Services" window opens with the newly uploaded business rules exposed as a service. Click on it to access its dashboard and select the TryIt option on the "Client Operations" panel in the service dashboard.

...

11. Also, the WSDL of the service can be used to generate client-side code (stub) required for the service invocation. There is an option for code generation in the services management page. A client using generated stub codes is shown below and the codes are generated with option - "Unpacks the databinding classes".

Code Block
languagejava
package org.wso2.carbon.samples;
import org.wso2.carbon.samples.orderApprovalService.order.OrderAccept;
import org.wso2.carbon.samples.orderApprovalService.order.PlaceOrder;
import org.wso2.carbon.samples.orderApprovalService.order.PlaceOrderE;
import org.wso2.carbon.samples.orderApprovalService.order.PlaceOrderRespone;
import org.wso2.carbon.samples.orderApprovalService.stub.OrderApprovalServiceCallbackHandler;
import org.wso2.carbon.samples.orderApprovalService.stub.OrderApprovalServiceStub;
import java.rmi.RemoteException;

public class PlaceOrderTestCase {

    public static void main(String[] args) {

        try {
            OrderApprovalServiceStub orderApprovalServiceStub = new OrderApprovalServiceStub("http://localhost:9763/services/OrderApprovalService");
            PlaceOrderE placeOrderE = new PlaceOrderE();
            PlaceOrder placeOrder = new PlaceOrder();
            placeOrder.setSymbol("Company A");
            placeOrder.setPrice(150);
            placeOrder.setQuantity(128);
            PlaceOrder[] placeOrders = new PlaceOrder[1];
            placeOrders[0] = placeOrder;
            placeOrderE.setOrder(placeOrders);

            PlaceOrderRespone placeOrderRespone = null; //new PlaceOrderRespone();
            try {
                placeOrderRespone = orderApprovalServiceStub.placeOrder(placeOrders);
            } catch (RemoteException e) {
                e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
            }
            OrderAccept[] orderAccepts = placeOrderRespone.getOrderAccept();
            String result = orderAccepts[0].getMessage();
            System.out.println(result);



        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

...

1. Log in to the WSO2 BRS management console and select "Rule Service -> Create" click Create under Rules Service in the "Main" menu page.

2. The "Service Information" window opens. Enter the required information and click "Next". The service name has to be unique. For example,

3. The "Rule Set Information" window appears. There are four ways to specify a rule set or a rule script.

...

4. Once the rule is uploaded click "Next". The "Facts Upload" window appears to upload facts and results that are used in the rule script. It should be a valid jar file and multiple jar files can be uploaded. For example, create a jar file from the facts and results defined in Sample Rule Definition.

...

5. The Operations Summary window appears, displaying any operations available in the service. You can also use the Add New Operation link to create a new operation.

6. The "Add Operation" window appears. Fill in the fields appropriately. For example,

...

  • Name: Operation name which is mandatory.
  • Input and output facts: You can use fact "selector" to select a type, which you have already uploaded in the input fact upload step. In this example, one fact is added with the type as "samples.userguide.PlaceOrder" and two outputs with types as "samples.userguide.OrderReject" and "samples.userguide.OrderAccept". Note that "Type" is the only mandatory attribute in both input and output facts.

7. Click the "Add" button once done. This will bring you to the previous "Operations Summary" window. Click "Finish" to create and deploy the rule service.