Click Add JARDirectory. How to Create Static Routing Rules

19-38 Oracle Fusion Middleware Developers Guide for Oracle SOA Suite Sample Java Callout Class Example 19–20 shows a sample Java callout class: Example 19–20 Sample Java Callout Class package qa.as11tests.javacallout; import com.collaxa.cube.persistence.dto.XmlDocument; import com.oracle.bpel.client.NormalizedMessage; import java.util.logging.Logger; import java.util.Map; import java.util.Iterator; import oracle.tip.mediator.common.api.CalloutMediatorMessage; import oracle.tip.mediator.common.api.ExternalMediatorMessage; import oracle.tip.mediator.common.api.IJavaCallout; import oracle.tip.mediator.common.api.MediatorCalloutException; import oracle.tip.mediator.metadata.CaseType; import oracle.tip.mediator.utils.XmlUtils; import oracle.tip.pc.services.functions.ExtFunc; import oracle.xml.parser.v2.XMLDocument; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; public class JavaCalloutSanity implements IJavaCallout { Logger logger = Logger.getLoggerCallout; public JavaCalloutSanity { } public void initializeLogger logger throws MediatorCalloutException { this.logger = logger; this.logger.infoInitializing...; } public boolean preRoutingCalloutMediatorMessage calloutMediatorMessage { System.out.printlnPre routing...; String sPayload = null; String sPayload_org = null; for Iterator msgIt = calloutMediatorMessage.getPayload.entrySet.iterator; msgIt.hasNext; { Map.Entry msgEntry = Map.EntrymsgIt.next; Object msgKey = msgEntry.getKey; Object msgValue = msgEntry.getValue; if msgKey.equalsrequest sPayload = XmlUtils.convertDomNodeToStringNodemsgValue; } sPayload_org = sPayload; String tobeReplaced = CHANGE_THIS; String replaceWith = JAVA_CALLOUT_||_PRE_ROUTING; int start = sPayload.indexOftobeReplaced; StringBuffer sb = new StringBuffer; sb.appendsPayload.substring0, start; sb.appendreplaceWith; sb.appendsPayload.substringstart + tobeReplaced.length; String changedPayload = sb.toString; Creating Oracle Mediator Routing Rules 19-39 String uid; try { uid = ExtFunc.generateGuid; } catch Exception e { } XMLDocument changedoc; try { changedoc = XmlUtils.getXmlDocumentchangedPayload; String mykey = request; calloutMediatorMessage.addPayloadmykey,changedoc; calloutMediatorMessage.getPayload.putmykey, changedoc; } catch Exception e { } System.out.printlnChanged from : \n+sPayload_ org+\nTo\n+changedPayload; System.out.printlnEnd Pre routing...\n\n; return false; } public boolean postRoutingCalloutMediatorMessage calloutMediatorMessage, CalloutMediatorMessage calloutMediatorMessage1, Throwable throwable throws MediatorCalloutException { System.out.printlnStart Post routing...; String sPayload = null; String sPayload_org = null; for Iterator msgIt = calloutMediatorMessage1.getPayload.entrySet.iterator; msgIt.hasNext; { Map.Entry msgEntry = Map.EntrymsgIt.next; Object msgKey = msgEntry.getKey; Object msgValue = msgEntry.getValue; ifmsgKey.equalsreply sPayload = XmlUtils.convertDomNodeToStringNodemsgValue; } sPayload_org = sPayload; String tobeReplaced = POST_ROUTING_RULE_REQUEST_REPLY; String replaceWith = POST_ROUTING_RULE_REQUEST_REPLY_||_POSTROUTING_||_ JAVA_CALLOUT_WORKING; int start = sPayload.indexOftobeReplaced; StringBuffer sb = new StringBuffer; sb.appendsPayload.substring0, start; sb.appendreplaceWith; sb.appendsPayload.substringstart + tobeReplaced.length; String changedPayload = sb.toString; XMLDocument changedoc; try { changedoc = XmlUtils.getXmlDocumentchangedPayload; String mykey = reply; calloutMediatorMessage1.addPayloadmykey,changedoc.getDocumentElement; calloutMediatorMessage1.getPayload.putmykey, changedoc.getDocumentElement; } catch Exception f { } System.out.printlnChanged from : \n+sPayload_org+\nTo\n+ changedPayload; System.out.printlnEnd Post routing...\n\n; return false; }