Sample Code for Action Rule Function
Action rule function defined in the destination uses catalog functions to get required data and parameters from the HTTP request. The rule function processes these parameters and creates a response, similar to a preprocessor. TIBCO BusinessEvents supports all HTTP methods stated in the HTTP 1.1 specification for Action Rule Function based approach.
void rulefunction RuleFunctions.Callback { attribute { validity = ACTION; } scope { Object asyncContextObject; } body { //getting servlet request and response objects Object servletRequest = HTTP.Servlet.getServletRequest(asyncContextObject); Object servletResponse = HTTP.Servlet.getServletResponse(asyncContextObject); System.debugOut("##Servlet request method : " + HTTP.Servlet.Request.getMethod(servletRequest)); System.debugOut("##Servlet request content : " + HTTP.Servlet.Request.getRequestContent(servletRequest)); System.debugOut("##Servlet request Requester Address : " + HTTP.Servlet.Request.getRequestorAddress(servletRequest)); System.debugOut("##Servlet request Request URI : " + HTTP.Servlet.Request.getRequestURI(servletRequest)); //getting parameters String[] params = HTTP.Servlet.Request.getRequestParameters(servletRequest); for(int i=0;i<params@length;i++) { System.debugOut("## Servlet request Parameters :" + HTTP.Servlet.Request.getRequestParameter(servletRequest,params[i])); } //getting headers System.debugOut("## Servlet request Header Accept : " + HTTP.Servlet.Request.getRequestHeader(servletRequest,"Accept")); System.debugOut("## Servlet request Header Accept-Encoding : " + HTTP.Servlet.Request.getRequestHeader(servletRequest,"Accept-Encoding")); System.debugOut("## Servlet request Header Accept-Language : " + HTTP.Servlet.Request.getRequestHeader(servletRequest,"Accept-Language")); System.debugOut("## Servlet request Header Accept-Charset : " + HTTP.Servlet.Request.getRequestHeader(servletRequest,"Accept-Charset")); System.debugOut("## Servlet request Header Connection : " + HTTP.Servlet.Request.getRequestHeader(servletRequest,"Connection")); System.debugOut("## Servlet request Header User-Agent: " + HTTP.Servlet.Request.getRequestHeader(servletRequest,"User-Agent")); System.debugOut("## Servlet request Header Content-Length : " + HTTP.Servlet.Request.getRequestHeader(servletRequest,"Content-Length")); System.debugOut("## Servlet request Header Content-Type : " + HTTP.Servlet.Request.getRequestHeader(servletRequest,"Content-Type")); System.debugOut("## Servlet request Header Host : " + HTTP.Servlet.Request.getRequestHeader(servletRequest,"Host")); HTTP.Servlet.Response.setResponseHeader(servletResponse, "Content-type", "text/plain"); HTTP.Servlet.Response.setResponseContent(asyncContextObject, "response", true); } }
Copyright © TIBCO Software Inc. All Rights Reserved.