...
Deploying and Testing the Service
- Deploy the rule service through the BRS management console. You can follow either of the two methods:
- Bundle all artifacts in an .aar file and upload it (Rule Service -> Upload menu).
- Create using the Rule Service wizard UI (Rule Service -> Create menu).
The above steps are discussed in detail in section Exposing Rules as Services .
- After deployment, click on List under Services in the main tab of the management console. The service will appear in the Deployed Services page.
- Click CallChargingService to access the dashboard of the service.
- Click Try this service in the Client Operations widget of the dashboard to invoke the Try-it tool.
Issue a request similar to the following in the Try the CallCharging service window.
...
Code Block language html/xml <type>idd</type> <period>12</period>
Similarly, send another request:
Code Block language html/xml <type>local</type> <period>12</period>
...
Alternatively, you can
...
use Generate Client link in the
Client Operations
...
widget of the dashboard to invoke the service. A client using generated stub codes is shown below where the codes were generated with
...
the Unpacks the data binding classes check box checked.
Code Block language java package test.com.Client; import org.apache.axis2.AxisFault; import test.com.callcharge.CallCharge; import test.com.callcharge.CallChargeE; import test.com.callcharge.CallLog; import test.com.callcharging.CallChargingServiceStub; import java.rmi.RemoteException; public class CallChargingTestCase { public static void main(String[] args) { try { CallChargingServiceStub callChargingServiceStub = new CallChargingServiceStub("http://localhost:9763/services/CallChargingService"); CallChargeE callChargeRequest = new CallChargeE(); CallLog callLog = new CallLog(); callLog.setPeriod(200); callLog.setType("local"); CallLog[] callLogs = new CallLog[1]; callLogs[0] = callLog; callChargeRequest.setCallLog(callLogs); CallCharge[] callCharges = callChargingServiceStub.charge(callLogs); if(callCharges != null){ for (CallCharge callCharge : callCharges){ System.out.println("Tha charge for the call : " + callCharge.getAmount()); } } } catch (AxisFault axisFault) { axisFault.printStackTrace(); } catch (RemoteException e) { e.printStackTrace(); } } }
Excerpt hidden true Call charging service sample of the WSO2 Business Rules Server samples guide.