<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;D0AEQ3o7cSp7ImA9WhBbGEo.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789</id><updated>2013-05-18T04:15:02.409-07:00</updated><category term="B2B" /><category term="BPM" /><category term="BAM" /><category term="XSLT" /><category term="SOA" /><category term="ADF" /><category term="OSB" /><category term="OEG" /><title>Oracle SOA Tips n Tricks</title><subtitle type="html">This blog discuss about various approaches tricks on Oracle SOA that we faced on day to day basis during SOA Implementation.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://shrikworld.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/Shrikworld" /><feedburner:info uri="shrikworld" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>Shrikworld</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;DkUHQ38_cSp7ImA9WhBTFUw.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789.post-7034168583669304036</id><published>2013-02-10T08:36:00.001-08:00</published><updated>2013-02-10T08:37:12.149-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-02-10T08:37:12.149-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SOA" /><title>Securing SOA 11g Environment:Part 2</title><content type="html">&lt;p&gt;&lt;font face="Calibri"&gt;This post continuation of my previous one &lt;/font&gt;&lt;a title="http://shrikworld.blogspot.in/2011/07/securing-soa-11g-environment.html" href="http://shrikworld.blogspot.in/2011/07/securing-soa-11g-environment.html"&gt;&lt;font face="Calibri"&gt;http://shrikworld.blogspot.in/2011/07/securing-soa-11g-environment.html&lt;/font&gt;&lt;/a&gt;&lt;font face="Calibri"&gt; entry.So I’ve SSL enabled admin and managed server and I want to start all managed server from node manager, that requires some tweak in nodemanager.properties file. Below is the sample one,&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Calibri"&gt;#Fri Feb 08 20:18:43 IST 2013&lt;br&gt;#Sun Oct 28 16:39:51 IST 2012&lt;br&gt;DomainsFile=C\:\\shrik\\SOA11116\\WLSERV~1.3\\common\\NODEMA~1\\nodemanager.domains&lt;br&gt;LogLimit=0&lt;br&gt;PropertiesVersion=10.3&lt;br&gt;DomainsDirRemoteSharingEnabled=false&lt;br&gt;javaHome=C\:\\PROGRA~1\\Java\\JROCKI~1.0&lt;br&gt;AuthenticationEnabled=true&lt;br&gt;NodeManagerHome=C\:\\shrik\\SOA11116\\WLSERV~1.3\\common\\NODEMA~1&lt;br&gt;JavaHome=C\:\\PROGRA~1\\Java\\JROCKI~1.0\\jre&lt;br&gt;LogLevel=INFO&lt;br&gt;DomainsFileEnabled=true&lt;br&gt;StartScriptName=startWebLogic.cmd&lt;br&gt;ListenAddress=&lt;br&gt;NativeVersionEnabled=true&lt;br&gt;ListenPort=5556&lt;br&gt;LogToStderr=true&lt;br&gt;SecureListener=true&lt;br&gt;LogCount=1&lt;br&gt;DomainRegistrationEnabled=true&lt;br&gt;StopScriptEnabled=false&lt;br&gt;QuitEnabled=true&lt;br&gt;LogAppend=true&lt;br&gt;StateCheckInterval=500&lt;br&gt;CrashRecoveryEnabled=false&lt;br&gt;StartScriptEnabled=true&lt;br&gt;LogFile=C\:\\shrik\\SOA11116\\WLSERV~1.3\\common\\NODEMA~1\\nodemanager.log&lt;br&gt;LogFormatter=weblogic.nodemanager.server.LogFormatter&lt;br&gt;ListenBacklog=50&lt;br&gt;&lt;strong&gt;KeyStores=CustomIdentityAndCustomTrust&lt;br&gt;CustomIdentityAlias=shrikistore&lt;br&gt;CustomIdentityKeyStoreFileName=C:\\shrik\\SOAWork\\WeblogicCerts\\shrikIS.jks&lt;br&gt;CustomIdentityKeyStorePassPhrase=&amp;lt;Enter keysrote password&amp;gt;&lt;br&gt;CustomIdentityKeyStoreType=JKS&lt;br&gt;CustomIdentityPrivateKeyPassPhrase=&amp;lt;Enter private key password&amp;gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Calibri"&gt;At runtime node manager will encrypt the hard coded pass phrase.Check the node manager status from weblogic console , it should be running fine and reachable.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Calibri"&gt;In last post we disabled host name verification in SSL configuration of weblogic which is not advisable for production box.Ideally the certificate issued to weblogic server should match the host name where it’s running. For simplicity check out my cert configuration for SSL enablement of Admin and managed server.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-beGapP_ooQ0/URfMfEoPXwI/AAAAAAAAB_Q/WeJoGXdIP2k/s1600-h/image%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-V_5RAsqhZfk/URfMgnSVbSI/AAAAAAAAB_Y/LOPMTmhfvc0/image_thumb%25255B1%25255D.png?imgmax=800" width="398" height="309"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Calibri"&gt;Though leaf cert’s CN &lt;strong&gt;Shreekanta&lt;/strong&gt; does not match&amp;nbsp; hostname &lt;strong&gt;localhost ,&lt;/strong&gt; it will fail definitely at Host name checker if I try to&amp;nbsp; open Admin console from browser which acts as a client.So in my custom hostname verifier code I’ve to add my cert’s CN validation and allow access. For that you have to select custom hostname verifier like below and you need to key in the class name start from your custom package,&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-UygTCCWaysc/URfMhadU8BI/AAAAAAAAB_g/zTgGS5UZ2mg/s1600-h/image%25255B7%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-pPp77431IT8/URfMkeP4bBI/AAAAAAAAB_o/eOYtSfGN8o0/image_thumb%25255B3%25255D.png?imgmax=800" width="356" height="93"&gt;&lt;/a&gt;&lt;font face="Calibri"&gt;&lt;/p&gt; &lt;p&gt;My code is like below [copied from Oracle site] where I allowed My CN’S request,&lt;/p&gt; &lt;p&gt;package com.shrik.weblogic;&lt;/p&gt; &lt;p&gt;import java.io.ByteArrayInputStream;&lt;/p&gt; &lt;p&gt;import java.security.cert.Certificate;&lt;br&gt;import java.security.cert.CertificateFactory;&lt;br&gt;import java.security.cert.X509Certificate;&lt;/p&gt; &lt;p&gt;import java.util.logging.Logger;&lt;br&gt;import java.util.regex.Matcher;&lt;br&gt;import java.util.regex.Pattern;&lt;/p&gt; &lt;p&gt;import javax.net.ssl.SSLSession;&lt;/p&gt; &lt;p&gt;public class TestHostnameVerifier implements weblogic.security.SSL.HostnameVerifier {&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private final static Logger log = Logger.getLogger(TestHostnameVerifier.class.getCanonicalName());&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public boolean verify(String hostname, SSLSession session) {&lt;/p&gt; &lt;p&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Certificate cert = session.getPeerCertificates()[0];&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte[] encoded = cert.getEncoded();&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CertificateFactory cf = CertificateFactory.getInstance("X.509");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ByteArrayInputStream bais = new ByteArrayInputStream(encoded);&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X509Certificate xcert = (X509Certificate)cf.generateCertificate(bais);&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String cn = getCanonicalName(xcert.getSubjectDN().getName());&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; log.info("CN: '" + cn + "'" + " HOSTNAME: '" + hostname + "'");&lt;/p&gt; &lt;p&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // If CN is equals to Hostname then it is approved&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //added my cert&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt; if (cn.equals(hostname)||(cn.equals("Shreekanta"))) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Compile regular expression&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // here we set the wildcard and the rest of the URL inside, could be more generic too.&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // String patternStr = cn;//&amp;nbsp; "[-.*aA-zZ0-9]+\\.qa.go2broadband\\.com";&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cn = cn.replace(".", "\\.");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cn = cn.replace("-", "\\-");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cn = cn.replace("*", "[-.*aA-zZ0-9]+");&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pattern pattern = Pattern.compile(cn);&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Determine if there is an exact match&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CharSequence inputStr = hostname;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Matcher matcher = pattern.matcher(inputStr);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; boolean matchFound = matcher.matches();&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (matchFound == false) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; log.info("pattern doesn't match hostname");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //return boolean value&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return matchFound;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (Exception e) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Returns just the canonical name from the distinguishedName on the cert.&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String getCanonicalName(String subjectDN) {&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pattern pattern = Pattern.compile("CN=([-.*aA-zZ0-9]*)");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Matcher matcher = pattern.matcher(subjectDN);&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (matcher.find()) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return matcher.group(1);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; log.info("Couldn't find match for CN in subject");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return subjectDN;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;}&lt;br&gt;&lt;/p&gt; &lt;p&gt;&lt;br&gt;Do jar it and place it at &amp;lt;Domain_Home&amp;gt;/lib directory and &amp;lt;WL_HOME&amp;gt;/server/lib directory. At setDomainEnv.sh file add the following entry,&lt;/p&gt; &lt;p&gt;&lt;strong&gt;set CLASSPATH=%WL_HOME%\server\lib\HostNameVerifier.jar;%CLASSPATH%&lt;/strong&gt;&lt;/p&gt;&lt;/font&gt;  &lt;p&gt;Check out the order, for my case if I add custom jar file at end of classpath it always give me error and add the below entry ar server startup to debug.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;set JAVA_OPTIONS=%JAVA_OPTIONS% -Djavax.net.debug=all -Dssl.debug=true -Dweblogic.StdoutDebugEnabled=true&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;That’s all , bounce the serer and verify the same from any browser accessing https URL of server.&lt;/p&gt;  &lt;img src="http://feeds.feedburner.com/~r/Shrikworld/~4/K7XNCEyxuoA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/7034168583669304036/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=342277253848129789&amp;postID=7034168583669304036&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/7034168583669304036?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/7034168583669304036?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Shrikworld/~3/K7XNCEyxuoA/securing-soa-11g-environmentpart-2.html" title="Securing SOA 11g Environment:Part 2" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-V_5RAsqhZfk/URfMgnSVbSI/AAAAAAAAB_Y/LOPMTmhfvc0/s72-c/image_thumb%25255B1%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://shrikworld.blogspot.com/2013/02/securing-soa-11g-environmentpart-2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QMQ389cCp7ImA9WhJbFEw.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789.post-541217140009257132</id><published>2012-09-23T07:19:00.000-07:00</published><updated>2012-09-23T07:43:02.168-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-09-23T07:43:02.168-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SOA" /><title>How to FTP flat file from BPEL</title><content type="html">&lt;p&gt;Recently I had a requirement, I’ve to publish a flat file which is position based to FTP server from BPEL.But the problem is I don’t have any nXSD/DTD to use in FTP adapter.Client will pick the file from FTP location based on image of file content.I first tried with opaque option in FTP adapter in vain because from BPEL I’m generating the whole data in String format and opaque require base64 encoding.Another constraint is that if I publish any file with a predefined schema then the actual content will be enclosed by XML tag which i don’t want. So here is my solution…&lt;/p&gt; &lt;p&gt;At first download ftp4j jar from &lt;a href="http://www.sauronsoftware.it/projects/ftp4j/"&gt;http://www.sauronsoftware.it/projects/ftp4j/&lt;/a&gt; which makes your life more easier.In BPEL I’ve the data in string format , I’ve to convert the same in a file content , then need to put the same in FTP server.&lt;/p&gt; &lt;p&gt;Place the ftp4j file in SCA-INF/lib folder of your BPEL project, obviously I’m using SOA11.1.1.5.So when you compile or deploy the project it will be referenced in the classpath.You need not to place that jar anywhere else :)&lt;/p&gt; &lt;p&gt;Then add the following import in your .bpel file,&lt;/p&gt; &lt;p&gt;&amp;lt;bpelx:exec import="java.util.*"/&amp;gt;&lt;br&gt; &amp;lt;bpelx:exec import="java.lang.*"/&amp;gt;&lt;br&gt; &amp;lt;bpelx:exec import="it.sauronsoftware.ftp4j.FTPClient"/&amp;gt;&lt;br&gt; &amp;lt;bpelx:exec import="it.sauronsoftware.ftp4j.FTPFile"/&amp;gt;&lt;br&gt; &amp;lt;bpelx:exec import="java.io.File"/&amp;gt;&lt;br&gt; &amp;lt;bpelx:exec import="java.io.FileWriter"/&amp;gt;&lt;br&gt; &amp;lt;bpelx:exec import="oracle.xml.parser.v2.XMLElement"/&amp;gt; &lt;p&gt;Here is the code which will FTP your file, &lt;p&gt;try{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String FTP_SERVER="XXXX";&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String USRE_NAME="YYY";&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String PASS="ZZZ";&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String PDATA =(String)getVariableData("filePDATA");&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addAuditTrailEntry(PDATA);&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XMLElement fileIn=(XMLElement)getVariableData("SelectPDATAOfFileDB_InputVariable","SelectPDATAOfFileDBInput_msg","/ns6:SelectPDATAOfFileDBInput/ns6:FILE_NAME"); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addAuditTrailEntry(fileIn.getTextContent());&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTPClient client=new FTPClient();&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; client.connect(FTP_SERVER);&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; client.login(USRE_NAME,PASS);&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("Connected to server");&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addAuditTrailEntry("Connected to FTP server");&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; File makefile=new File(fileIn.getTextContent());&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FileWriter fwrite = new FileWriter(makefile);&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fwrite.write(PDATA);&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fwrite.flush();&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fwrite.close();&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; client.upload(makefile);&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; client.logout();&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; client.disconnect(true);&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }catch(Exception e){&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(e.getMessage());&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addAuditTrailEntry(e.getMessage());&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;p&gt;Here you have to provide your FTP server URL , username and password.You can create 3 preference variable and refer the same using getVariableData from Java.In my program filePDATA variable store file content in BPEL and I’m also passing the filename as input to my program and at last using the method of FTPClient of ftp4j library I’m placing the file in remote server.As the file content is String , so you have full control on that , I mean you can manipulate data as you need.&amp;nbsp; &lt;p&gt;Looks so simple , but took some amount of time to figure out :)&lt;/p&gt;  &lt;img src="http://feeds.feedburner.com/~r/Shrikworld/~4/9D34975fxmk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/541217140009257132/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=342277253848129789&amp;postID=541217140009257132&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/541217140009257132?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/541217140009257132?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Shrikworld/~3/9D34975fxmk/how-to-ftp-flat-file-from-bpel.html" title="How to FTP flat file from BPEL" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://shrikworld.blogspot.com/2012/09/how-to-ftp-flat-file-from-bpel.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EARn0-cSp7ImA9WhVbEU4.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789.post-689960861819697569</id><published>2012-05-27T08:11:00.000-07:00</published><updated>2012-05-27T08:14:07.359-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-27T08:14:07.359-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SOA" /><title>Configure SSL in FMW DataSource</title><content type="html">&lt;p&gt;&lt;font size="2" face="Calibri"&gt;Few days back I was looking into how to enable SSL in datasource and database.I didn’t find any good document with step by step instruction, however at last I was able to configure it successfully after reading a whitepaper at &lt;/font&gt;&lt;a href="http://www.oracle.com/technetwork/database/enterprise-edition/wp-oracle-jdbc-thin-ssl-130128.pdf"&gt;&lt;font size="2" face="Calibri"&gt;http://www.oracle.com/technetwork/database/enterprise-edition/wp-oracle-jdbc-thin-ssl-130128.pdf&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Calibri"&gt;. &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Calibri"&gt;&lt;font size="2"&gt;&lt;strong&gt;NOTE :SSL can not be configured in XE database.&lt;/strong&gt;In this blog I mentioned the path as per my system , you need to configure accordingly.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;font size="2" face="Calibri"&gt;Enabling SSL in DB:&lt;/font&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;First create a directory under C:\shrik\Oracle\Database\product\11.2.0\dbhome_1\BIN\owm\wallets\test where I'll place ewallet.p12.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;orapki wallet create -wallet C:\shrik\Oracle\Database\product\11.2.0\dbhome_1\BIN\owm\wallets\Shreekanta -auto_login&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-OUQ6PS2dej4/T8JEUU8p7gI/AAAAAAAAB1M/-pMdontvAGU/s1600-h/image6.png"&gt;&lt;font size="2" face="Calibri"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-b2ILrAxr-QY/T8JEcybQJOI/AAAAAAAAB1c/rLPN8QdKUuA/image_thumb4.png?imgmax=800" width="578" height="223"&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;that will create ewallet.p12.Open OWM and wallet,&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/--TkZlhgVQTg/T8JEeM0XZPI/AAAAAAAAB1k/uiCUU3EtH2k/s1600-h/image11.png"&gt;&lt;font size="2" face="Calibri"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-YzOIjUlDjFc/T8JEfpqIcDI/AAAAAAAAB1s/EpmUEPE7js4/image_thumb7.png?imgmax=800" width="455" height="385"&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;Just need to add a cert here,&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-Y9ApMMFjUNY/T8JEgo4TIxI/AAAAAAAAB10/eaNackgNCpY/s1600-h/image%25255B4%25255D.png"&gt;&lt;font size="2" face="Calibri"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-RlXkIAxcEDY/T8JEhuv6aPI/AAAAAAAAB18/v-GFYQWCAJs/image_thumb%25255B1%25255D.png?imgmax=800" width="473" height="397"&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-knjUzk4AkK0/T8JEi6r2w-I/AAAAAAAAB2E/j2WpBaK1P3Y/s1600-h/image%25255B8%25255D.png"&gt;&lt;font size="2" face="Calibri"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-dnIWhuknPSE/T8JEkAqNsBI/AAAAAAAAB2M/yb3N9gRAaes/image_thumb%25255B3%25255D.png?imgmax=800" width="483" height="385"&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;Now basically you need to export CSR and submit to CA.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-oSXets5sq6w/T8JElT8PxXI/AAAAAAAAB2U/bNuD0dgG_Bc/s1600-h/image%25255B13%25255D.png"&gt;&lt;font size="2" face="Calibri"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-ilp7YgaoRrM/T8JEmrzJiMI/AAAAAAAAB2c/CbZvCVZt3-g/image_thumb%25255B6%25255D.png?imgmax=800" width="490" height="411"&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;For my case I've used free CA available over net at http://www.getacert.com/signacert.html. Upon submitting CSR it will give CAcert and test cert.so here is my directory structure,[refer &lt;/font&gt;&lt;a title="http://shrikworld.blogspot.in/2011/07/securing-soa-11g-environment.html" href="http://shrikworld.blogspot.in/2011/07/securing-soa-11g-environment.html"&gt;&lt;font size="2" face="Calibri"&gt;http://shrikworld.blogspot.in/2011/07/securing-soa-11g-environment.html&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Calibri"&gt;]&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-8-lPHyJNDcw/T8JEnnQnsgI/AAAAAAAAB2g/yIpJSvM3oOg/s1600-h/image%25255B17%25255D.png"&gt;&lt;font size="2" face="Calibri"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-eJlaJITyVfA/T8JEot9BF-I/AAAAAAAAB2s/VHXufYP64-Y/image_thumb%25255B8%25255D.png?imgmax=800" width="486" height="217"&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;Now we need to enter CA into trust store of wallet and test cert into certificate branch like below,&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-elY8nxp9WE4/T8JEp0LrYKI/AAAAAAAAB20/AUOySkCAmx0/s1600-h/image%25255B22%25255D.png"&gt;&lt;font size="2" face="Calibri"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-kZWDOUHmiD4/T8JEq9F2YiI/AAAAAAAAB28/n2RpMxa_SwU/image_thumb%25255B11%25255D.png?imgmax=800" width="539" height="436"&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-BbYnqYYvfh0/T8JEsCG6mAI/AAAAAAAAB3E/78kXz91dulE/s1600-h/image%25255B27%25255D.png"&gt;&lt;font size="2" face="Calibri"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-fBb9ehG-j48/T8JEtEDMSiI/AAAAAAAAB3M/zQwt8eWv5Y4/image_thumb%25255B14%25255D.png?imgmax=800" width="537" height="390"&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;After that wallet should show cert as ready, save and exit the same.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-rgG22m0A6po/T8JEuGMzYiI/AAAAAAAAB3U/uXE70-QUJtg/s1600-h/image%25255B31%25255D.png"&gt;&lt;font size="2" face="Calibri"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-sy3vWdOJjAk/T8JEvd1Zf8I/AAAAAAAAB3c/X0raC4eAdHc/image_thumb%25255B16%25255D.png?imgmax=800" width="475" height="391"&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;Now we need to modify the following files accordingly,&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Calibri"&gt;listener.ora&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;# listener.ora Network Configuration File: C:\shrik\Oracle\Database\product\11.2.0\dbhome_1\network\admin\listener.ora&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;# Generated by Oracle configuration tools.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;SID_LIST_LISTENER =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp; (SID_LIST =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SID_DESC =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SID_NAME = CLRExtProc)&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ORACLE_HOME = C:\shrik\Oracle\Database\product\11.2.0\dbhome_1)&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (PROGRAM = extproc)&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ENVS = "EXTPROC_DLLS=ONLY:C:\shrik\Oracle\Database\product\11.2.0\dbhome_1\bin\oraclr11.dll")&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp; )&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;LISTENER =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt; (DESCRIPTION_LIST =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (DESCRIPTION =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Calibri"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;(ADDRESS = (PROTOCOL = TCPS)(HOST = localhost)(PORT = 2490))&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp; )&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;ADR_BASE_LISTENER = C:\shrik\Oracle\Database&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Calibri"&gt;WALLET_LOCATION = (SOURCE = (METHOD=file) (METHOD_DATA=(DIRECTORY=C:\shrik\Oracle\Database\product\11.2.0\dbhome_1\BIN\owm\wallets\Shreekanta)))&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Calibri"&gt;SSL_CLIENT_AUTHENTICATION=FALSE&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Calibri"&gt;tnsnames.ora&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;# tnsnames.ora Network Configuration File: C:\shrik\Oracle\Database\product\11.2.0\dbhome_1\network\admin\tnsnames.ora&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;# Generated by Oracle configuration tools.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;LISTENER_ORCL =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp; (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;ORACLR_CONNECTION_DATA =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp; (DESCRIPTION =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ADDRESS_LIST =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (CONNECT_DATA =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SID = CLRExtProc)&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (PRESENTATION = RO)&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp; )&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;ORCL =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp; (DESCRIPTION =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (CONNECT_DATA =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SERVER = DEDICATED)&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SERVICE_NAME = orcl)&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp; )&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Calibri"&gt;&lt;font size="2"&gt;&amp;nbsp; &lt;strong&gt;SSL =&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp; (DESCRIPTION =&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ADDRESS_LIST =&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ADDRESS = (PROTOCOL = TCPS)(HOST = localhost)(PORT = 2490))&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (CONNECT_DATA =&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SERVICE_NAME = orcl)&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SECURITY=(SSL_SERVER_CERT_DN=\"CN=test,C=IN\"))&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Calibri"&gt;&amp;nbsp; )&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;sqlnet.ora&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;# sqlnet.ora Network Configuration File: C:\shrik\Oracle\Database\product\11.2.0\dbhome_1\network\admin\sqlnet.ora&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;# Generated by Oracle configuration tools.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;# This file is actually generated by netca. But if customers choose to &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;# install "Software Only", this file wont exist and without the native &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;# authentication, they will not be able to connect to the database on NT.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Calibri"&gt;SQLNET.AUTHENTICATION_SERVICES= (BEQ,TCPS,NTS)&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Calibri"&gt;WALLET_LOCATION = (SOURCE = (METHOD=file) (METHOD_DATA=(DIRECTORY=C:\shrik\Oracle\Database\product\11.2.0\dbhome_1\BIN\owm\wallets\Shreekanta)))&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Calibri"&gt;SSL_CLIENT_AUTHENTICATION=FALSE&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;Then restart the DB and listener and your database is now SSL enabled over TCPS.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;font size="2" face="Calibri"&gt;Configuring SSL in DataSource of FMW:&lt;/font&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;Add the certs that you generated in above steps in weblogic trust store.[please refer &lt;/font&gt;&lt;a title="http://shrikworld.blogspot.in/2011/07/securing-soa-11g-environment.html" href="http://shrikworld.blogspot.in/2011/07/securing-soa-11g-environment.html"&gt;&lt;font size="2" face="Calibri"&gt;http://shrikworld.blogspot.in/2011/07/securing-soa-11g-environment.html&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Calibri"&gt;]&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;restart weblogic server.Go to the datasource,&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;Click on connection pool,&amp;nbsp; add the url as below,&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Calibri"&gt;jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCPS)(HOST=localhost)(PORT=2490)))(CONNECT_DATA=(SERVICE_NAME=orcl))(SECURITY=(SSL_SERVER_CERT_DN="CN=test,C=IN")))&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;In the properties section add the below property accordingly and test&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Calibri"&gt;javax.net.ssl.trustStorePassword=Password&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;user=DEV_MDS&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Calibri"&gt;javax.net.ssl.trustStore=C:\shrik\Oracle\fmw11.1.1.5\wlserver_10.3\server\lib\shrikTrust.jks&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Calibri"&gt;javax.net.ssl.trustStoreType=JKS&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;Test the same.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;Now the datasource is SSL enabled.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Calibri"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;img src="http://feeds.feedburner.com/~r/Shrikworld/~4/qwRgqXkxPgw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/689960861819697569/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=342277253848129789&amp;postID=689960861819697569&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/689960861819697569?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/689960861819697569?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Shrikworld/~3/qwRgqXkxPgw/configure-ssl-in-fmw-datasource.html" title="Configure SSL in FMW DataSource" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-b2ILrAxr-QY/T8JEcybQJOI/AAAAAAAAB1c/rLPN8QdKUuA/s72-c/image_thumb4.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://shrikworld.blogspot.com/2012/05/configure-ssl-in-fmw-datasource.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIGRnY4fCp7ImA9WhRWE0k.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789.post-9155229932045898511</id><published>2011-12-31T08:05:00.001-08:00</published><updated>2011-12-31T08:05:27.834-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-31T08:05:27.834-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="OSB" /><title>XPATH in OSB</title><content type="html">&lt;p&gt;In this blog I’ll show you some useful XPATH expression in OSB, hope it would reduce lot of searching time if you are new to this subject.To get started I’ll use below XSD in OSB project.&lt;/p&gt; &lt;p&gt;&amp;lt;?xml version="1.0" encoding="windows-1252" ?&amp;gt;&lt;br&gt;&amp;lt;xsd:schema xmlns:xsd="&lt;a href="http://www.w3.org/2001/XMLSchema&amp;quot;"&gt;http://www.w3.org/2001/XMLSchema"&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns="&lt;a href="http://www.oracle.com&amp;quot;"&gt;http://www.oracle.com"&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; targetNamespace="&lt;a href="http://www.oracle.com&amp;quot;"&gt;http://www.oracle.com"&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elementFormDefault="qualified"&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;xsd:element name="PurchaseOrder"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:complexType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:sequence&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:element name="date" type="xsd:string"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:element name="custID" type="xsd:string"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:element name="items"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:complexType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:sequence&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:element name="item" maxOccurs="unbounded"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:complexType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:sequence&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:element name="description" type="xsd:string"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:element name="department" type="xsd:string"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:element name="price" type="xsd:float"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:element name="quantity" type="xsd:integer"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:sequence&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:attribute name="id" type="xsd:string"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:complexType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:element&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:sequence&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:complexType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:element&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:element name="cardDetails"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:complexType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:sequence&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:element name="type" type="xsd:string"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:element name="cardNumber" type="xsd:string"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:sequence&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:complexType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:element&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:sequence&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:attribute name="id" type="xsd:integer"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:complexType&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;/xsd:element&amp;gt;&lt;br&gt;&amp;lt;/xsd:schema&amp;gt;&lt;br&gt;and here is the corresponding xml generated out of that above XSD.&lt;/p&gt; &lt;p&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br&gt;&amp;lt;p:PurchaseOrder id="1234" xmlns:p="&lt;a href="http://www.oracle.com&amp;quot;"&gt;http://www.oracle.com"&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;p:date&amp;gt;2010-04-02&amp;lt;/p:date&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;p:custID&amp;gt;C7123843&amp;lt;/p:custID&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;p:items&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:item id="GF234324"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:description&amp;gt;Denim Jeans&amp;lt;/p:description&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:department&amp;gt;Clothing&amp;lt;/p:department&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:price&amp;gt;30.99&amp;lt;/p:price&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:quantity&amp;gt;2&amp;lt;/p:quantity&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/p:item&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:item id="HD312782"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:description&amp;gt;iPod 80Gb White&amp;lt;/p:description&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:department&amp;gt;Electrical&amp;lt;/p:department&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:price&amp;gt;99.99&amp;lt;/p:price&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:quantity&amp;gt;1&amp;lt;/p:quantity&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/p:item&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:item id="HD998775"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:description&amp;gt;iPod Headphones&amp;lt;/p:description&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:department&amp;gt;Electrical&amp;lt;/p:department&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:price&amp;gt;19.99&amp;lt;/p:price&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:quantity&amp;gt;1&amp;lt;/p:quantity&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/p:item&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:item id="KD123984"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:description&amp;gt;Frying Pan&amp;lt;/p:description&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:department&amp;gt;Home&amp;lt;/p:department&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:price&amp;gt;9.99&amp;lt;/p:price&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:quantity&amp;gt;1&amp;lt;/p:quantity&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/p:item&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;/p:items&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;p:cardDetails&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:type&amp;gt;Mastercard&amp;lt;/p:type&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p:cardNumber&amp;gt;1234-5678-1234-5678&amp;lt;/p:cardNumber&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;/p:cardDetails&amp;gt;&lt;br&gt;&amp;lt;/p:PurchaseOrder&amp;gt;&lt;/p&gt; &lt;p&gt;So here are the required scenarios and solution where actual path might be unknown in XML tree .&lt;/p&gt; &lt;p&gt;1.I want to retrieve the node where item id="HD998775.&lt;/p&gt; &lt;p&gt;Solution: $body//*:item[@id='HD998775']&lt;/p&gt; &lt;p&gt;2. I want to retrieve department name of 2nd item node.&lt;/p&gt; &lt;p&gt;Solution: data($body/*:PurchaseOrder/*:items/*:item[2]/*:department)&lt;/p&gt; &lt;p&gt;3.I want to retrieve department name of 4th item node using relative path.&lt;/p&gt; &lt;p&gt;Solution: data($body//*:item[4]/*:department)&lt;/p&gt; &lt;p&gt;So like above you can write any complex XPATH expression.&lt;/p&gt;  &lt;img src="http://feeds.feedburner.com/~r/Shrikworld/~4/2N1FEIAzA80" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/9155229932045898511/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=342277253848129789&amp;postID=9155229932045898511&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/9155229932045898511?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/9155229932045898511?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Shrikworld/~3/2N1FEIAzA80/xpath-in-osb.html" title="XPATH in OSB" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://shrikworld.blogspot.com/2011/12/xpath-in-osb.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcNQX04eyp7ImA9WhdaE0U.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789.post-8579572986071071215</id><published>2011-10-23T09:23:00.000-07:00</published><updated>2011-10-23T09:24:50.333-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-23T09:24:50.333-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SOA" /><category scheme="http://www.blogger.com/atom/ns#" term="XSLT" /><title>Search &amp; Replace JDBC Data source in XSLT using ANT</title><content type="html">&lt;p&gt;Hey everybody, today I come across a problem while deploying my code using ANT script.Each of my composite has its own deployment plan by which all the endpoint reference and jca properties getting changed to new environment.. but in the XSLT I’ve used couple of query database XPATH function and it use datasource as one of its input parameter.But I didn’t find any option in deployment plan to change the datasource as per my new environment.What if, we have a helper ant script that will search all the xsl files in a directory recursively and work in conjunction with main ant build script, definitely would be good. To get started I created a simple java class who will do the search and replacement job of all xslt files,&lt;/p&gt; &lt;p&gt;package com.shrik.utility;&lt;br&gt;import org.apache.commons.io.FileUtils;&lt;/p&gt; &lt;p&gt;import java.io.File;&lt;br&gt;import java.io.FileInputStream;&lt;br&gt;import java.io.IOException;&lt;/p&gt; &lt;p&gt;import java.util.Collection;&lt;br&gt;import java.util.Iterator;&lt;br&gt;import java.util.Properties;&lt;br&gt;import java.util.regex.Matcher;&lt;br&gt;import java.util.regex.Pattern;&lt;/p&gt; &lt;p&gt;&lt;br&gt;public class SearchAndReplaceXSLT {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main(String[] args) throws Exception {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Properties properties=new Properties();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; properties.load(new FileInputStream("trx.properties"));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; File root = new File(properties.getProperty("FileRoot"));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(properties.getProperty("FileRoot"));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String[] extensions = { properties.getProperty("FileExt") };&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; boolean recursive = true;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Collection files = FileUtils.listFiles(root, extensions, recursive);&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (Iterator iterator = files.iterator(); iterator.hasNext(); ) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; File file = (File)iterator.next();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("File = " + file.getAbsolutePath());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SearchAndReplace(file,properties.getProperty("SearchStr"),properties.getProperty("ReplaceStr"));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp; private static void SearchAndReplace(File file, String searchStr,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String replaceStr) throws IOException {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StringBuffer sb=new StringBuffer();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pattern pattern=Pattern.compile(searchStr);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Matcher matcher=pattern.matcher(FileUtils.readFileToString(file));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(matcher.find()){&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; matcher.appendReplacement(sb, replaceStr);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; matcher.appendTail(sb);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(sb.toString());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FileUtils.writeStringToFile(file,sb.toString() );&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;}&lt;br&gt;&lt;/p&gt; &lt;p&gt;and here is the corresponding trx.properties file,&lt;/p&gt; &lt;p&gt;FileRoot=C:/shrik/Oracle/SOAWork/composites/DeploymentFramework/test/trx&lt;br&gt;FileExt=xsl&lt;br&gt;SearchStr=DS_DEV_YYY&amp;amp;&lt;br&gt;ReplaceStr=DS_DEV_ZZZ&amp;amp;&lt;br&gt;build.dir=build&lt;br&gt;lib.dir=lib&lt;br&gt;main-class="com.shrik.utility.SearchAndReplaceXSLT"&lt;/p&gt; &lt;p&gt;Do fill up all the values based on your environment and root code repository directory.Just give a test run and check whether its doing your job or not.&lt;/p&gt; &lt;p&gt;Then create a jar file pointing your main class in manifest file.Here we have a dependency on org.apache.commons.io.FileUtils class so I created a folder lib and put the commons-io-1.3.2.jar file under that, here is my directory structure,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-KJ_7kOe1pAI/TqQ_zuQFHNI/AAAAAAAAAzE/MOu0ql_LkgA/s1600-h/image%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-5O1zNDGdrp8/TqQ_0WYqnHI/AAAAAAAAAzM/mbKS43Pwj0k/image_thumb%25255B2%25255D.png?imgmax=800" width="455" height="171"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Under the build folder I created another directory jar , and under that I placed SearchAndReplaceXSLT.jar file.I created a trx folder where I copied all the xsl files, datasource need to be replaced.Now we need to refer the jar file from a ant script and for that I created build.xml file which contains,&lt;/p&gt; &lt;p&gt;&amp;lt;project name="SearchAndReplaceXSLT" basedir="." default="run"&amp;gt;&lt;/p&gt; &lt;p&gt;&amp;lt;property file="trx.properties"/&amp;gt;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="jar.dir"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; value="${build.dir}/jar"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="classes.dir" value="${build.dir}/classes"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;path id="classpath"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;fileset dir="${lib.dir}" includes="**/*.jar"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/path&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;target name="run" &amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;java fork="true" classname="${main-class}"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;classpath&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;path refid="classpath"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;path location="${jar.dir}/${ant.project.name}.jar"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/classpath&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/java&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/target&amp;gt;&lt;/p&gt; &lt;p&gt;&amp;lt;/project&amp;gt;&lt;/p&gt; &lt;p&gt;Now just run ant and it will do the job . &lt;/p&gt; &lt;p&gt;So next part is how will I call this ant file from main build.xml in deployment script?&lt;/p&gt; &lt;p&gt;In main build.properties file I created a new property trx.amendment=true . Based on this value it will call the child script as below,&lt;/p&gt; &lt;p&gt;&amp;lt;target name="deployAll"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;&amp;nbsp; &amp;lt;if&amp;gt; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;equals arg1="${trx.amendment}" arg2="true"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;then&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ant antfile="${env.CURRENT_FOLDER}/trx.xml" inheritAll="false" target="run"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/then&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/if&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;if&amp;gt; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;equals arg1="${mds.enabled}" arg2="true"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;then&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;antcall target="deployMDS" inheritall="true"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/then&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/if&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;foreach list="${applications}" param="application" target="deployApplication" inheritall="true" inheritrefs="false"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/target&amp;gt;&lt;/p&gt; &lt;p&gt;So with this you can easily change any data source name in sequence or database query function of your XSLT.&lt;/p&gt;  &lt;img src="http://feeds.feedburner.com/~r/Shrikworld/~4/iaZ-67p9ZR4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/8579572986071071215/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=342277253848129789&amp;postID=8579572986071071215&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/8579572986071071215?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/8579572986071071215?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Shrikworld/~3/iaZ-67p9ZR4/search-replace-jdbc-data-source-in-xslt.html" title="Search &amp;amp; Replace JDBC Data source in XSLT using ANT" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-5O1zNDGdrp8/TqQ_0WYqnHI/AAAAAAAAAzM/mbKS43Pwj0k/s72-c/image_thumb%25255B2%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://shrikworld.blogspot.com/2011/10/search-replace-jdbc-data-source-in-xslt.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QMR3Y9fCp7ImA9WhdbEks.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789.post-1235699540857944853</id><published>2011-10-10T09:19:00.000-07:00</published><updated>2011-10-10T09:49:46.864-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-10T09:49:46.864-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SOA" /><category scheme="http://www.blogger.com/atom/ns#" term="OEG" /><title>Securing a BPEL composite using OEG</title><content type="html">&lt;p&gt;In this blog I’ll demonstrate how to secure a SOA composite using Oracle Enterprise Gateway with WS-Header token.At first deploy a simple HelloWorld service.&lt;/p&gt; &lt;p&gt;Follow the link to setup OEG in your system &lt;a href="https://docs.google.com/leaf?id=1D0Z0KfgFdvqGHIcpG_7B32mWImGGCRkWhO882KyRVJFYAx94QK9yf6vVTjQP&amp;amp;hl=en"&gt;https://docs.google.com/leaf?id=1D0Z0KfgFdvqGHIcpG_7B32mWImGGCRkWhO882KyRVJFYAx94QK9yf6vVTjQP&amp;amp;hl=en&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Start enterprise gateway and policy studio.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-ZEotU1sG2a4/TpMhyg0DwsI/AAAAAAAAAxc/y03XeePPZss/s1600-h/image%25255B14%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-60hdFs8k4oM/TpMhzjcMlAI/AAAAAAAAAxg/F8imbeQ9kEk/image_thumb%25255B8%25255D.png?imgmax=800" width="439" height="310"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Click on enterprise gateway and edit the active configuration.Password for admin user is blank by default.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-DV_r1gFH2Os/TpMh0CVyLfI/AAAAAAAAAxk/7tEd04CtJQs/s1600-h/image%25255B13%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-94Fb-zwiAak/TpMh09d5GVI/AAAAAAAAAxo/pHIOMyAhbQ4/image_thumb%25255B7%25255D.png?imgmax=800" width="442" height="374"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-6NLqnXNkBmA/TpMh1-AgWHI/AAAAAAAAAxs/upO0veJDe-M/s1600-h/image%25255B12%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-Xt2TMA29zKQ/TpMh2x6OiGI/AAAAAAAAAxw/NKZdfUsJMr4/image_thumb%25255B6%25255D.png?imgmax=800" width="445" height="307"&gt;&lt;/a&gt;&lt;/p&gt;   &lt;p&gt;Now in policy tab register your service,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-0OJ84rCMbOM/TpMh3-Wl_pI/AAAAAAAAAx0/tOOdmyYo3w0/s1600-h/image%25255B19%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-n8_iAq0Kr0k/TpMh48qH02I/AAAAAAAAAx4/De-kUeJfOs8/image_thumb%25255B11%25255D.png?imgmax=800" width="599" height="385"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-RYay6VKV-jA/TpMh5t6N1XI/AAAAAAAAAx8/wW-iuKDPhJE/s1600-h/image%25255B23%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-fRrNQaqxzxo/TpMh6Y1aKyI/AAAAAAAAAyA/OSaPY44Tohk/image_thumb%25255B13%25255D.png?imgmax=800" width="429" height="273"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Select all the default option after that.After successful registration you will get a new generated circuit policy as below,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-W5xpoCUnhio/TpMh66_8_pI/AAAAAAAAAyE/P70GGkY06Xk/s1600-h/image%25255B27%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-K1wJG8rFnWw/TpMh7z9T6NI/AAAAAAAAAyI/d2w0d7gyDBo/image_thumb%25255B15%25255D.png?imgmax=800" width="481" height="288"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Now create a WS Header authentication policy in your policy library and set it as start.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-qZI9F8b0cyE/TpMh9MQfQMI/AAAAAAAAAyM/uyIJQerltxA/s1600-h/image%25255B32%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-gZNntkFm17I/TpMh-aAv6II/AAAAAAAAAyQ/qjKoNttse6E/image_thumb%25255B18%25255D.png?imgmax=800" width="597" height="334"&gt;&lt;/a&gt;&lt;/p&gt;   &lt;p&gt;Go to the user tab and create a new user as you given in previous step.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-0T1TyCJgV98/TpMh_CBm87I/AAAAAAAAAyU/2IUQZHFHzVo/s1600-h/image%25255B41%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-71k-ZJjmYqA/TpMh_xVCn-I/AAAAAAAAAyY/yPv0BneH8iI/image_thumb%25255B23%25255D.png?imgmax=800" width="461" height="219"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Now go back to your generated circuit and edit as below under Request from Client tab.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-7IXBUzvW7jk/TpMiBJypncI/AAAAAAAAAyc/7C71jz2K8Lc/s1600-h/image%25255B37%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-im-rAe27zoU/TpMiCPWL6zI/AAAAAAAAAyg/tSIXIfM1nz0/image_thumb%25255B21%25255D.png?imgmax=800" width="598" height="403"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Deploy (F6) your configuration to Gateway.You are done with securing your service , now we’ll test it from service explorer.&lt;/p&gt; &lt;p&gt;Click on import wsdl and point your service endpoint , change the port to OEG port,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-sRpgM0gZagc/TpMiDXFdGcI/AAAAAAAAAyk/gSUooiLx6Fw/s1600-h/image%25255B46%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-9Qaj11VT3eU/TpMiEU3Z61I/AAAAAAAAAyo/uVwnb53UJI4/image_thumb%25255B26%25255D.png?imgmax=800" width="582" height="287"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt; Under security token click on WS-Security username token and give the appropriate credentials as below,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-gtlfr6f2F1g/TpMiFQeJY0I/AAAAAAAAAys/pQP_B_Ww0Ww/s1600-h/image%25255B51%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-qLH7VVTjSxU/TpMiGeX9WiI/AAAAAAAAAyw/cgzBP8WOwaI/image_thumb%25255B29%25255D.png?imgmax=800" width="602" height="406"&gt;&lt;/a&gt; Now test the service and you should get HTTP 200 response.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-PZT349sVQ8M/TpMiHcNA7pI/AAAAAAAAAy0/FCbyT7iCGP4/s1600-h/image%25255B55%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-k0triEAy9yo/TpMiIfVDG9I/AAAAAAAAAy4/ZXSNW3LMeLo/image_thumb%25255B31%25255D.png?imgmax=800" width="597" height="256"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now login to traffic monitor of OEG and check your request,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-N2H2-G7fcPM/TpMiJocsPeI/AAAAAAAAAy8/OyAITOqHj0U/s1600-h/image%25255B60%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-PGQklIRTjs0/TpMiKc5f4GI/AAAAAAAAAzA/OnizE-Uvdwc/image_thumb%25255B34%25255D.png?imgmax=800" width="592" height="332"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;img src="http://feeds.feedburner.com/~r/Shrikworld/~4/5jG_gfMBPCg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/1235699540857944853/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=342277253848129789&amp;postID=1235699540857944853&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/1235699540857944853?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/1235699540857944853?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Shrikworld/~3/5jG_gfMBPCg/securing-bpel-composite-using-oeg.html" title="Securing a BPEL composite using OEG" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-60hdFs8k4oM/TpMhzjcMlAI/AAAAAAAAAxg/F8imbeQ9kEk/s72-c/image_thumb%25255B8%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://shrikworld.blogspot.com/2011/10/securing-bpel-composite-using-oeg.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MBR3w4cSp7ImA9WhdWEk4.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789.post-871342644659874858</id><published>2011-09-05T07:58:00.000-07:00</published><updated>2011-09-05T08:10:56.239-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-05T08:10:56.239-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SOA" /><category scheme="http://www.blogger.com/atom/ns#" term="XSLT" /><title>Merge Two Source Element based on a Common Key in XSLT</title><content type="html">&lt;p&gt;I had a requirement where I need to merge the contents of two files into a single file and there was a common key between the two schema.We start our process by polling into first file location based on follow schema,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-DJS9zqbvilQ/TmTmZyHDYlI/AAAAAAAAAvQ/l02x5U1pAYc/s1600-h/image%25255B12%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-z0lQAPqHoT4/TmTmaVlsVwI/AAAAAAAAAvU/zMisWf8D68k/image_thumb%25255B6%25255D.png?imgmax=800" width="438" height="182"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Then using synchronous read I’m reading second file whose content is based on below schema,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-LupeQjIuZ74/TmTmbU9jPfI/AAAAAAAAAvY/UXv-TxKjzkM/s1600-h/image%25255B13%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-gDwqTpoMNnA/TmTmcFDnPvI/AAAAAAAAAvc/QCOcRr2ExpA/image_thumb%25255B7%25255D.png?imgmax=800" width="434" height="215"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Now after merging I want the content structured as below where CustomerId is common key between two files,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-WbPP3BFycuA/TmTmcmijQWI/AAAAAAAAAvg/U9nWwzdNMIM/s1600-h/image%25255B17%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-V-Uf2gEBBZo/TmTmdyXa5ZI/AAAAAAAAAvk/PyVTUhdJta0/image_thumb%25255B9%25255D.png?imgmax=800" width="435" height="268"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;and we have to do this merge in xslt , here is the simple code to achieve this,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-d4hbBwNFP40/TmTmelRY6uI/AAAAAAAAAvo/TDYg04EF_1k/s1600-h/image%25255B21%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-e-3D-y0giR0/TmTmfvpasDI/AAAAAAAAAvs/davXqqHae_M/image_thumb%25255B11%25255D.png?imgmax=800" width="460" height="293"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:template match="/"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns0:CustomerInfoFinal&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:for-each select="/ns1:CustomerInfo1/ns1:Customer"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:variable name="custID" select="ns1:CustomerId"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns0:Customer&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns0:CustomerId&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:value-of select="ns1:CustomerId"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ns0:CustomerId&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns0:Name&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:value-of select="ns1:Name"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ns0:Name&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns0:PAN&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:value-of select="ns1:PAN"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ns0:PAN&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns0:Address&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:value-of select="&lt;strong&gt;$custDetails/ns2:CustomerInfo2/ns2:CustomerOtherInfo[(ns2:CustomerId = $custID)]/ns2:Address&lt;/strong&gt;"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ns0:Address&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns0:Age&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:value-of select="&lt;strong&gt;$custDetails/ns2:CustomerInfo2/ns2:CustomerOtherInfo[(ns2:CustomerId = $custID)]/ns2:Age&lt;/strong&gt;"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ns0:Age&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns0:Gender&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:value-of select="&lt;strong&gt;$custDetails/ns2:CustomerInfo2/ns2:CustomerOtherInfo[(ns2:CustomerId = $custID)]/ns2:Gender&lt;/strong&gt;"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ns0:Gender&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ns0:Customer&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:for-each&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ns0:CustomerInfoFinal&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;/xsl:template&amp;gt;&lt;/p&gt;  &lt;img src="http://feeds.feedburner.com/~r/Shrikworld/~4/YSw29csZtEU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/871342644659874858/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=342277253848129789&amp;postID=871342644659874858&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/871342644659874858?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/871342644659874858?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Shrikworld/~3/YSw29csZtEU/merge-two-source-element-based-on.html" title="Merge Two Source Element based on a Common Key in XSLT" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-z0lQAPqHoT4/TmTmaVlsVwI/AAAAAAAAAvU/zMisWf8D68k/s72-c/image_thumb%25255B6%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://shrikworld.blogspot.com/2011/09/merge-two-source-element-based-on.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkEARXg9eSp7ImA9WhdWEk4.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789.post-5286653939061257532</id><published>2011-09-04T08:52:00.000-07:00</published><updated>2011-09-05T07:57:24.661-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-05T07:57:24.661-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SOA" /><category scheme="http://www.blogger.com/atom/ns#" term="XSLT" /><title>String to Date Conversion in XSLT</title><content type="html">&lt;p&gt;This blog might be handy for you for quick date conversion from string to date. Like in our source is String DD-MON-YYYY format and I want to convert it to YYYY-MM-DD for making the JCA adapter recognize the same during updation in oracle table.I didn’t find out any in built function is available so I decided to use simple sql query in xslt.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-dP04mi-_O2Y/TmOhHddtl4I/AAAAAAAAAu4/1M39HHeAm5g/s1600-h/image%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-gHtZTRAwuH4/TmOhIY_Ww2I/AAAAAAAAAu8/FEvhqey-a88/image_thumb%25255B1%25255D.png?imgmax=800" width="587" height="142"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;I just used query-database function and sql query is constructed using string concatenation.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-lCYkkxvnxgk/TmOhJCayjaI/AAAAAAAAAvA/kwi9sH83l_8/s1600-h/image%25255B7%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-Mf5u945nUek/TmOhJ9gxKqI/AAAAAAAAAvE/oqM9cKutCtM/image_thumb%25255B3%25255D.png?imgmax=800" width="384" height="280"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;and if you look at the database function ,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-I9MwsgK-oD4/TmOhKgJkvZI/AAAAAAAAAvI/wSdYQnLNlg8/s1600-h/image%25255B11%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-1pKEb66Xsj4/TmOhLsB8XMI/AAAAAAAAAvM/ZJXP7ZI6YxE/image_thumb%25255B5%25255D.png?imgmax=800" width="392" height="264"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;and whole sqlquery is &lt;strong&gt;concat("select to_char(to_date('",/ns0:arrivalDate,"','DD-MON-YYYY'),'YYYY-MM-DD') arrivalDate from dual")&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;handy for me as well for future reference.&lt;/p&gt;  &lt;img src="http://feeds.feedburner.com/~r/Shrikworld/~4/I_OIkh9gm5g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/5286653939061257532/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=342277253848129789&amp;postID=5286653939061257532&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/5286653939061257532?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/5286653939061257532?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Shrikworld/~3/I_OIkh9gm5g/string-to-date-conversion-in-xslt.html" title="String to Date Conversion in XSLT" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-gHtZTRAwuH4/TmOhIY_Ww2I/AAAAAAAAAu8/FEvhqey-a88/s72-c/image_thumb%25255B1%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://shrikworld.blogspot.com/2011/09/string-to-date-conversion-in-xslt.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UERXo_fip7ImA9WhdRFU8.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789.post-3116244838924072442</id><published>2011-08-04T21:03:00.000-07:00</published><updated>2011-08-04T23:20:04.446-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-04T23:20:04.446-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SOA" /><category scheme="http://www.blogger.com/atom/ns#" term="ADF" /><title>Error Handling in SOA 11g :Introducing Error Report: Part 3</title><content type="html">&lt;p&gt;I would like to ask all the reader to go through my previous two error handling&amp;nbsp; blog,&lt;a href="http://shrikworld.blogspot.com/2011/03/errorhandling-in-soa-11g.html"&gt;http://shrikworld.blogspot.com/2011/03/errorhandling-in-soa-11g.html&lt;/a&gt; and &lt;a href="http://shrikworld.blogspot.com/2011/04/error-handling-in-soa-11g-part-2.html"&gt;http://shrikworld.blogspot.com/2011/04/error-handling-in-soa-11g-part-2.html&lt;/a&gt;. In previous blog I discussed how to enqueue ECID to your JMS queue from fault policy on any error.So instead of only enqueueing ECID we can also put Fault complete metadata like fault details, composite id etc.You need to modify your custom java code little bit, here is the modified code,&lt;/p&gt; &lt;p&gt;package com.shrik.world.fault;&lt;/p&gt; &lt;p&gt;import com.collaxa.cube.engine.fp.BPELFaultRecoveryContextImpl;&lt;/p&gt; &lt;p&gt;import java.util.Map;&lt;br&gt;import java.util.UUID;&lt;/p&gt; &lt;p&gt;import oracle.integration.platform.faultpolicy.IFaultRecoveryContext;&lt;br&gt;import oracle.integration.platform.faultpolicy.IFaultRecoveryJavaClass;&lt;/p&gt; &lt;p&gt;import javax.jms.Connection;&lt;br&gt;import javax.jms.JMSException;&lt;br&gt;import javax.jms.MessageProducer;&lt;br&gt;import javax.jms.Queue;&lt;br&gt;import javax.jms.QueueConnectionFactory;&lt;br&gt;import javax.jms.Session;&lt;br&gt;import javax.jms.TextMessage;&lt;/p&gt; &lt;p&gt;import javax.naming.Context;&lt;br&gt;import javax.naming.InitialContext;&lt;br&gt;import javax.naming.NamingException;&lt;/p&gt; &lt;p&gt;import oracle.integration.platform.faulthandling.recovery.RejectedMsgRecoveryContext;&lt;/p&gt; &lt;p&gt;public class CustomFaultHandler implements IFaultRecoveryJavaClass {&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Map props;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public CustomFaultHandler() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; super();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void handleRetrySuccess(IFaultRecoveryContext iFaultRecoveryContext) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("Retry Success");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; handleFault(iFaultRecoveryContext);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String handleFault(IFaultRecoveryContext iFaultRecoveryContext) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Print Fault Meta Data to Console&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("****************Fault Metadata********************************");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("Fault policy id: " +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iFaultRecoveryContext.getPolicyId());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("Fault type: " + iFaultRecoveryContext.getType());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("Partnerlink: " +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iFaultRecoveryContext.getReferenceName());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("Port type: " +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iFaultRecoveryContext.getPortType());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("**************************************************************");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //print all properties defined in the fault-policy file&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("Properties Set for the Fault");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; props = iFaultRecoveryContext.getProperties();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (Object key : props.keySet()) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("Key : " + key.toString() + " Value : " +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; props.get(key).toString());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Print Fault Details to Console if it exists&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("****************Fault Details********************************");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BPELFaultRecoveryContextImpl bpelCtx =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (BPELFaultRecoveryContextImpl)iFaultRecoveryContext;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (iFaultRecoveryContext instanceof BPELFaultRecoveryContextImpl) {&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("Fault: " + bpelCtx.getFault());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("Activity: " + bpelCtx.getActivityName());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("Composite Instance: " +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bpelCtx.getCompositeInstanceId());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("Composite Name: " +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bpelCtx.getCompositeName());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("***********************************************************");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //enqueueing Error Details&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("Enqueueing Data into ErrorQ.....");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enqueueAqEvent(iFaultRecoveryContext);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (JMSException e) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (NamingException e) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return bpelCtx.getFault().getMessage().contains("env:Server") ? "Terminate":"Manual";&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void enqueueAqEvent(IFaultRecoveryContext iFaultRecoveryContext) throws NamingException,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JMSException {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UUID uuid = UUID.randomUUID();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Session session = null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageProducer publisher = null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TextMessage message = null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitialContext context = new InitialContext();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; QueueConnectionFactory connectionFactory =(QueueConnectionFactory)context.lookup("error.qcf");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Connection connection =connectionFactory.createConnection();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Queue errQueue =(Queue)context.lookup("error.q");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; session =connection.createSession(false, Session.AUTO_ACKNOWLEDGE);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; publisher = session.createProducer(errQueue);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; message =session.createTextMessage(createEventPayload(iFaultRecoveryContext));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; message.setJMSCorrelationID(uuid.toString());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connection.start();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; publisher.send(message);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connection.stop();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connection.close();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String createEventPayload(IFaultRecoveryContext iFaultRecoveryContext) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String eventPayload =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&amp;lt;SOAFault xmlns=\"&lt;a href="http://www.shrik.world.com/\&amp;quot;"&gt;http://www.shrik.world.com/\"&lt;/a&gt;&amp;gt;\n" +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; " &amp;lt;ecid&amp;gt;UNKNOWN_ECID&amp;lt;/ecid&amp;gt;\n" +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; " &amp;lt;policyID&amp;gt;"+ iFaultRecoveryContext.getPolicyId() + "&amp;lt;/policyID&amp;gt;\n" +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; " &amp;lt;type&amp;gt;"+ iFaultRecoveryContext.getType() + "&amp;lt;/type&amp;gt;\n" +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; " &amp;lt;partnerLink&amp;gt;"+ iFaultRecoveryContext.getReferenceName() + "&amp;lt;/partnerLink&amp;gt;\n" +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; " &amp;lt;port&amp;gt;"+ iFaultRecoveryContext.getPortType() + "&amp;lt;/port&amp;gt;\n" +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; " &amp;lt;faultDetails&amp;gt;UNKNOWN_FAULT_DETAILS&amp;lt;/faultDetails&amp;gt;\n" +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; " &amp;lt;activity&amp;gt;UNKNOWN_ACTIVITY&amp;lt;/activity&amp;gt;\n" +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; " &amp;lt;compositeID&amp;gt;UNKNOWN_INSTANCE_ID&amp;lt;/compositeID&amp;gt;\n" +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; " &amp;lt;compositeName&amp;gt;UNKNOWN_COMPOSITE_NAME&amp;lt;/compositeName&amp;gt;\n" +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; " &amp;lt;compositeName&amp;gt;UNKNOWN_COMPONENT_NAME&amp;lt;/compositeName&amp;gt;\n" +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&amp;lt;/SOAFault&amp;gt;";&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (iFaultRecoveryContext instanceof RejectedMsgRecoveryContext) {&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RejectedMsgRecoveryContext rejectedMessageContext =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (RejectedMsgRecoveryContext)iFaultRecoveryContext;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String ecid = null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (rejectedMessageContext.getRejectedMessage() != null &amp;amp;&amp;amp;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rejectedMessageContext.getRejectedMessage().getEcid() !=&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; null) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ecid = rejectedMessageContext.getRejectedMessage().getEcid();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if (rejectedMessageContext.getFault() != null &amp;amp;&amp;amp;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rejectedMessageContext.getFault().getECID() != null) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ecid = rejectedMessageContext.getFault().getECID();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eventPayload = eventPayload.replace("UNKNOWN_ECID", ecid);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if (iFaultRecoveryContext instanceof&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BPELFaultRecoveryContextImpl) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BPELFaultRecoveryContextImpl bpelFaultRecoveryContextImpl =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (BPELFaultRecoveryContextImpl)iFaultRecoveryContext;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eventPayload =eventPayload.replace("UNKNOWN_ECID", bpelFaultRecoveryContextImpl.getECID());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eventPayload =eventPayload.replace("UNKNOWN_FAULT_DETAILS", bpelFaultRecoveryContextImpl.getFault().getMessage());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eventPayload =eventPayload.replace("UNKNOWN_ACTIVITY", bpelFaultRecoveryContextImpl.getActivityName());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eventPayload =eventPayload.replace("UNKNOWN_INSTANCE_ID", bpelFaultRecoveryContextImpl.getComponentInstanceId());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eventPayload =eventPayload.replace("UNKNOWN_COMPOSITE_NAME", bpelFaultRecoveryContextImpl.getCompositeName());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eventPayload =eventPayload.replace("UNKNOWN_COMPONENT_NAME", bpelFaultRecoveryContextImpl.getComponentName());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(eventPayload);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return eventPayload;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;}&lt;br&gt;&lt;/p&gt; &lt;p&gt;So whenever any error occur at composite the below message will be put into the queue&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-KVjim7XiTwQ/TjuK-6wLhjI/AAAAAAAAAmE/xhRWeiUpPKI/s1600-h/image3.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-LLWGPW7GBG8/TjuK_gMX41I/AAAAAAAAAmI/mchWtnO5MB4/image_thumb1.png?imgmax=800" width="589" height="133"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;&amp;lt;SOAFault xmlns="&lt;/em&gt;&lt;a href="http://www.shrik.world.com/&amp;quot;"&gt;&lt;em&gt;http://www.shrik.world.com/"&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&amp;gt;&lt;br&gt;&amp;lt;ecid&amp;gt;11d1def534ea1be0:1ba57489:13197ef8107:-8000-0000000000000347&amp;lt;/ecid&amp;gt;&lt;br&gt;&amp;lt;policyID&amp;gt;CompositeFaultPolicy&amp;lt;/policyID&amp;gt;&lt;br&gt;&amp;lt;type&amp;gt;bpel&amp;lt;/type&amp;gt;&lt;br&gt;&amp;lt;partnerLink&amp;gt;Service1&amp;lt;/partnerLink&amp;gt;&lt;br&gt;&amp;lt;port&amp;gt;{&lt;/em&gt;&lt;a href="http://xmlns.oracle.com/ErrorHandlingApp/HelloWorld/sayHello}sayHello"&gt;&lt;em&gt;http://xmlns.oracle.com/ErrorHandlingApp/HelloWorld/sayHello}sayHello&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&amp;lt;/port&amp;gt;&lt;br&gt;&amp;lt;faultDetails&amp;gt;faultName: {{&lt;/em&gt;&lt;a href="http://schemas.oracle.com/bpel/extension}remoteFault}"&gt;&lt;em&gt;http://schemas.oracle.com/bpel/extension}remoteFault}&lt;/em&gt;&lt;/a&gt;&lt;br&gt;&lt;em&gt;messageType: {{&lt;/em&gt;&lt;a href="http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage}"&gt;&lt;em&gt;http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage}&lt;/em&gt;&lt;/a&gt;&lt;br&gt;&lt;em&gt;parts: {{&lt;br&gt;summary=&amp;lt;summary&amp;gt;Message Router for shrik/HelloWorld!1.0*soa_a94e595b-965e-48d9-8b15-6735c29a2805 is not able to process messages. The composite state is set to "off".&amp;nbsp; The composite can be turned "on" by using the administrative consoles.&amp;lt;/summary&amp;gt;&lt;br&gt;,detail=&amp;lt;detail&amp;gt;&amp;amp;lt;exception&amp;gt;Message Router for shrik/HelloWorld!1.0*soa_a94e595b-965e-48d9-8b15-6735c29a2805 is not able to process messages. The composite state is set to "off".&amp;nbsp; The composite can be turned "on" by using the administrative consoles.&amp;amp;lt;/exception&amp;gt;&lt;br&gt;&amp;lt;/detail&amp;gt;&lt;br&gt;,code=&amp;lt;code&amp;gt;env:Server&amp;lt;/code&amp;gt;}&lt;br&gt;&amp;lt;/faultDetails&amp;gt;&lt;br&gt;&amp;lt;activity&amp;gt;Invoke1&amp;lt;/activity&amp;gt;&lt;br&gt;&amp;lt;compositeID&amp;gt;bpel:260001&amp;lt;/compositeID&amp;gt;&lt;br&gt;&amp;lt;compositeName&amp;gt;CallHelloWorld&amp;lt;/compositeName&amp;gt;&lt;br&gt;&amp;lt;compositeName&amp;gt;BPELProcess1&amp;lt;/compositeName&amp;gt;&lt;br&gt;&amp;lt;/SOAFault&amp;gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Now we can have a composite say SOAErrorNotificationProcess to dequeue the data from this error queue and send notification to concerned group along with auditing the same.Here is the design of that composite,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-DcUQYrrI_HI/TjuLAD5HTSI/AAAAAAAAAmM/uQfaEH5sA7E/s1600-h/image7.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-A_JRgcoxHJY/TjuLBCdZPQI/AAAAAAAAAmQ/rs7eaqh69d8/image_thumb3.png?imgmax=800" width="578" height="320"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Its pretty simple and for auditing purpose I created below table in soainfra.database to store the error details,here is the DDL and sample data,&lt;/p&gt; &lt;p&gt;&lt;font size="1"&gt;CREATE TABLE "DEV_SOAINFRA"."XX_COMPOSITE_ERRORS"&lt;br&gt;&amp;nbsp; (&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "ECID"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARCHAR2(1000 BYTE) NOT NULL ENABLE,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "POLICY_ID"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARCHAR2(100 BYTE),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "TYPE"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARCHAR2(20 BYTE),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "PARTNERLINK"&amp;nbsp;&amp;nbsp;&amp;nbsp; VARCHAR2(50 BYTE),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "PORT"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARCHAR2(500 BYTE),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "FAULT_SUMMARY"&amp;nbsp; VARCHAR2(1000 BYTE),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "FAULT_DETAILS"&amp;nbsp; VARCHAR2(1000 BYTE),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "FAULT_CODE"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARCHAR2(100 BYTE),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "ACTIVITY"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARCHAR2(20 BYTE),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "COMPOSITE_ID"&amp;nbsp;&amp;nbsp; VARCHAR2(100 BYTE),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "COMPOSITE_NAME" VARCHAR2(1000 BYTE),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "ERROR_TIME" DATE,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CONSTRAINT "XX_COMPOSITE_ERRORS_PK" PRIMARY KEY ("ECID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "DEV_SOAINFRA" ENABLE&lt;br&gt;&amp;nbsp; )&lt;br&gt;&amp;nbsp; SEGMENT CREATION IMMEDIATE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE&lt;br&gt;&amp;nbsp; (&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT&lt;br&gt;&amp;nbsp; )&lt;br&gt;&amp;nbsp; TABLESPACE "DEV_SOAINFRA" ;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;Make the routing parallel in mediator so that u can incorporate your custom fault policy there,&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-o4ohD9kRviQ/TjuLCOUA96I/AAAAAAAAAmU/T88u6Zn1k3g/s1600-h/image11.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-V-C9gE8r0qs/TjuLCxEnAaI/AAAAAAAAAmY/pjc_aC9sNVA/image_thumb5.png?imgmax=800" width="594" height="294"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;I’m not going into more details of this composite.Now just make one process faulted and our custom framework will do the following things sequentially,&lt;/p&gt; &lt;p&gt;1.It parse the custom policy file.2.It retrieves the fault metadata and details from em 3.It enqueue all the details to error queue. 4.SOAErrorNotificationProcess will keep on polling that queue and as soon as a data comes into error queue it retrieves that.5.It audit all the error details into a table as well as send email to a group with all fault details.&lt;/p&gt; &lt;p&gt;Now what's next? you can see all the faulted instances for manual recovery.Now can’t we have a report by which we can see all the error details , all the recoverable instance and retry or abort from there itself instead of going to em.Even that report would be useful for business users to get a bird’s eye view.&lt;/p&gt; &lt;p&gt;I used ADF here for creating the report.To get started create a view(using entity) based on the error table that you created in soainfra like below,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-2JgEB85mL6Y/TjuLENtqFeI/AAAAAAAAAmc/QcaKyQoyIlc/s1600-h/image15.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-ZcNQhy_HjXo/TjuLFWy5nkI/AAAAAAAAAmg/B0q76nuTudY/image_thumb7.png?imgmax=800" width="588" height="320"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Register you vo to am to make it accessible to your report as a datasource.Create a page and drag drop your data source as a ADF Query panel. Here is the UI of mine,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-G7oGIuqIQFs/TjuLGtiFUAI/AAAAAAAAAmk/wTliVcrQAA8/s1600-h/image20.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-hKnoe9wTTrM/TjuLHoovliI/AAAAAAAAAmo/BAcIqMfNGnc/image_thumb10.png?imgmax=800" width="598" height="337"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;In the menu I just incorporated print page and export as a excel functionality,&lt;/p&gt; &lt;p&gt;There is a button Instance Statistics in toolbar which bound to adf popup. Data source for popup is different and sql query based,here is the query&lt;/p&gt; &lt;p&gt;&lt;font size="1"&gt;SELECT (CASE WHEN STATE=1 THEN 'OPEN AND RUNNING'&lt;br&gt;WHEN STATE=2 THEN 'OPEN AND SUSPENDED'&lt;br&gt;WHEN STATE=3 THEN 'OPEN AND FAULTED'&lt;br&gt;WHEN STATE=4 THEN 'CLOSED AND PENDING'&lt;br&gt;WHEN STATE=5 THEN 'CLOSED AND COMPLETED'&lt;br&gt;WHEN STATE=6 THEN 'CLOSED AND FAUTED'&lt;br&gt;WHEN STATE=7 THEN 'CLOSED AND CANCELLED'&lt;br&gt;WHEN STATE=8 THEN 'CLOSED AND ABORTED'&lt;br&gt;WHEN STATE=9 THEN 'CLOSED AND STALE'&lt;br&gt;WHEN STATE=10 THEN 'NON-RECOVERABLE'&lt;br&gt;ELSE STATE || ''&lt;br&gt;END) AS STATE, COUNT(*) AS NUM_OF_CUBE_INST FROM CUBE_INSTANCE GROUP BY STATE&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-fLQXugaOUh8/TjuLI7g79vI/AAAAAAAAAms/X6zp6TDy1ws/s1600-h/image29.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-Zv92a9OcmnA/TjuLKF1HQ8I/AAAAAAAAAmw/KZ3r_8_Sfu4/image_thumb15.png?imgmax=800" width="594" height="354"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Register your view to am.Now create a popup and bind the popup id to your command button popup behaviour.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-R0Y9heuS9P0/TjuLLXo1KII/AAAAAAAAAm0/FyLdXnpi-rc/s1600-h/image33.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-MPaEfkP_zFM/TjuLMeyxHEI/AAAAAAAAAm4/EKD1-CxWoPQ/image_thumb17.png?imgmax=800" width="598" height="291"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Now create a pie chart based on SOAInstancesV as below in your popup,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-gqmaWsN65Ow/TjuLN6GpbcI/AAAAAAAAAm8/4i_EC5oonTk/s1600-h/image38.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-hJfNlM1Ferk/TjuLO8lpqeI/AAAAAAAAAnA/mRQWxMrZtNk/image_thumb20.png?imgmax=800" width="594" height="355"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Now just run the page to check the added functionality,Run the query and click on command button on toolbar.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-K1pqszHfsSw/TjuLPxaQBxI/AAAAAAAAAnE/RcBCyX2Mcyk/s1600-h/image43.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-1ycDraFJd_0/TjuLQ7hdxaI/AAAAAAAAAnI/-xHk_fNXGsw/image_thumb23.png?imgmax=800" width="604" height="266"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-oqyki86TbNY/TjuLR5dnGdI/AAAAAAAAAnM/nDBE7omiHEE/s1600-h/image48.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-4hh1tGth_Ck/TjuLTCzyF1I/AAAAAAAAAnQ/ZNghpnGvW0I/image_thumb26.png?imgmax=800" width="599" height="317"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Now we need to build left hand navigation.There are two links with popup behaviour, RetryInstances and SOAErrorByDay.&lt;/p&gt; &lt;p&gt;In RetryInstances it will popup all the recoverable instances from soa mbean that went to manual intervention in em and there would be option for retry or terminate instances without login into em.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The underlying datasource for retryinstances is based on Java bean.First create below classes in your model,&lt;/p&gt; &lt;p&gt;FaultDetails.java it basically contains all the getter and setter method that will be used later as a table.&lt;/p&gt; &lt;p&gt;package com.shrik.world.model.bean;&lt;/p&gt; &lt;p&gt;public class FaultDetails {&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String compositeDN;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String compositeInstanceID;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String componentName;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String componentInstanceID;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String activityName;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String faultID;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String faultName;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private boolean recoverableFlag;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String faultMessage;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public FaultDetails() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; super();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public FaultDetails(String compositeDN, String compositeInstanceID, String componentName, String componentInstanceID,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String activityName, String faultID, String faultName,boolean recoverableFlag,String faultMessage) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.compositeDN=compositeDN;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.compositeInstanceID=compositeInstanceID;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.componentName=componentName;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.componentInstanceID=componentInstanceID;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.activityName=activityName;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.faultID=faultID;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.faultName=faultName;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.recoverableFlag=recoverableFlag;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.faultMessage=faultMessage;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setCompositeDN(String compositeDN) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.compositeDN = compositeDN;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getCompositeDN() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return compositeDN;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setCompositeInstanceID(String compositeInstanceID) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.compositeInstanceID = compositeInstanceID;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getCompositeInstanceID() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return compositeInstanceID;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setComponentName(String componentName) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.componentName = componentName;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getComponentName() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return componentName;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setComponentInstanceID(String componentInstanceID) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.componentInstanceID = componentInstanceID;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getComponentInstanceID() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return componentInstanceID;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setActivityName(String activityName) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.activityName = activityName;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getActivityName() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return activityName;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setFaultID(String faultID) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.faultID = faultID;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getFaultID() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return faultID;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setFaultName(String faultName) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.faultName = faultName;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getFaultName() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return faultName;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setFaultMessage(String faultMessage) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.faultMessage = faultMessage;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getFaultMessage() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return faultMessage;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setRecoverableFlag(boolean recoverableFlag) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.recoverableFlag = recoverableFlag;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public boolean isRecoverableFlag() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return recoverableFlag;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;}&lt;/p&gt; &lt;p&gt;FaultReport.java that populates FaultDetails with all required information,&lt;/p&gt; &lt;p&gt;package com.shrik.world.model.bean;&lt;/p&gt; &lt;p&gt;import java.util.ArrayList;&lt;br&gt;import java.util.Hashtable;&lt;/p&gt; &lt;p&gt;import java.util.List;&lt;/p&gt; &lt;p&gt;import javax.naming.Context;&lt;/p&gt; &lt;p&gt;import oracle.soa.management.facade.Fault;&lt;br&gt;import oracle.soa.management.facade.FaultRecoveryActionTypeConstants;&lt;br&gt;import oracle.soa.management.facade.Locator;&lt;br&gt;import oracle.soa.management.facade.LocatorFactory;&lt;br&gt;import oracle.soa.management.facade.bpel.BPELServiceEngine;&lt;br&gt;import oracle.soa.management.util.FaultFilter;&lt;/p&gt; &lt;p&gt;public class FaultReport {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private Locator locator = null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private BPELServiceEngine mBPELServiceEngine;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private List&amp;lt;Fault&amp;gt; faultList;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private List&amp;lt;FaultDetails&amp;gt; myfaults = new ArrayList();&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public List&amp;lt;FaultDetails&amp;gt; findAllRecoverableFaults() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return myfaults;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public FaultReport() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; locator = this.getLocator();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mBPELServiceEngine = (BPELServiceEngine)locator.getServiceEngine(Locator.SE_BPEL);&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FaultFilter filter = new FaultFilter();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; filter.setFaultName("{&lt;a href="http://schemas.oracle.com/bpel/extension}remoteFault&amp;quot;);"&gt;http://schemas.oracle.com/bpel/extension}remoteFault");&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; filter.setRecoverable(true);&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Get faults using defined filter&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; faultList = mBPELServiceEngine.getFaults(filter);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (Fault fault : faultList) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myfaults.add(new FaultDetails(&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fault.getCompositeDN().getStringDN(), &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fault.getCompositeInstanceId(),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fault.getComponentName(), &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fault.getComponentInstanceId(), &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fault.getLabel(), &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fault.getId(),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fault.getName().toString(),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fault.isRecoverable(),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fault.getMessage().toString()));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (Exception e) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Locator getLocator() {&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return LocatorFactory.createLocator(getJndiProps());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (Exception e) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Hashtable getJndiProps() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Hashtable jndiProps = new Hashtable();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jndiProps.put(Context.PROVIDER_URL, "t3://localhost:8001/soa-infra");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jndiProps.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jndiProps.put(Context.SECURITY_PRINCIPAL, "weblogic");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jndiProps.put(Context.SECURITY_CREDENTIALS, "welcome1");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jndiProps.put("dedicated.connection", "true");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return jndiProps;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void retryRecoverableInstances(){&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mBPELServiceEngine.recoverFaults(faultList.toArray(new Fault[faultList.size()]), FaultRecoveryActionTypeConstants.ACTION_RETRY);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (Exception e) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void terminateRecoverableInstances(){&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mBPELServiceEngine.recoverFaults(faultList.toArray(new Fault[faultList.size()]), FaultRecoveryActionTypeConstants.ACTION_ABORT);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (Exception e) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;}&lt;br&gt;Here you can retrieve the server properties from external file as well instead of hardcoding.&lt;/p&gt; &lt;p&gt;Now right click on FaultReport and generate the data source.After sometime you should be able to see the datasource,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-uTGRFu1tiHw/TjuLT9xxNiI/AAAAAAAAAnU/zYA4qpDnAd4/s1600-h/image52.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-lzqa-T94hos/TjuLUidPmmI/AAAAAAAAAnY/88svBcY3eaY/image_thumb28.png?imgmax=800" width="199" height="277"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Now in the popup drag drop that datasource in a panel collection as below,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-dzuYTJMENhk/TjuLVPt4Q5I/AAAAAAAAAnc/dBIXNZzbuP0/s1600-h/image57.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-rdLsfmWIE84/TjuLWK4HSvI/AAAAAAAAAng/cw6CSZuQPnI/image_thumb31.png?imgmax=800" width="598" height="326"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;In the menu I added two options,Retry and Abort and here is the action listener binding &lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-7U1DagFPlcs/TjuLXn7RuhI/AAAAAAAAAnk/66wrV5ASAlI/s1600-h/image61.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-t3RSvUHD5Zo/TjuLY8gw9sI/AAAAAAAAAno/r1XI2w2L3DQ/image_thumb33.png?imgmax=800" width="596" height="290"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-Xr4qi6KtA9c/TjuLaN1xlRI/AAAAAAAAAns/ZGz9FKEFQRY/s1600-h/image65.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-nxDCTcKOxkU/TjuLbbB21_I/AAAAAAAAAnw/aPumJPnOgUg/image_thumb35.png?imgmax=800" width="596" height="300"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Methods are written as below,&lt;/p&gt; &lt;p&gt;package com.shrik.world.bean;&lt;br&gt;import&amp;nbsp; com.shrik.world.model.bean.FaultReport;&lt;/p&gt; &lt;p&gt;import javax.faces.event.ActionEvent;&lt;/p&gt; &lt;p&gt;public class Reconcile {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Reconcile() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void RetrySOARecoverable(ActionEvent actionEvent) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new FaultReport().retryRecoverableInstances();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void TerminateSOAInstances(ActionEvent actionEvent) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new FaultReport().terminateRecoverableInstances();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;}&lt;br&gt;Now to get error details per day just create a SQL query based vo and register to am as below,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-R6PennawB58/TjuLconXt4I/AAAAAAAAAn0/Mh2zo1I8a5o/s1600-h/image70.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-6Xe2yRQc-PU/TjuLdoKs7nI/AAAAAAAAAn4/UczIWWp8cmM/image_thumb38.png?imgmax=800" width="580" height="313"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Now create a bar chart in popup window as below,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-mWhNFARYJK4/TjuLeppqEMI/AAAAAAAAAn8/7k8TPSeLIIM/s1600-h/image76.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-1z296AdRMEY/TjuLgNggs6I/AAAAAAAAAoA/YgBim_NRFQE/image_thumb42.png?imgmax=800" width="599" height="373"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Now run the page and click on RetryInstances in left navigator,check the Retry and Abort functionality and verify the same from em console.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-OggDpukvCcY/TjuLhQgNdCI/AAAAAAAAAoE/kYmvtaD-kWM/s1600-h/image80.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-7wk3wiXHD9w/TjuLiVWhxcI/AAAAAAAAAoI/5i7j4jWDVL8/image_thumb44.png?imgmax=800" width="601" height="300"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Now click on SOAErrorByDay and a bar chart would popup as below,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-dIWxteZ8qB8/TjuLjtYG5xI/AAAAAAAAAoM/XnjwolIuERg/s1600-h/image84.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-3dcQ53HHMiA/TjuLkauyrJI/AAAAAAAAAoQ/LO0z4sqBpvc/image_thumb46.png?imgmax=800" width="594" height="260"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Now you can wrap up the whole code into a EAR and deploy that to em.You can customize your GUI as per your need.&lt;/p&gt;  &lt;img src="http://feeds.feedburner.com/~r/Shrikworld/~4/Z4PYrDdKMjs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/3116244838924072442/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=342277253848129789&amp;postID=3116244838924072442&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/3116244838924072442?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/3116244838924072442?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Shrikworld/~3/Z4PYrDdKMjs/error-handling-in-soa-11g-introducing.html" title="Error Handling in SOA 11g :Introducing Error Report: Part 3" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-LLWGPW7GBG8/TjuK_gMX41I/AAAAAAAAAmI/mchWtnO5MB4/s72-c/image_thumb1.png?imgmax=800" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://shrikworld.blogspot.com/2011/08/error-handling-in-soa-11g-introducing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QEQ30-fyp7ImA9WhdSE0g.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789.post-1956066127579045182</id><published>2011-07-22T08:24:00.000-07:00</published><updated>2011-07-22T09:15:02.357-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-22T09:15:02.357-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SOA" /><title>Securing SOA 11g Environment</title><content type="html">&lt;p&gt;Security is the most important part of any enterprise application. So we need to secure SOA Production environment secure and make Jdeveloper communicate with that secure environment.&lt;/p&gt; &lt;p&gt;In this blog I’ll show you how to import certificate into weblogic and jdev and make it accessible over https.You can take the certificate from any trusted CA but that incur some extra expense.For testing and development purpose you can use self signed certificate else you can download the signed certificate from a CA which is free of cost, will show you the link in steps later.So prerequisite is your SOA 11.1.1.5 env is ready with Admin server which contains SOA managed server, just follow the steps and you are done!&lt;/p&gt; &lt;p&gt;At first open a command prompt and set exactly the same JAVA_HOME which your weblogic server is using.For that just run &amp;lt;fmw_home&amp;gt;\user_projects\domains\base_domain\bin\setDomainEnv.sh or setDomainEnv.cmd. Check the java –version to recheck once again and issue the below commands.In all cases you can use your own alias name and keystore name.I created my own certificates directory(can be at any location) and change the path to the same.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;1. Generate Private Key pair using keytool&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;keytool -genkeypair -alias myserver -keyalg RSA -keysize 2048 -validity 365 -keystore shrikIS.jks -storepass welcome1&lt;/em&gt;&lt;/p&gt; &lt;p&gt;During key pair generation it will ask for some details onscreen and provide the same as per your wish.But for Prod environment your prod server URL would be the CN value.You can go ahead with any arbitrary value for testing purpose,after this command you can find shrikIS.jks created.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;2. Generate CSR to be submitted to CA&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;keytool -certreq -v -alias myserver -file serverCert.csr -keypass welcome1 -storepass welcome1 -keystore shrikIS.jks&lt;/em&gt;&lt;/p&gt; &lt;p&gt;after this command you will find serverCert.csr file created in your directory.Just open that in notepad and copy the content like below sample,&lt;/p&gt; &lt;p&gt;-----BEGIN NEW CERTIFICATE REQUEST-----&lt;br&gt;MIICtTCCAZ0CAQAwcDELMAkGA1UEBhMCSU4xCzAJBgNVBAgTAkhSMRAwDgYDVQQHEwdHdXJnYW9u&lt;br&gt;MRMwEQYDVQQKEwpzaHJpa3dvcmxkMQswCQYDVQQLEwJJVDEgMB4GA1UEAxMXU2hyZWVrYW50YSBS&lt;br&gt;b3ljaG93ZGh1cnkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrurewhMtAxY/BGRPn&lt;br&gt;sWQANSIFqIprGDaCOz/YH3XAcUguPg7lUTkE8o6tRfT6vMrMSai2/zg8Cc9dwbNaTtRoJu15qAHq&lt;br&gt;6Ta6SjvQ4VeIwAP8T2BNnrHn+GQuo7E0ef0hNHuvVcsLoZy6dBlXIc/WBn869xUKt84+ZZ79cII8&lt;br&gt;VenWFvJXi1f8NxitkjKRzbOydFOVwOza8Lo90V7Tn/DkV2OHpL9bjLnWJhLT5ZGwxhnqne79tJbV&lt;br&gt;VTZepndjhuz0JEc4DjjS2TZqsT7q4zdXM0+5HwJDOxvqjEegfSewfwPlXGSLHhOSA1s6fsEQtmZ9&lt;br&gt;h7IGSC5TJQnoXyOyxz4lAgMBAAGgADANBgkqhkiG9w0BAQUFAAOCAQEAVbIrPKGA5d6CPzXfB50S&lt;br&gt;GE4c/1OAH+qx+cv0ZzulgnfuPdKaVWzqJDc13UquCBjl/8fKevASgTtmw420JVZX6teOiCUtH06n&lt;br&gt;tO1EIT/Ti53D5KIDCQhRosMl54OjBzYwfejTDXbjoOHtKHzQo9Wi8W5sl4dd5jAp1BP/PBbfxaBS&lt;br&gt;LLPbzSRxcQKTszpeE6ekFSaKzll1CnuBhCydjXMOf6rKFOD7s1vT5uN4+GFRjtXGUlzYqcKfCTgj&lt;br&gt;OBS/MfSru4IIZtweyXJUhGPCvLaVWyq0VQ+3x4TLXDrw1579MtDunuTaJiysk1bRc1Tjrhy/hmlP&lt;br&gt;txsGAdmwrduApovnHA==&lt;br&gt;-----END NEW CERTIFICATE REQUEST-----&lt;/p&gt; &lt;p&gt;You need to send this CSR to a CA who will give you root certificate,sometimes intermediate certificate and signed certificate(public key).Go to &lt;a title="http://www.getacert.com/signacert.html" href="http://www.getacert.com/signacert.html"&gt;http://www.getacert.com/signacert.html&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-O7vvDx6lVVk/TimhqE5wwNI/AAAAAAAAAj4/kE2YT-BEBX4/s1600-h/image%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-HqhXzd_-8oM/TimhrNQdC3I/AAAAAAAAAj8/qSCXMoQg1hE/image_thumb%25255B2%25255D.png?imgmax=800" width="598" height="329"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;So here in the blank section copy paste your CSR content and click submit. After that you reach the below screen,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-oHNDouXkguw/Timhry0P8XI/AAAAAAAAAkA/anrrOHSlOLY/s1600-h/image%25255B9%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-DOdWUHNtnFk/Timhs2ZrAxI/AAAAAAAAAkE/-bKkpms5Cuk/image_thumb%25255B5%25255D.png?imgmax=800" width="574" height="415"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;From this screen download all two .cer files in same directory.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;3. Import the getacert.cer file as RootCert as below,&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;keytool -import&amp;nbsp; -file getacert.cer -alias RootCA -keystore shrikIS.jks -storepass welcome1&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;4. Establish Certificates Chain&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Then you have to import the ShreekantaRoychowdhury-2011-07-21-214305.cer file , but remember here you have to give same alias name as you given while generating the private key pair at first step, to establish the certificate chain.&lt;/p&gt; &lt;p&gt;&lt;em&gt;keytool -import&amp;nbsp; -file ShreekantaRoychowdhury-2011-07-21-214305.cer -alias &lt;strong&gt;myserver&lt;/strong&gt; -keystore shrikIS.jks -storepass welcome1&lt;/em&gt;&lt;/p&gt; &lt;p&gt;You should see ‘Certificate reply was installed in keystore’ message after executing the above command.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;5. Create Trust Store&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Now export the public key of your certificate and store it in a trust store by using below commands,&lt;/p&gt; &lt;p&gt;&lt;em&gt;keytool -export -alias myserver -file server.cer -keystore shrikIS.jks -storepass welcome1&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;keytool -import -alias server -trustcacerts -file server.cer -keystore shrikTS.jks&lt;/em&gt;&lt;/p&gt; &lt;p&gt;After this you will find another keystore shrikIS.jks is created in your directory.&lt;/p&gt; &lt;p&gt;Download keytool-iui from &lt;a title="http://code.google.com/p/keytool-iui/" href="http://code.google.com/p/keytool-iui/"&gt;http://code.google.com/p/keytool-iui/&lt;/a&gt; to see or manage your keystore in a GUI interface, its pretty cool one,here are the screenshots for mine,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-qsTkMbkNjOI/TimhtonMmtI/AAAAAAAAAkI/iou0wPFCE00/s1600-h/image%25255B14%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-SiN34FoY2OY/TimhupZPG6I/AAAAAAAAAkM/WHlOQw74IJc/image_thumb%25255B8%25255D.png?imgmax=800" width="580" height="430"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-ikoUWqXDr_8/TimhvR7lNtI/AAAAAAAAAkQ/5pA5nxguIhs/s1600-h/image%25255B19%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-yBeNE6QXuJM/TimhwasAinI/AAAAAAAAAkU/wovMfhTTeJs/image_thumb%25255B11%25255D.png?imgmax=800" width="584" height="432"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;6. Configure Weblogic Server&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Now go the server tab of your weblogic console,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-23LYzx7pvrY/TimhxXNUZ5I/AAAAAAAAAkY/8IOZJhVyNWk/s1600-h/image%25255B23%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-jI9EHNSW2sk/TimhyHp8M6I/AAAAAAAAAkc/W23SkVazkBU/image_thumb%25255B13%25255D.png?imgmax=800" width="584" height="185"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Click on Adminserver and keystore tab there after,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-YHylVYIHzHQ/TimhzVaOtXI/AAAAAAAAAkg/6KW4WtnpGqY/s1600-h/image%25255B28%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-wtfhsXtLWl0/Timh0hFAP5I/AAAAAAAAAkk/U8TCe90AfN0/image_thumb%25255B16%25255D.png?imgmax=800" width="586" height="384"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Change the keystore to Custom Identity and Custom Trust and provide the Identity store and trust store location with password. Give keystore type JKS.Now click the SSL tab and give the private key alias and password there,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-DR9F5MCd55Y/Timh17jDDbI/AAAAAAAAAko/k1JIW-U5wE4/s1600-h/image%25255B33%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-59BEUJhOglA/Timh3PU5UdI/AAAAAAAAAks/cs0EyviTsdc/image_thumb%25255B19%25255D.png?imgmax=800" width="582" height="373"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Here in the Advanced section select Hostname verification to none (in Prod don’t do that) and select Client Cert Requested But not Enforced in Two Way Client Cert Behavior: section dropdown list.&lt;/p&gt; &lt;p&gt;Then go the General tab and enable SSL port ,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-v1jOQWIGOwA/Timh4a6JpuI/AAAAAAAAAkw/Is9_EBHKlWk/s1600-h/image%25255B38%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-NWxGATHgLnM/Timh5dZvMeI/AAAAAAAAAk0/uH9dtKAiX4I/image_thumb%25255B22%25255D.png?imgmax=800" width="584" height="364"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Thant’s All ! you are almost set , secure all the managed server in same fashion.&lt;/p&gt; &lt;p&gt;Now restart the Server and try to open the console giving https and SSL port. You will find the certificate information in the browser,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-ynafuf5MPLU/Timh6xkfARI/AAAAAAAAAk4/HtzSjiX2iuw/s1600-h/image%25255B43%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-nREL030PU6w/Timh8MGMwvI/AAAAAAAAAk8/CDIt3IJblJs/image_thumb%25255B25%25255D.png?imgmax=800" width="592" height="361"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;You can view that certificate is issued to you and issued by getacert.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;7. Configure Jdeveloper 11.1.1.5&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Now you have to configure Jdeveloper to communicate with secured weblogic server.&lt;/p&gt; &lt;p&gt;For that open the jdev.conf file under &amp;lt;Jdev_Home&amp;gt;\jdeveloper\jdev\bin directory to check the Java location,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-4BDTL8swDV0/Timh8uNuupI/AAAAAAAAAlA/nxYlZ6gVsYQ/s1600-h/image%25255B47%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-5mMa_RDWq8o/Timh9R5DP-I/AAAAAAAAAlE/FOfL3J38f2I/image_thumb%25255B27%25255D.png?imgmax=800" width="575" height="168"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Now go to the &amp;lt;JDK_Folder&amp;gt;\jre\lib\security directory and copy your server.cer file here that you created in step 5.We need to import that to cacerts by below command&lt;/p&gt; &lt;p&gt;&lt;em&gt;keytool -v -import -file server.cer -keystore cacerts &lt;/em&gt;&lt;/p&gt; &lt;p&gt;give the default password changeit.&lt;/p&gt; &lt;p&gt;Now open the Jdev and go the preference section under Tool –&amp;gt;HTTP Analyzer –&amp;gt;HTTPS Setup.Here give the Identity and Trust store location and password as below,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-WMl6MfQbP74/Timh-XDIfmI/AAAAAAAAAlI/VxTMGrJlB-A/s1600-h/image%25255B52%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-Dym896okbM8/Timh_cTTEsI/AAAAAAAAAlM/6KzROfrUcp0/image_thumb%25255B30%25255D.png?imgmax=800" width="518" height="398"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Now in the Appserver Connection in Resource Palette select your SOA server configuration and select Always use SSL as below and test the same.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-LQ0c8Q8OUhA/TimiANzi74I/AAAAAAAAAlQ/3sLZbey1VWc/s1600-h/image%25255B56%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-mAk_1F3cJug/TimiBPMMJnI/AAAAAAAAAlU/mxWplQH45oo/image_thumb%25255B32%25255D.png?imgmax=800" width="447" height="417"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;You should get all success here and that completes the SOA Environment Security.&lt;/p&gt;  &lt;img src="http://feeds.feedburner.com/~r/Shrikworld/~4/S4UDHmlMHDI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/1956066127579045182/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=342277253848129789&amp;postID=1956066127579045182&amp;isPopup=true" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/1956066127579045182?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/1956066127579045182?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Shrikworld/~3/S4UDHmlMHDI/securing-soa-11g-environment.html" title="Securing SOA 11g Environment" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-HqhXzd_-8oM/TimhrNQdC3I/AAAAAAAAAj8/qSCXMoQg1hE/s72-c/image_thumb%25255B2%25255D.png?imgmax=800" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://shrikworld.blogspot.com/2011/07/securing-soa-11g-environment.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkEESX04fip7ImA9WhZbEUg.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789.post-5132477963520788542</id><published>2011-06-15T09:15:00.000-07:00</published><updated>2011-06-15T09:16:48.336-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-15T09:16:48.336-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="BAM" /><category scheme="http://www.blogger.com/atom/ns#" term="OSB" /><title>OSB-BAM Integration Approach—Part 2</title><content type="html">&lt;p&gt;In &lt;a title="http://shrikworld.blogspot.com/2011/06/osb-bam-integration-approachpart-1.html" href="http://shrikworld.blogspot.com/2011/06/osb-bam-integration-approachpart-1.html"&gt;http://shrikworld.blogspot.com/2011/06/osb-bam-integration-approachpart-1.html&lt;/a&gt; I explained how we can integrate BAM with OSB via BAM JCA Adapter.But there are other methods as well.In this blog I’ll explain how to leverage BAM Enterprise Message source for OSB Integration.&lt;/p&gt; &lt;p&gt;Before get started I’ll recommend to go through &lt;a title="http://beatechnologies.wordpress.com/2011/05/20/integrating-oracle-bam-11g-with-bpel-jms-sensor-action/" href="http://beatechnologies.wordpress.com/2011/05/20/integrating-oracle-bam-11g-with-bpel-jms-sensor-action/"&gt;http://beatechnologies.wordpress.com/2011/05/20/integrating-oracle-bam-11g-with-bpel-jms-sensor-action/&lt;/a&gt; blog which explains how to set up enterprise messaging source in BAM.I’ll extend that in my blog,so basically we need to enter data to JMS queue from OSB Business service.&lt;/p&gt; &lt;p&gt;Here are the steps of creating business service in OSB,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-OsyRcsfqjlg/TfjawS__DTI/AAAAAAAAAYg/UtHqh4J7J5k/s1600-h/image%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-QtnWNQjRODw/TfjaxmBTUHI/AAAAAAAAAYk/ElyjURD405A/image_thumb%25255B1%25255D.png?imgmax=800" width="591" height="307"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-oMM1hKCRfDM/TfjayFUKvcI/AAAAAAAAAYo/5PKu9n_rkY0/s1600-h/image%25255B8%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-P5dIDvCybfU/TfjaznPkIDI/AAAAAAAAAYs/wE0UOSwIDx8/image_thumb%25255B4%25255D.png?imgmax=800" width="597" height="344"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now you have to provide endpoint URI for JMS, in my case soa.bam.cf connection factory and queue.bam.sensor queue are already created in admin server.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-GfjezRFBATo/Tfja0WADP2I/AAAAAAAAAYw/yDJ9ij8bKEk/s1600-h/image%25255B13%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-ual0gtMGeys/Tfja1fwa8nI/AAAAAAAAAY0/5HakSf86bxE/image_thumb%25255B7%25255D.png?imgmax=800" width="599" height="345"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-C3IymFc8jEs/Tfja2em9mYI/AAAAAAAAAY4/lucF0aqTWjM/s1600-h/image%25255B18%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-Oj4s5UoRLNQ/Tfja3VQ1D0I/AAAAAAAAAY8/Xbtt27t8_vg/image_thumb%25255B10%25255D.png?imgmax=800" width="600" height="320"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;That’s all , we are now ready to test, just run business service,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-RsqK07VPT7Q/Tfja4hO-HFI/AAAAAAAAAZA/6xt6LUQEBog/s1600-h/image%25255B22%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-o_QChHAjrgY/Tfja54JH8FI/AAAAAAAAAZE/pP8EZ6lrjks/image_thumb%25255B12%25255D.png?imgmax=800" width="602" height="313"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Now go the metrics of messaging service,You will find 1 row committed to ADC.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-_TLy0dfiSNg/Tfja6pExlLI/AAAAAAAAAZI/VJ3i3AhSUzE/s1600-h/image%25255B26%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-z_1rH-yyZJs/Tfja7jFb9AI/AAAAAAAAAZM/1wLC4Jpqp4I/image_thumb%25255B14%25255D.png?imgmax=800" width="599" height="299"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Now you can prepare your custom report based on that data object.&lt;/p&gt;  &lt;img src="http://feeds.feedburner.com/~r/Shrikworld/~4/DGrbuiaHwYU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/5132477963520788542/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=342277253848129789&amp;postID=5132477963520788542&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/5132477963520788542?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/5132477963520788542?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Shrikworld/~3/DGrbuiaHwYU/osb-bam-integration-approachpart-2.html" title="OSB-BAM Integration Approach—Part 2" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-QtnWNQjRODw/TfjaxmBTUHI/AAAAAAAAAYk/ElyjURD405A/s72-c/image_thumb%25255B1%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://shrikworld.blogspot.com/2011/06/osb-bam-integration-approachpart-2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEGSXY9fyp7ImA9WhZUGUU.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789.post-3759857064954633712</id><published>2011-06-13T08:33:00.000-07:00</published><updated>2011-06-13T09:47:08.867-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-13T09:47:08.867-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="BAM" /><category scheme="http://www.blogger.com/atom/ns#" term="OSB" /><title>OSB-BAM Integration Approach–Part 1</title><content type="html">&lt;p&gt;I’ll show you how to integrate Oracle BAM with Oracle service Bus in SOA 11.1.1.5.Here I’ll leverage Oracle BAM JCA adapter to create Business Service to populate data in BAM ADC table.&lt;/p&gt; &lt;p&gt;Here are the detailed steps to configure BAM and OSB,&lt;/p&gt; &lt;p&gt;You need to create one data object in BAM Architect, you can create your own table, for mine here is the screenshot,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-njy9_H1fiM0/TfY61WK-hbI/AAAAAAAAAW4/lTS_p16vZ40/s1600-h/image%25255B6%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-SGpQq6HgaYQ/TfY62LrjkwI/AAAAAAAAAW8/Wf9mpTHGjpQ/image_thumb%25255B2%25255D.png?imgmax=800" width="601" height="263"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Open Jdeveloper and create a BAM adapter on external reference swim lane which points to SalesOrder data object that you just created,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-d7xCQoys-G8/TfY6_KBEEhI/AAAAAAAAAXA/QSL-1F4zsj4/s1600-h/image%25255B11%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-Quxv4YuxPMo/TfY7ADhdnaI/AAAAAAAAAXE/OH6AZPq-eCM/image_thumb%25255B5%25255D.png?imgmax=800" width="600" height="365"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Then copy paste the following Jdeveloper artifacts to a folder of your OSB project,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-9uVHSqdUfss/TfY7A1J2O4I/AAAAAAAAAXI/m4zpp7eGlfU/s1600-h/image%25255B15%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-ZTzVyX1grJ4/TfY7Bsa9eeI/AAAAAAAAAXM/dlCS69Vw7cY/image_thumb%25255B7%25255D.png?imgmax=800" width="463" height="344"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Refresh the eclipse project and you can see all newly added components,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-kmRFhtApHjs/TfY7CLd707I/AAAAAAAAAXQ/ElQ1D2v-rXg/s1600-h/image%25255B20%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-WQjhkrV4FuI/TfY7DRlEjNI/AAAAAAAAAXU/m0pP9vvrHrw/image_thumb%25255B10%25255D.png?imgmax=800" width="311" height="423"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Create a business service out of .jca file, you need not to change anything there just save the generated .biz file.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-tyV3GHKd-YQ/TfY7EI20nTI/AAAAAAAAAXY/gsUnMRyMrsA/s1600-h/image%25255B24%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-dL5qYV_CS1o/TfY7E15I78I/AAAAAAAAAXc/KSd97uUiN1Y/image_thumb%25255B12%25255D.png?imgmax=800" width="346" height="370"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Now create a sales order xsd file which will be input parameter of a proxy service,&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;lt;?xml version = '1.0' encoding = 'UTF-8'?&amp;gt;&lt;br&gt;&amp;lt;schema xmlns:xsd="&lt;/font&gt;&lt;/em&gt;&lt;a href="http://www.w3.org/2001/XMLSchema&amp;quot;"&gt;&lt;em&gt;&lt;font size="1"&gt;http://www.w3.org/2001/XMLSchema"&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;br&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:tns="&lt;/font&gt;&lt;/em&gt;&lt;a href="http://shrikworld.blogspot.com/soa&amp;quot;"&gt;&lt;em&gt;&lt;font size="1"&gt;http://shrikworld.blogspot.com/soa"&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;br&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns="&lt;/font&gt;&lt;/em&gt;&lt;a href="http://www.w3.org/2001/XMLSchema&amp;quot;"&gt;&lt;em&gt;&lt;font size="1"&gt;http://www.w3.org/2001/XMLSchema"&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;br&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; attributeFormDefault="qualified" elementFormDefault="qualified"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; targetNamespace="&lt;/font&gt;&lt;/em&gt;&lt;a href="http://shrikworld.blogspot.com/soa&amp;quot;"&gt;&lt;em&gt;&lt;font size="1"&gt;http://shrikworld.blogspot.com/soa"&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;annotation&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;documentation&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;info&amp;gt;/Order/SalesOrder&amp;lt;/info&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/documentation&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;/annotation&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;element name="SalesOrderCollection"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;complexType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sequence&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;element maxOccurs="unbounded" minOccurs="0" name="SalesOrder"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type="tns:SalesOrder"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/sequence&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/complexType&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;/element&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;complexType name="SalesOrder"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sequence&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;element minOccurs="0" name="OrderID"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;annotation&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;appinfo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;columnName xmlns="&lt;/font&gt;&lt;/em&gt;&lt;a href="http://xmlns.oracle.com/bam&amp;quot;"&gt;&lt;em&gt;&lt;font size="1"&gt;http://xmlns.oracle.com/bam"&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;gt;SalesOrderID&amp;lt;/columnName&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;columnType xmlns="&lt;/font&gt;&lt;/em&gt;&lt;a href="http://xmlns.oracle.com/bam&amp;quot;"&gt;&lt;em&gt;&lt;font size="1"&gt;http://xmlns.oracle.com/bam"&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;gt;string&amp;lt;/columnType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;columnDescription xmlns="&lt;/font&gt;&lt;/em&gt;&lt;a href="http://xmlns.oracle.com/bam&amp;quot;/"&gt;&lt;em&gt;&lt;font size="1"&gt;http://xmlns.oracle.com/bam"/&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/appinfo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/annotation&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;simpleType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;restriction base="xsd:string"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;maxLength value="100"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/restriction&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/simpleType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/element&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;element minOccurs="0" name="OrderDate" type="xsd:dateTime"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;annotation&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;appinfo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;columnName xmlns="&lt;/font&gt;&lt;/em&gt;&lt;a href="http://xmlns.oracle.com/bam&amp;quot;"&gt;&lt;em&gt;&lt;font size="1"&gt;http://xmlns.oracle.com/bam"&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;gt;OrderDate&amp;lt;/columnName&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;columnType xmlns="&lt;/font&gt;&lt;/em&gt;&lt;a href="http://xmlns.oracle.com/bam&amp;quot;"&gt;&lt;em&gt;&lt;font size="1"&gt;http://xmlns.oracle.com/bam"&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;gt;datetime&amp;lt;/columnType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;columnDescription xmlns="&lt;/font&gt;&lt;/em&gt;&lt;a href="http://xmlns.oracle.com/bam&amp;quot;/"&gt;&lt;em&gt;&lt;font size="1"&gt;http://xmlns.oracle.com/bam"/&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/appinfo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/annotation&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/element&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;element minOccurs="0" name="CustomerNo"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;annotation&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;appinfo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;columnName xmlns="&lt;/font&gt;&lt;/em&gt;&lt;a href="http://xmlns.oracle.com/bam&amp;quot;"&gt;&lt;em&gt;&lt;font size="1"&gt;http://xmlns.oracle.com/bam"&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;gt;CustomerID&amp;lt;/columnName&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;columnType xmlns="&lt;/font&gt;&lt;/em&gt;&lt;a href="http://xmlns.oracle.com/bam&amp;quot;"&gt;&lt;em&gt;&lt;font size="1"&gt;http://xmlns.oracle.com/bam"&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;gt;string&amp;lt;/columnType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;columnDescription xmlns="&lt;/font&gt;&lt;/em&gt;&lt;a href="http://xmlns.oracle.com/bam&amp;quot;/"&gt;&lt;em&gt;&lt;font size="1"&gt;http://xmlns.oracle.com/bam"/&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/appinfo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/annotation&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;simpleType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;restriction base="xsd:string"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;maxLength value="100"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/restriction&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/simpleType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/element&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;element minOccurs="0" name="Discount"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;annotation&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;appinfo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;columnName xmlns="&lt;/font&gt;&lt;/em&gt;&lt;a href="http://xmlns.oracle.com/bam&amp;quot;"&gt;&lt;em&gt;&lt;font size="1"&gt;http://xmlns.oracle.com/bam"&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;gt;OrderDiscount&amp;lt;/columnName&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;columnType xmlns="&lt;/font&gt;&lt;/em&gt;&lt;a href="http://xmlns.oracle.com/bam&amp;quot;"&gt;&lt;em&gt;&lt;font size="1"&gt;http://xmlns.oracle.com/bam"&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;gt;string&amp;lt;/columnType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;columnDescription xmlns="&lt;/font&gt;&lt;/em&gt;&lt;a href="http://xmlns.oracle.com/bam&amp;quot;/"&gt;&lt;em&gt;&lt;font size="1"&gt;http://xmlns.oracle.com/bam"/&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/appinfo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/annotation&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;simpleType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;restriction base="xsd:string"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;maxLength value="100"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/restriction&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/simpleType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/element&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;element minOccurs="0" name="OrderTotal"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;annotation&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;appinfo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;columnName xmlns="&lt;/font&gt;&lt;/em&gt;&lt;a href="http://xmlns.oracle.com/bam&amp;quot;"&gt;&lt;em&gt;&lt;font size="1"&gt;http://xmlns.oracle.com/bam"&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;gt;OrderTotal&amp;lt;/columnName&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;columnType xmlns="&lt;/font&gt;&lt;/em&gt;&lt;a href="http://xmlns.oracle.com/bam&amp;quot;"&gt;&lt;em&gt;&lt;font size="1"&gt;http://xmlns.oracle.com/bam"&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;gt;string&amp;lt;/columnType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;columnDescription xmlns="&lt;/font&gt;&lt;/em&gt;&lt;a href="http://xmlns.oracle.com/bam&amp;quot;/"&gt;&lt;em&gt;&lt;font size="1"&gt;http://xmlns.oracle.com/bam"/&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/appinfo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/annotation&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;simpleType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;restriction base="xsd:string"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;maxLength value="100"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/restriction&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/simpleType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/element&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;element minOccurs="0" name="OrderLines"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;annotation&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;appinfo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;columnName xmlns="&lt;/font&gt;&lt;/em&gt;&lt;a href="http://xmlns.oracle.com/bam&amp;quot;"&gt;&lt;em&gt;&lt;font size="1"&gt;http://xmlns.oracle.com/bam"&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;gt;OrderLines&amp;lt;/columnName&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;columnType xmlns="&lt;/font&gt;&lt;/em&gt;&lt;a href="http://xmlns.oracle.com/bam&amp;quot;"&gt;&lt;em&gt;&lt;font size="1"&gt;http://xmlns.oracle.com/bam"&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;gt;string&amp;lt;/columnType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;columnDescription xmlns="&lt;/font&gt;&lt;/em&gt;&lt;a href="http://xmlns.oracle.com/bam&amp;quot;/"&gt;&lt;em&gt;&lt;font size="1"&gt;http://xmlns.oracle.com/bam"/&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/appinfo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/annotation&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;simpleType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;restriction base="xsd:string"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;maxLength value="100"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/restriction&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/simpleType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/element&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;element minOccurs="0" name="ShipDate" type="xsd:dateTime"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;annotation&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;appinfo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;columnName xmlns="&lt;/font&gt;&lt;/em&gt;&lt;a href="http://xmlns.oracle.com/bam&amp;quot;"&gt;&lt;em&gt;&lt;font size="1"&gt;http://xmlns.oracle.com/bam"&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;gt;PromisedShipDate&amp;lt;/columnName&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;columnType xmlns="&lt;/font&gt;&lt;/em&gt;&lt;a href="http://xmlns.oracle.com/bam&amp;quot;"&gt;&lt;em&gt;&lt;font size="1"&gt;http://xmlns.oracle.com/bam"&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;gt;datetime&amp;lt;/columnType&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;columnDescription xmlns="&lt;/font&gt;&lt;/em&gt;&lt;a href="http://xmlns.oracle.com/bam&amp;quot;/"&gt;&lt;em&gt;&lt;font size="1"&gt;http://xmlns.oracle.com/bam"/&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/appinfo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/annotation&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/element&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/sequence&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;/complexType&amp;gt;&lt;br&gt;&amp;lt;/schema&amp;gt;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Now create a proxy service of service type messaging service as below,In the request message type upload the sales order xml schema as created above.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-OVLbeACC0VU/TfY-V14puVI/AAAAAAAAAXg/9ozNh9s-7QU/s1600-h/image%25255B29%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-1HKS3mtJGxw/TfY-WjWCrqI/AAAAAAAAAXk/WbFSiwfbw7s/image_thumb%25255B15%25255D.png?imgmax=800" width="604" height="329"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-0Y5lZQ4nOts/TfY-XBp6NxI/AAAAAAAAAXo/wCkB8qCj25E/s1600-h/image%25255B34%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-H1zoGRrPaCI/TfY-X1Jrk-I/AAAAAAAAAXs/J-9EvIammOI/image_thumb%25255B18%25255D.png?imgmax=800" width="603" height="347"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Your message flow would be very simple and within the replace activity your custom sales order field will be transformed to business service specific sales order,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-yFk2ocKg-t0/TfY-YUjEiOI/AAAAAAAAAXw/-MsI3t7JjMY/s1600-h/image%25255B41%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-Pu3oXLShIsg/TfY-ZJdfRMI/AAAAAAAAAX0/1G3NZpbwyvI/image_thumb%25255B21%25255D.png?imgmax=800" width="484" height="390"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;For that you need to create one xquery like &lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;font size="1"&gt;(:: pragma bea:global-element-parameter parameter="$salesOrderCollection1" element="ns1:SalesOrderCollection" location="../adapter/BAMAdapterTest/xsd/SalesOrder.xsd" ::)&lt;br&gt;(:: pragma bea:global-element-return element="ns0:_SalesOrderCollection" location="../adapter/BAMAdapterTest/xsd/SOAVMBAMConn_Order_SalesOrder.xsd" ::)&lt;/font&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;font size="1"&gt;declare namespace ns1 = "&lt;/font&gt;&lt;/em&gt;&lt;a href="http://shrikworld.blogspot.com/soa&amp;quot;;"&gt;&lt;em&gt;&lt;font size="1"&gt;http://shrikworld.blogspot.com/soa";&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;br&gt;&lt;em&gt;&lt;font size="1"&gt;declare namespace ns0 = "&lt;/font&gt;&lt;/em&gt;&lt;a href="http://xmlns.oracle.com/bam&amp;quot;;"&gt;&lt;em&gt;&lt;font size="1"&gt;http://xmlns.oracle.com/bam";&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;br&gt;&lt;em&gt;&lt;font size="1"&gt;declare namespace xf = "&lt;/font&gt;&lt;/em&gt;&lt;a href="http://tempuri.org/DBAdapterTest/xq/SOIn2BAM/&amp;quot;;"&gt;&lt;em&gt;&lt;font size="1"&gt;http://tempuri.org/DBAdapterTest/xq/SOIn2BAM/";&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;font size="1"&gt;declare function xf:SOIn2BAM($salesOrderCollection1 as element(ns1:SalesOrderCollection))&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; as element(ns0:_SalesOrderCollection) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns0:_SalesOrderCollection&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for $SalesOrder in $salesOrderCollection1/ns1:SalesOrder&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns0:_SalesOrder&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for $OrderID in $SalesOrder/ns1:OrderID&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns0:_SalesOrderID&amp;gt;{ data($OrderID) }&amp;lt;/ns0:_SalesOrderID&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for $OrderDate in $SalesOrder/ns1:OrderDate&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns0:_OrderDate&amp;gt;{ data($OrderDate) }&amp;lt;/ns0:_OrderDate&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for $CustomerNo in $SalesOrder/ns1:CustomerNo&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns0:_CustomerID&amp;gt;{ data($CustomerNo) }&amp;lt;/ns0:_CustomerID&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for $Discount in $SalesOrder/ns1:Discount&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns0:_OrderDiscount&amp;gt;{ data($Discount) }&amp;lt;/ns0:_OrderDiscount&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for $OrderTotal in $SalesOrder/ns1:OrderTotal&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns0:_OrderTotal&amp;gt;{ data($OrderTotal) }&amp;lt;/ns0:_OrderTotal&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for $OrderLines in $SalesOrder/ns1:OrderLines&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns0:_OrderLines&amp;gt;{ data($OrderLines) }&amp;lt;/ns0:_OrderLines&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for $ShipDate in $SalesOrder/ns1:ShipDate&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns0:_PromisedShipDate&amp;gt;{ data($ShipDate) }&amp;lt;/ns0:_PromisedShipDate&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ns0:_SalesOrder&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ns0:_SalesOrderCollection&amp;gt;&lt;br&gt;};&lt;/font&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="1"&gt;declare variable $salesOrderCollection1 as element(ns1:SalesOrderCollection) external;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="1"&gt;xf:SOIn2BAM($salesOrderCollection1)&lt;/font&gt;&lt;/p&gt; &lt;p&gt;Don’t worry you need not to write any code, there is a visual editor for that,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-Xz5-nt7cXhA/TfY-ZoVQJyI/AAAAAAAAAX4/ZyO_GIFVyBA/s1600-h/image%25255B45%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-rf_AmHU32PI/TfY-aBBlSII/AAAAAAAAAX8/HniEmvwNUcw/image_thumb%25255B23%25255D.png?imgmax=800" width="540" height="196"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Design the message flow and in the replace activity add the below properties,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-9NhTqPoPl3c/TfY-ajhNx7I/AAAAAAAAAYA/seW8P4SW1FE/s1600-h/image%25255B49%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-hWXOD9mXm5E/TfY-bU5MwuI/AAAAAAAAAYE/87u4BTD8O80/image_thumb%25255B25%25255D.png?imgmax=800" width="544" height="173"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-aBBSnn4MJy8/TfY-cNMA9GI/AAAAAAAAAYI/uQVSKEVNbVg/s1600-h/image%25255B54%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-yZ8FplkusZo/TfY-dNs-XoI/AAAAAAAAAYM/LJ1LJXQJmtA/image_thumb%25255B28%25255D.png?imgmax=800" width="591" height="471"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;That’s all now we are ready to test , I assumed that you added the required value in BAM Adapter and updated the same,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-BvZMX4VGQsU/TfY-eNE9vkI/AAAAAAAAAYQ/iYlG54lIFpQ/s1600-h/image%25255B58%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-P7NAs4K0j-4/TfY-fO13FxI/AAAAAAAAAYU/qYMk7XIUujk/image_thumb%25255B30%25255D.png?imgmax=800" width="596" height="300"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Now run the proxy service and give some value, the data should be inserted into SalesOrder object,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-Iavbx3Rakwk/TfY-f9tl-oI/AAAAAAAAAYY/tjbwrVfnst0/s1600-h/image%25255B62%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-pKKc0bj2vg8/TfY-ws6SiSI/AAAAAAAAAYc/15PbPQCZuEE/image_thumb32.png?imgmax=800" width="605" height="257"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Now create BAM report as per your need based on SalesOrder data object .So we can publish data to BAM from OSB via BAM adapter.&lt;/p&gt;  &lt;img src="http://feeds.feedburner.com/~r/Shrikworld/~4/v7hENYExUbE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/3759857064954633712/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=342277253848129789&amp;postID=3759857064954633712&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/3759857064954633712?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/3759857064954633712?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Shrikworld/~3/v7hENYExUbE/osb-bam-integration-approachpart-1.html" title="OSB-BAM Integration Approach–Part 1" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-SGpQq6HgaYQ/TfY62LrjkwI/AAAAAAAAAW8/Wf9mpTHGjpQ/s72-c/image_thumb%25255B2%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://shrikworld.blogspot.com/2011/06/osb-bam-integration-approachpart-1.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcEQHk_cSp7ImA9WhZUFUg.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789.post-6616069841265333756</id><published>2011-06-08T09:08:00.000-07:00</published><updated>2011-06-08T10:10:01.749-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-08T10:10:01.749-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="B2B" /><title>Getting started with B2B11g</title><content type="html">&lt;p&gt;Lets go through a simple B2B interaction in SOA11g.I think B2B 11g is little bit simpler than 10g , anyways I hope after going through the post you will be able to configure B2B quite easily.&lt;/p&gt; &lt;p&gt;I’ve two B2B server and PO.xsd to start with.You can create your own PO xsd file by Jdeveloper or take any standard one.For one B2B server set A as host trading partner and D as external trading partner(say server1 or S1). For other server just do the reverse like D as Host TP and A as external TP(say server2 or S2).&lt;/p&gt; &lt;p&gt;Our PO.XML interaction would be S2----&amp;gt;S1 via http channel over AS2.&amp;nbsp; To get started first upload your schema in document section of administrator tab of B2B console of both S1 and S2 as below,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-JEdXGYfBLiE/Te-rnaO899I/AAAAAAAAAUw/BsnO8Hohc0o/s1600-h/image%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-mD3q-R4YtFA/Te-rorW4V6I/AAAAAAAAAU0/yf01XC_IwmI/image_thumb%25255B2%25255D.png?imgmax=800" width="550" height="293"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;You can see in Identification Expression (XPath) I’ve given &lt;strong&gt;//*[local-name()='purchaseOrder'] &lt;/strong&gt;where 'purchaseOrder' is the name of root element of my PO.XSD file.So you have to change accordingly based on your schema.This is required for custom xml document , can’t skip.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-PHlAMDhYYG4/Te-rpXVbJ2I/AAAAAAAAAU4/qqTr3XDJThg/s1600-h/image%25255B8%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-cwQL9ZLDeUo/Te-rqfXwJaI/AAAAAAAAAU8/Yfmt4L0t2MM/image_thumb%25255B4%25255D.png?imgmax=800" width="328" height="93"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Now in S2 rename and add the TP as below,give your own name for host TP and client TP and put some AS2 identifier at profile section for TP D which will be used in agreement later on.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-x06IC5QVlEw/Te-rrkJ3G_I/AAAAAAAAAVA/rgUu0JIiem8/s1600-h/image%25255B14%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-PIN86MiQ8lo/Te-rs4oIDII/AAAAAAAAAVE/WiDVKlFong4/image_thumb%25255B8%25255D.png?imgmax=800" width="544" height="187"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Provide some AS2 identifier for TP A as well in profile.&lt;/p&gt; &lt;p&gt;In the document section of TP D and A of S2 check the sender and receiver as below,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-E4B4GRRv2ro/Te-ru0aOSaI/AAAAAAAAAVI/SsrH3PM3_-c/s1600-h/image%25255B37%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-kY9xakfnBYg/Te-rwPu9QDI/AAAAAAAAAVM/eo0NwgVOs2g/image_thumb%25255B21%25255D.png?imgmax=800" width="585" height="280"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-b9MhLKYXe38/Te-rxe8WEPI/AAAAAAAAAVQ/vdLkbkC7VEI/s1600-h/image%25255B41%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-gyE9jFlmY6I/Te-ryuo7hPI/AAAAAAAAAVU/XkMC5cPPk2U/image_thumb%25255B23%25255D.png?imgmax=800" width="594" height="265"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Now click on the channel tab of TP A and create a AS2-1.1 channel from drop down list.In the URL section of Transport Protocol Parameters provide the B2B http lister channel URL of S1.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-YGdzVmENyQA/Te-rzsuUDkI/AAAAAAAAAVY/LROts2weryA/s1600-h/image%25255B19%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-hjq6wjZQtiw/Te-r1NBFbhI/AAAAAAAAAVc/HnGsNptY-a0/image_thumb%25255B11%25255D.png?imgmax=800" width="587" height="277"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;B2B HTTP lister channel has &lt;a href="http://&amp;lt;hostname:8001&amp;gt;/b2b/httpreceiver"&gt;http://&amp;lt;hostname:8001&amp;gt;/b2b/httpreceiver&lt;/a&gt; URL so in our case it would be &lt;a href="http://S1:8080/b2b/httpreceiver"&gt;http://S1:8080/b2b/httpreceiver&lt;/a&gt; (replace S1 with actual name).&lt;/p&gt; &lt;p&gt;Now Auto Create agreement as below and provide listener channel of TP A in the agreement from drop down.,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-vctv9DKaXSU/Te-sXM0WYbI/AAAAAAAAAVg/L8BE4D-k2ss/s1600-h/image%25255B24%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-euycmeum_qw/Te-sYVzewPI/AAAAAAAAAVk/UuJdnDt-_9I/image_thumb%25255B14%25255D.png?imgmax=800" width="596" height="286"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Save and deploy the agreement.&lt;/p&gt; &lt;p&gt;Now go back to S1 and configure Host TP A and client TP D as below,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-un2NmLnDV_I/Te-ssYaXuvI/AAAAAAAAAVo/MsBixNcSmjo/s1600-h/image%25255B28%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-PuQ3Yn681TY/Te-stBJC0DI/AAAAAAAAAVs/U66loxi4NIg/image_thumb%25255B16%25255D.png?imgmax=800" width="601" height="253"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Provide the exactly same AS2 Identifier for both TP A and D as you have given in S2.&lt;/p&gt; &lt;p&gt;In the document section of TP D and A of S1 check the sender and receiver as below,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-5N-squbzMPY/Te-sty2SOcI/AAAAAAAAAVw/mgl6C-hqrlw/s1600-h/image%25255B51%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-HRpIQIx3vp4/Te-suikA7NI/AAAAAAAAAV0/Mq5lC89slgo/image_thumb%25255B29%25255D.png?imgmax=800" width="593" height="291"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-GpeBJsKj_2s/Te-svanAFoI/AAAAAAAAAV4/cl6Mj1IUoc8/s1600-h/image%25255B56%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-6aBFNS2mPH0/Te-swLVehZI/AAAAAAAAAV8/alyC0ib4olU/image_thumb%25255B31%25255D.png?imgmax=800" width="596" height="303"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Create agreement as below,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-XW9jUsbROVs/Te-swznzcEI/AAAAAAAAAWA/uyO2t2fUgdc/s1600-h/image%25255B33%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-vDmnYVp_dww/Te-sxjMsLhI/AAAAAAAAAWE/uwnGWe29DaQ/image_thumb%25255B19%25255D.png?imgmax=800" width="599" height="290"&gt;&lt;/a&gt;&lt;/p&gt;      &lt;p&gt;That’s all from B2B side.To test the configuration we have to send some data to S2 B2B from a SOA composite.Here is my composite to feed the data to Host TP D of S2,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-tXOsJlkt7R8/Te-syATa_fI/AAAAAAAAAWI/5zDrWjlgjcU/s1600-h/image%25255B60%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-Mf-6u6EjO3g/Te-syyzGCqI/AAAAAAAAAWM/bYYJSTYJi9w/image_thumb%25255B33%25255D.png?imgmax=800" width="593" height="218"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;So here I’m reading PO from a file and sending the same to B2B listener channel of TP D of S2 via B2B adapter.Here are main screenshot of B2B configuration wizard,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-cF58KJ1qNgY/Te-szvT3VJI/AAAAAAAAAWQ/IfP8fkQxffg/s1600-h/image%25255B63%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-eFxkGj-Sjko/Te-s0O7SpbI/AAAAAAAAAWU/7YC8iwzrba4/image_thumb%25255B34%25255D.png?imgmax=800" width="244" height="206"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-qNlIKCoWhuM/Te-s1D3vKUI/AAAAAAAAAWY/7zBNbDYXhRI/s1600-h/image%25255B66%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-oZgImCtw3Tw/Te-s1wLsIuI/AAAAAAAAAWc/tSmt4CUJRRo/image_thumb%25255B35%25255D.png?imgmax=800" width="244" height="203"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-wWkc6B4XsD8/Te-s2mxOfDI/AAAAAAAAAWg/4hwVbcqSEwQ/s1600-h/image%25255B69%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-rkFnPwrYOlA/Te-s3ER-iQI/AAAAAAAAAWk/St8mxgCxa3c/image_thumb%25255B36%25255D.png?imgmax=800" width="244" height="205"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-9fiGeI6oGXg/Te-s4HdeaBI/AAAAAAAAAWo/yD5HWZScGr8/s1600-h/image%25255B72%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-zU_DWb8xnCc/Te-s4nWA86I/AAAAAAAAAWs/ifeOIXlvu00/image_thumb%25255B37%25255D.png?imgmax=800" width="244" height="204"&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;In the mediator assign the below B2B related property according your TPs as below,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-RIREwDfJKj4/Te-s5DlNwnI/AAAAAAAAAWw/4fuvV2QcMxI/s1600-h/image%25255B77%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-M3jNbdbjCLE/Te-s6B5oHYI/AAAAAAAAAW0/i3iMGeSdCEA/image_thumb%25255B40%25255D.png?imgmax=800" width="582" height="435"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Deploy the composite to S2.Place a PO.XML file in the polling directory and check the report section of both the B2B console of S1 and S2.&lt;/p&gt; &lt;p&gt;Hope it will work smoothly, try it out..&lt;/p&gt;  &lt;img src="http://feeds.feedburner.com/~r/Shrikworld/~4/MuPSJ5CW1KQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/6616069841265333756/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=342277253848129789&amp;postID=6616069841265333756&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/6616069841265333756?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/6616069841265333756?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Shrikworld/~3/MuPSJ5CW1KQ/getting-started-with-b2b11g.html" title="Getting started with B2B11g" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-mD3q-R4YtFA/Te-rorW4V6I/AAAAAAAAAU0/yf01XC_IwmI/s72-c/image_thumb%25255B2%25255D.png?imgmax=800" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://shrikworld.blogspot.com/2011/06/getting-started-with-b2b11g.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQHQnozeCp7ImA9WhZVEUs.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789.post-2621167735209394092</id><published>2011-05-23T09:32:00.001-07:00</published><updated>2011-05-23T09:32:13.480-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-23T09:32:13.480-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SOA" /><title>Tweaking Node manager</title><content type="html">&lt;p&gt;I faced really a hard time to start the managed server from node manager. My installation is quite simple,&lt;/p&gt; &lt;ol&gt; &lt;li&gt;I downloaded Oracle VM from &lt;a title="http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html" href="http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html"&gt;http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html&lt;/a&gt; and installed the same with extension pack.&lt;/li&gt; &lt;li&gt;I installed OEL 5 on VM.&lt;/li&gt; &lt;li&gt;Then I installed Oracle Database 11gR2 and SOA suite 11.1.1.5 on top of that on single machine.&lt;/li&gt; &lt;li&gt;Everything went fine and able to start the weblogic server as well as all the managed server successfully. &lt;/li&gt; &lt;li&gt;Then I tried to start the managed server from node manager and its got erroring out!&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Yes, my node manager is reachable from admin server, but I’m getting something strange error in soa_server1.out file,&lt;strong&gt;”JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)”.&lt;/strong&gt;I checked the Linux firewall and disabled the same but it persists.After wasting some more time I figured out I need to change some java property in setDomainEnv.sh file(Thanks to Google!),by default it was&lt;/p&gt; &lt;p&gt;if [ "${debugFlag}" = "true" ] ; then&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; JAVA_DEBUG="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,&lt;strong&gt;address=${DEBUG_PORT},&lt;/strong&gt;server=y,suspend=n -Djava.compiler=NONE"&lt;/p&gt; &lt;p&gt;I changed to &lt;/p&gt; &lt;p&gt;if [ "${debugFlag}" = "true" ] ; then&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; JAVA_DEBUG="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,&lt;strong&gt;address=8000&lt;/strong&gt;,server=y,suspend=n -Djava.compiler=NONE"&lt;/p&gt; &lt;p&gt;After changing the Java Debugging Interface binding address it started working &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://lh5.ggpht.com/__uBBiZbr6Ck/TdqMDJhSuDI/AAAAAAAAAUs/FF7OA76YIrs/wlEmoticon-smile%5B2%5D.png?imgmax=800"&gt;&lt;/p&gt; &lt;p&gt;Here is my nodemanager.properties file,&lt;/p&gt; &lt;p&gt;#Sun May 22 03:56:09 PDT 2011&lt;br&gt;DomainsFile=/u01/app/oracle/product/fmw/wlserver_10.3/common/nodemanager/nodemanager.domains&lt;br&gt;LogLimit=0&lt;br&gt;PropertiesVersion=10.3&lt;br&gt;DomainsDirRemoteSharingEnabled=false&lt;br&gt;javaHome=/u01/app/oracle/product/fmw/jdk160_24&lt;br&gt;AuthenticationEnabled=true&lt;br&gt;NodeManagerHome=/u01/app/oracle/product/fmw/wlserver_10.3/common/nodemanager&lt;br&gt;JavaHome=/u01/app/oracle/product/fmw/jrockit_160_24_D1.1.2-4/jre&lt;br&gt;LogLevel=INFO&lt;br&gt;DomainsFileEnabled=true&lt;br&gt;StartScriptName=startWebLogic.sh&lt;br&gt;ListenAddress=&lt;br&gt;NativeVersionEnabled=true&lt;br&gt;ListenPort=5556&lt;br&gt;LogToStderr=true&lt;br&gt;SecureListener=true&lt;br&gt;LogCount=1&lt;br&gt;DomainRegistrationEnabled=false&lt;br&gt;StopScriptEnabled=true&lt;br&gt;QuitEnabled=false&lt;br&gt;LogAppend=true&lt;br&gt;StateCheckInterval=500&lt;br&gt;CrashRecoveryEnabled=false&lt;br&gt;StartScriptEnabled=true&lt;br&gt;LogFile=/u01/app/oracle/product/fmw/wlserver_10.3/common/nodemanager/nodemanager.log&lt;br&gt;LogFormatter=weblogic.nodemanager.server.LogFormatter&lt;br&gt;ListenBacklog=50&lt;/p&gt; &lt;p&gt;And other important rules for configuring node managers,&lt;/p&gt; &lt;ol&gt; &lt;li&gt;In Node Manager listener address of Admin server don’t ever set ‘localhost’ either provide machine IP address or FQDN.&lt;/li&gt; &lt;li&gt;Your node manager should be reachable from admin server.&lt;/li&gt; &lt;li&gt;Whatever the managed server you want to start from node manager, put boot.properties file under security folder of your server.It contains the credentials,&lt;/li&gt; &lt;p&gt;#Sun May 22 06:31:16 PDT 2011&lt;br&gt;password=welcome1&lt;br&gt;username=weblogic&lt;/p&gt;&lt;/ol&gt;  &lt;img src="http://feeds.feedburner.com/~r/Shrikworld/~4/XosAUlRzaCg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/2621167735209394092/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=342277253848129789&amp;postID=2621167735209394092&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/2621167735209394092?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/2621167735209394092?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Shrikworld/~3/XosAUlRzaCg/tweaking-node-manager.html" title="Tweaking Node manager" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/__uBBiZbr6Ck/TdqMDJhSuDI/AAAAAAAAAUs/FF7OA76YIrs/s72-c/wlEmoticon-smile%5B2%5D.png?imgmax=800" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://shrikworld.blogspot.com/2011/05/tweaking-node-manager.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUMSXY6eip7ImA9WhZWFkg.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789.post-7734618735020583079</id><published>2011-05-17T10:09:00.000-07:00</published><updated>2011-05-17T10:11:28.812-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-17T10:11:28.812-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SOA" /><title>Configuring Transaction in Composite</title><content type="html">&lt;p&gt;Test Case: There are two table , one is Master and other is Child has primary/foreign key relationship. By a BPEL process we’ll insert the data into Master table and with other BPEL we’ll insert the data into Child in a same composite. But if any error occur while inserting the data into Child it will rollback all transactions in Master table as well.&lt;/p&gt; &lt;p&gt;Solution:Here I’ll use Dept and Emp table as Master and Child table.1st I’ll insert data into Dept and within same global transaction will insert data into Emp. After inserting the data into Emp I’ll throw rollback fault from BPEL and it will automatically rollback the insertion of Dept table data.Here is my composite,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/__uBBiZbr6Ck/TdKr4TqetGI/AAAAAAAAAUM/TW_AF-faFZo/s1600-h/image%5B3%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/__uBBiZbr6Ck/TdKr5EiM4dI/AAAAAAAAAUQ/A0ON_UembLs/image_thumb%5B1%5D.png?imgmax=800" width="579" height="220"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The insertDeptBPEL is synchronous one,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/__uBBiZbr6Ck/TdKr6GfahMI/AAAAAAAAAUU/VaS4jMZxLMc/s1600-h/image%5B7%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/__uBBiZbr6Ck/TdKr66ZmduI/AAAAAAAAAUY/YdJTgIUyBtQ/image_thumb%5B3%5D.png?imgmax=800" width="579" height="292"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The insertChildBPEL is synchronous one also,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/__uBBiZbr6Ck/TdKr7_A77BI/AAAAAAAAAUc/lNKr43IXcd4/s1600-h/image%5B11%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/__uBBiZbr6Ck/TdKr84gBYFI/AAAAAAAAAUg/dWJJBmXkwYo/image_thumb%5B5%5D.png?imgmax=800" width="573" height="286"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Here in the throw activity,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/__uBBiZbr6Ck/TdKr9shm2xI/AAAAAAAAAUk/61aV4Qfnsig/s1600-h/image%5B15%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/__uBBiZbr6Ck/TdKr-o7wPCI/AAAAAAAAAUo/uq_MfC7q0lM/image_thumb%5B7%5D.png?imgmax=800" width="325" height="310"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Now the designing is complete, we need to define the transactional properties now in composite.xml like below,&lt;/p&gt; &lt;p&gt;&amp;lt;component name="insertDeptBPEL" version="1.1"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;implementation.bpel src="insertDeptBPEL.bpel"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;&amp;lt;property name="bpel.config.transaction" many="false" type="xs:string"&amp;gt;requiresNew&amp;lt;/property&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="onewayDeliveryPolicy"&amp;gt;sync&amp;lt;/property&amp;gt;&lt;br&gt;&lt;/strong&gt;&amp;nbsp; &amp;lt;/component&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;component name="insertChildBPEL" version="1.1"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;implementation.bpel src="insertChildBPEL.bpel"/&amp;gt;&lt;br&gt;&amp;nbsp; &lt;strong&gt;&amp;nbsp; &amp;lt;property name="bpel.config.transaction" many="false" type="xs:string"&amp;gt;required&amp;lt;/property&amp;gt;&lt;br&gt;&lt;/strong&gt;&amp;nbsp; &amp;lt;/component&amp;gt;&lt;/p&gt; &lt;p&gt;Then deploy the run the composite , data will not be inserted in either of the table as it will execute rollback from the code.&lt;/p&gt;  &lt;img src="http://feeds.feedburner.com/~r/Shrikworld/~4/SGwxCHhw_Y0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/7734618735020583079/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=342277253848129789&amp;postID=7734618735020583079&amp;isPopup=true" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/7734618735020583079?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/7734618735020583079?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Shrikworld/~3/SGwxCHhw_Y0/configuring-transaction-in-composite.html" title="Configuring Transaction in Composite" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/__uBBiZbr6Ck/TdKr5EiM4dI/AAAAAAAAAUQ/A0ON_UembLs/s72-c/image_thumb%5B1%5D.png?imgmax=800" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://shrikworld.blogspot.com/2011/05/configuring-transaction-in-composite.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEER3s6fyp7ImA9WhZWE0g.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789.post-3688353049835227432</id><published>2011-05-14T00:19:00.000-07:00</published><updated>2011-05-14T00:20:06.517-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-14T00:20:06.517-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SOA" /><title>Customizing delete-polling strategy</title><content type="html">&lt;p&gt;I had one requirement, need to poll a table based on a particular field value and at the same time need to update a field on another table.In SOA 10g we can edit the toplink and add our custom query on delete or update tab. But in SOA 11g that toplink is replaced by or-mappings and we need to edit here.&lt;/p&gt; &lt;p&gt;So here are the steps you need to do and in my case I'm updating a field value of same table.&lt;/p&gt; &lt;p&gt;1.I created a table test in scott schema using sqldeveloper,its pretty simple..&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/__uBBiZbr6Ck/Tc4tFuN_xoI/AAAAAAAAAT0/1svj5hbu-kI/s1600-h/image%5B7%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/__uBBiZbr6Ck/Tc4tGYFWBtI/AAAAAAAAAT4/fngcX8Dc7QE/image_thumb%5B2%5D.png?imgmax=800" width="308" height="157"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;2.A DB adapter and a polling BPEL process created based on that table.Select delete polling strategy.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/__uBBiZbr6Ck/Tc4tG_7ukZI/AAAAAAAAAT8/wYx-VIVrvKk/s1600-h/image%5B11%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/__uBBiZbr6Ck/Tc4tHrgClzI/AAAAAAAAAUA/RMcvAMfeTeU/image_thumb%5B4%5D.png?imgmax=800" width="367" height="95"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;In the adapter here is the screenshot of last step,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/__uBBiZbr6Ck/Tc4tIU-mXvI/AAAAAAAAAUE/sKPnK_AT6S4/s1600-h/image%5B15%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/__uBBiZbr6Ck/Tc4tJZE7H3I/AAAAAAAAAUI/P-KNzlwc6qo/image_thumb%5B6%5D.png?imgmax=800" width="283" height="246"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;So in the polling query I’m checking if column3 is NULL or not.You can have your own criteria.&lt;/p&gt; &lt;p&gt;3.Then open getData-or-Mapping.xml file and add below lines in between&amp;nbsp; &amp;lt;/queries&amp;gt; and &amp;lt;/querying&amp;gt; to override the adapter generated delete query.&lt;/p&gt; &lt;p&gt;&amp;lt;delete-query&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;call xsi:type="sql-call"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sql&amp;gt;update test set column3='READ' where column1= #COLUMN1 &amp;lt;/sql&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/call&amp;gt;&lt;br&gt;&amp;lt;/delete-query&amp;gt;&lt;/p&gt; &lt;ol&gt;&lt;/ol&gt; &lt;p&gt;In this sql tag you can call your custom pl/sql function or sql query to perform CRUD on any objects and whatever the parameter you are passing ,make sure those were selected during adapter creation wizard.&amp;nbsp; So here is my or-mappings.xml file,&lt;/p&gt; &lt;p&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br&gt;&amp;lt;object-persistence xmlns="&lt;a href="http://www.eclipse.org/eclipselink/xsds/persistence&amp;quot;"&gt;http://www.eclipse.org/eclipselink/xsds/persistence"&lt;/a&gt; xmlns:xsd="&lt;a href="http://www.w3.org/2001/XMLSchema&amp;quot;"&gt;http://www.w3.org/2001/XMLSchema"&lt;/a&gt; xmlns:eclipselink="&lt;a href="http://www.eclipse.org/eclipselink/xsds/persistence&amp;quot;"&gt;http://www.eclipse.org/eclipselink/xsds/persistence"&lt;/a&gt; xmlns:xsi="&lt;a href="http://www.w3.org/2001/XMLSchema-instance&amp;quot;"&gt;http://www.w3.org/2001/XMLSchema-instance"&lt;/a&gt; version="Eclipse Persistence Services - 2.1.3.v20110304-r9073"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;lt;name&amp;gt;getData-OR&amp;lt;/name&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;lt;class-mapping-descriptors&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;class-mapping-descriptor xsi:type="object-relational-class-mapping-descriptor"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;class&amp;gt;getData.Test&amp;lt;/class&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;alias&amp;gt;TEST&amp;lt;/alias&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;primary-key&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;field table="TEST" name="COLUMN1" xsi:type="column"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/primary-key&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;events/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;querying&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;queries&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;query name="getDataSelect" xsi:type="read-all-query"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;criteria function="isNull" xsi:type="function-expression"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;arguments&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;argument name="column3" xsi:type="query-key-expression"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;base xsi:type="base-expression"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/argument&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/arguments&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/criteria&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;reference-class&amp;gt;getData.Test&amp;lt;/reference-class&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;lock-mode&amp;gt;none&amp;lt;/lock-mode&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;container xsi:type="list-container-policy"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;collection-type&amp;gt;java.util.Vector&amp;lt;/collection-type&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/container&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/query&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/queries&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;&amp;lt;delete-query&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;call xsi:type="sql-call"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sql&amp;gt;update test set column3='READ' where column1= #COLUMN1 &amp;lt;/sql&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/call&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/delete-query&amp;gt;&lt;br&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/querying&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute-mappings&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute-mapping xsi:type="direct-mapping"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute-name&amp;gt;column1&amp;lt;/attribute-name&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;field table="TEST" name="COLUMN1" xsi:type="column"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute-classification&amp;gt;java.lang.String&amp;lt;/attribute-classification&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/attribute-mapping&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute-mapping xsi:type="direct-mapping"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute-name&amp;gt;column2&amp;lt;/attribute-name&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;field table="TEST" name="COLUMN2" xsi:type="column"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute-classification&amp;gt;java.lang.String&amp;lt;/attribute-classification&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/attribute-mapping&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute-mapping xsi:type="direct-mapping"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute-name&amp;gt;column3&amp;lt;/attribute-name&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;field table="TEST" name="COLUMN3" xsi:type="column"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute-classification&amp;gt;java.lang.String&amp;lt;/attribute-classification&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/attribute-mapping&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/attribute-mappings&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;descriptor-type&amp;gt;independent&amp;lt;/descriptor-type&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;caching&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cache-type&amp;gt;weak-reference&amp;lt;/cache-type&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cache-size&amp;gt;-1&amp;lt;/cache-size&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;always-refresh&amp;gt;true&amp;lt;/always-refresh&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/caching&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;remote-caching&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cache-type&amp;gt;weak-reference&amp;lt;/cache-type&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cache-size&amp;gt;-1&amp;lt;/cache-size&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/remote-caching&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;instantiation/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;copying xsi:type="instantiation-copy-policy"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;tables&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;table name="TEST"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/tables&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;structure&amp;gt;structureName&amp;lt;/structure&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/class-mapping-descriptor&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/class-mapping-descriptors&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;lt;login xsi:type="database-login"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;platform-class&amp;gt;org.eclipse.persistence.platform.database.oracle.Oracle9Platform&amp;lt;/platform-class&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;user-name&amp;gt;&amp;lt;/user-name&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;connection-url&amp;gt;&amp;lt;/connection-url&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/login&amp;gt;&lt;br&gt;&amp;lt;/object-persistence&amp;gt;&lt;br&gt;4. Deploy the process and you are done….check your test table and instances at em.&lt;/p&gt;  &lt;img src="http://feeds.feedburner.com/~r/Shrikworld/~4/IDYklcewJK0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/3688353049835227432/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=342277253848129789&amp;postID=3688353049835227432&amp;isPopup=true" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/3688353049835227432?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/3688353049835227432?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Shrikworld/~3/IDYklcewJK0/customizing-delete-polling-strategy.html" title="Customizing delete-polling strategy" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/__uBBiZbr6Ck/Tc4tGYFWBtI/AAAAAAAAAT4/fngcX8Dc7QE/s72-c/image_thumb%5B2%5D.png?imgmax=800" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://shrikworld.blogspot.com/2011/05/customizing-delete-polling-strategy.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0AAQH4zeyp7ImA9WhZXEU4.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789.post-2386181744136081933</id><published>2011-04-29T22:01:00.000-07:00</published><updated>2011-04-29T22:02:21.083-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-29T22:02:21.083-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SOA" /><title>How to Undeploy Composite Manually</title><content type="html">&lt;p&gt;Sometime I noticed that you can’t undeploy the composite from SOA EM console.It is little bit irritating and can be of various reason like not deployed properly , database reference is null etc.&lt;/p&gt; &lt;p&gt;But I figured out undeployment procedure of SOA composite manually apart from wizard based.It worked fine for me.Here are the steps,&lt;/p&gt; &lt;p&gt;Login to EM console and go to mds configuration,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/__uBBiZbr6Ck/TbuXbJR4oRI/AAAAAAAAATc/84yCFkAGK0s/s1600-h/image%5B3%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/__uBBiZbr6Ck/TbuXcJXvORI/AAAAAAAAATg/FIMjZV5fhTk/image_thumb%5B1%5D.png?imgmax=800" width="416" height="358"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Export metadata,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/__uBBiZbr6Ck/TbuXc9cmt8I/AAAAAAAAATk/K3etT_SAPpk/s1600-h/image%5B7%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/__uBBiZbr6Ck/TbuXd4CCISI/AAAAAAAAATo/nppsU73cWLc/image_thumb%5B3%5D.png?imgmax=800" width="547" height="171"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;soa-infra_metadata.zip file will be downloaded.Unzip the same and you will find deployed-composites folder and underneath deployed-composites.xml like below,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/__uBBiZbr6Ck/TbuXfCQ6jMI/AAAAAAAAATs/rNDfswmiD90/s1600-h/image%5B12%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/__uBBiZbr6Ck/TbuXf6PiHjI/AAAAAAAAATw/2GugFlsuV3U/image_thumb%5B6%5D.png?imgmax=800" width="600" height="224"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Delete the entry of whatever the composite you want to undeploy.You can delete the respective composite from your partition folder. Then zip it again and import the MDS from EM.&lt;/p&gt; &lt;p&gt;You need to restart the server and after that your composite will be gone !!!&lt;/p&gt;  &lt;img src="http://feeds.feedburner.com/~r/Shrikworld/~4/fiVwtuFaAI8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/2386181744136081933/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=342277253848129789&amp;postID=2386181744136081933&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/2386181744136081933?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/2386181744136081933?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Shrikworld/~3/fiVwtuFaAI8/how-to-undeploy-composite-manually.html" title="How to Undeploy Composite Manually" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/__uBBiZbr6Ck/TbuXcJXvORI/AAAAAAAAATg/FIMjZV5fhTk/s72-c/image_thumb%5B1%5D.png?imgmax=800" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://shrikworld.blogspot.com/2011/04/how-to-undeploy-composite-manually.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIASH0-eyp7ImA9WhZSGU4.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789.post-4730647010695607501</id><published>2011-04-04T09:12:00.001-07:00</published><updated>2011-04-04T09:12:29.353-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-04T09:12:29.353-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SOA" /><title>Change DB JNDI dynamically in SOA 11g</title><content type="html">&lt;p&gt;Lets take one simple example , we want to retrieve data from employees table of HR schema based on employee_id.For that I created a datasource and outbound connection factory in database adapter.I passed on the newly created JNDI name in adapter .jca file accordingly and deployed.It ran successfully.&lt;/p&gt; &lt;p&gt;But my requirement is to pass on the JNDI name dynamically from descriptor, means if the destination database change then user can change the JNDI name from soa preference of deployed process, no need for redeployment. Here are some simple steps to achieve that,&lt;/p&gt; &lt;p&gt;Say like below you created your composite,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/__uBBiZbr6Ck/TZntrqVwzJI/AAAAAAAAASY/z9FNImvy0GI/s1600-h/image%5B3%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/__uBBiZbr6Ck/TZntsmS-7pI/AAAAAAAAASc/lt9nfQdePMU/image_thumb%5B1%5D.png?imgmax=800" width="575" height="175"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;In composite.xml for the BPEL process I created one preference say,jndiVar like,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/__uBBiZbr6Ck/TZnts7Jo2UI/AAAAAAAAASg/dm8MC-lfRjI/s1600-h/image%5B13%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/__uBBiZbr6Ck/TZnttmz7P7I/AAAAAAAAASk/5nHD5Y4AJCY/image_thumb%5B7%5D.png?imgmax=800" width="430" height="80"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Here is my BPEL flow outline,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/__uBBiZbr6Ck/TZntuY-GF2I/AAAAAAAAASo/NAqRt7Ddnwo/s1600-h/image%5B18%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/__uBBiZbr6Ck/TZntvEZEktI/AAAAAAAAASs/1kK-qaok9CA/image_thumb%5B10%5D.png?imgmax=800" width="548" height="405"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;At setJNDI I’m assigning preference value to a process variable,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/__uBBiZbr6Ck/TZntwAmPP-I/AAAAAAAAASw/evzF_HF9bhQ/s1600-h/image%5B22%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/__uBBiZbr6Ck/TZntxE1pStI/AAAAAAAAAS0/9VUjU2LX0xw/image_thumb%5B12%5D.png?imgmax=800" width="464" height="307"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Then after creating the adapter go to the BPEL source and add &lt;/p&gt; &lt;p&gt;&amp;lt;bpelx:inputProperty name="jca.jndi" variable="jndiVar"/&amp;gt; as below,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/__uBBiZbr6Ck/TZntxpwnHLI/AAAAAAAAAS4/PFExTQdnKhs/s1600-h/image%5B26%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/__uBBiZbr6Ck/TZntyXhWIzI/AAAAAAAAAS8/XMYC1C6CeGE/image_thumb%5B14%5D.png?imgmax=800" width="425" height="99"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Then deploy the process and change your preference value accordingly to point to right JNDI as below,&lt;/p&gt; &lt;p&gt;Farm_soa_domain &amp;gt; Weblogic Domain &amp;gt; soa_domain &amp;gt; right mouseclick and select ‘System MBean Browser’.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/__uBBiZbr6Ck/TZntzOEtUNI/AAAAAAAAATA/UsBCf9e0Ss0/s1600-h/image%5B29%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/__uBBiZbr6Ck/TZntzxGHTjI/AAAAAAAAATE/9YRhArxSZcQ/image_thumb%5B15%5D.png?imgmax=800" width="244" height="229"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Navigate to Application Defined MBeans &amp;gt; oracle.soa.config &amp;gt; Server : soa_server1 &amp;gt; SCAComposite &amp;gt; your_project &amp;gt; SCAComposite.SCAComponent &amp;gt; your bpel_process.&lt;br&gt;Select the Attribute ‘Properties’.  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/__uBBiZbr6Ck/TZnt0s3dC8I/AAAAAAAAATI/SvWZmYN3CmI/s1600-h/image%5B35%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/__uBBiZbr6Ck/TZnt1YG9IrI/AAAAAAAAATM/Nu1Z5SK_2PU/image_thumb%5B19%5D.png?imgmax=800" width="457" height="215"&gt;&lt;/a&gt;  &lt;p&gt;Change the value of our preference,set JNDI accordingly and click apply.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/__uBBiZbr6Ck/TZnt2MIAsDI/AAAAAAAAATQ/HMRoPqsS6x8/s1600-h/image%5B39%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/__uBBiZbr6Ck/TZnt2xceWGI/AAAAAAAAATU/pzTbfLXervk/image_thumb%5B21%5D.png?imgmax=800" width="428" height="264"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Thats all your adapter will retrieve the data using new JNDI, obviously that JNDI should be defined in weblogic.&lt;/p&gt;  &lt;img src="http://feeds.feedburner.com/~r/Shrikworld/~4/1N9WSKjfECE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/4730647010695607501/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=342277253848129789&amp;postID=4730647010695607501&amp;isPopup=true" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/4730647010695607501?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/4730647010695607501?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Shrikworld/~3/1N9WSKjfECE/change-db-jndi-dynamically-in-soa-11g.html" title="Change DB JNDI dynamically in SOA 11g" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/__uBBiZbr6Ck/TZntsmS-7pI/AAAAAAAAASc/lt9nfQdePMU/s72-c/image_thumb%5B1%5D.png?imgmax=800" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://shrikworld.blogspot.com/2011/04/change-db-jndi-dynamically-in-soa-11g.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUFQX0zfCp7ImA9WhZSGEk.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789.post-677110222722834770</id><published>2011-04-03T09:06:00.000-07:00</published><updated>2011-04-03T09:13:30.384-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-03T09:13:30.384-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SOA" /><title>Language Translator as XPATH query</title><content type="html">&lt;p&gt;In this blog I’ll explain how to use Google language translator API in custom XPATH function for interaction with any database with different language apart from English.&lt;/p&gt; &lt;p&gt;Before starting you need to download two jar file, Json_simple-1.1.jar and Google-api-translate-java.jar.&lt;/p&gt; &lt;p&gt;Create a java file CustomExtensions like below,&lt;/p&gt; &lt;p&gt; &lt;hr&gt; package com.shrik.ws.xslt;  &lt;p&gt;&lt;br&gt;import com.google.api.translate.Language;&lt;br&gt;import com.google.api.translate.Translate;&lt;/p&gt; &lt;p&gt;import java.io.BufferedReader;&lt;br&gt;import java.io.IOException;&lt;br&gt;import java.io.InputStreamReader;&lt;br&gt;import java.io.OutputStreamWriter;&lt;/p&gt; &lt;p&gt;import java.net.HttpURLConnection;&lt;br&gt;import java.net.MalformedURLException;&lt;br&gt;import java.net.ProtocolException;&lt;br&gt;import java.net.URL;&lt;/p&gt; &lt;p&gt;import org.json.simple.JSONObject;&lt;br&gt;import org.json.simple.JSONValue;&lt;/p&gt; &lt;p&gt;public class CustomExtensions {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // sample method&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static String helloCustomXSLT(String value) {&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return "Hello " + value;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //language translator&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static String googleTranslationService =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&lt;a href="http://ajax.googleapis.com/ajax/services/language/translate&amp;quot;;"&gt;http://ajax.googleapis.com/ajax/services/language/translate";&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static String translateString(String sourceString,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String sourceLanguage,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String targetLanguage) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpURLConnection connection = null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OutputStreamWriter wr = null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BufferedReader rd = null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StringBuilder sb = null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String line = null;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; URL serverAddress = null;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; serverAddress =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new URL(googleTranslationService + "?v=1.0&amp;amp;&amp;amp;q=" + sourceString.replace(' ',&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '+') +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&amp;amp;&amp;amp;langpair=" + sourceLanguage + "%7C" +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; targetLanguage);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //set up out communications stuff&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connection = null;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Set up the initial connection&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connection = (HttpURLConnection)serverAddress.openConnection();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connection.setRequestMethod("GET");&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connection.setDoOutput(true);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connection.setReadTimeout(10000);&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connection.connect();&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //get the output stream writer and write the output to the server&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //not needed in this example&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //wr = new OutputStreamWriter(connection.getOutputStream());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //wr.write("");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //wr.flush();&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //read the result from the server&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rd =new BufferedReader(new InputStreamReader(connection.getInputStream()));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sb = new StringBuilder();&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while ((line = rd.readLine()) != null) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sb.append(line + '\n');&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (extractTranslationFromJSON(sb.toString()));&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (MalformedURLException e) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (ProtocolException e) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (IOException e) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } finally {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //close the connection, set all objects to null&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connection.disconnect();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rd = null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sb = null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wr = null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connection = null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp; public static String extractTranslationFromJSON(String response) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; final JSONObject jsonObj = (JSONObject)JSONValue.parse(response);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String translation = null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (jsonObj != null &amp;amp;&amp;amp; jsonObj.containsKey("responseData")) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; final JSONObject responseData =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (JSONObject)jsonObj.get("responseData");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; translation = responseData.get("translatedText").toString();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return translation;&lt;br&gt;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; /*&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static String translate(String sourceString, String sourceLanguage,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String targetLanguage) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return extractTranslationFromJSON(translateString(sourceString,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sourceLanguage,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; targetLanguage));&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static String googleTranslateAPI(String sourceString, String sourceLanguage,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String targetLanguage ) throws Exception {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Translate.setHttpReferrer(googleTranslationService);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return&amp;nbsp; Translate.execute("Hello World", Language.ENGLISH, Language.GERMAN);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&amp;nbsp; &lt;br&gt;}&lt;/p&gt; &lt;p&gt; &lt;hr&gt;   &lt;p&gt;Then unzip the above two jars and add it in your classes directory, for Json_simple-1.1.jar add root org package and for Google-api-translate-java.jar add google and tecnick under com package.Create a META-INF folder under classes and create ext-mapper-xpath-functions-config.xml file underneath as below,&lt;/p&gt; &lt;p&gt;&amp;lt;soa-xpath-functions version="11.1.1"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns="&lt;a href="http://xmlns.oracle.com/soa/config/xpath&amp;quot;"&gt;http://xmlns.oracle.com/soa/config/xpath"&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:customXSLT="&lt;a href="http://www.oracle.com/XSL/Transform/java/com.shrik.ws.xslt.CustomExtensions&amp;quot;"&gt;http://www.oracle.com/XSL/Transform/java/com.shrik.ws.xslt.CustomExtensions"&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;nbsp;&lt;br&gt;&amp;nbsp; &lt;br&gt;&amp;nbsp; &amp;lt;function name="customXSLT:helloCustomXSLT"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;className&amp;gt;com.shrik.ws.xslt.CustomExtensions&amp;lt;/className&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;return type="string"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;params&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;param name="value" type="string"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/params&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;desc/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;detail&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;![CDATA[This function returns the value prefixed by a complex Hello statement.]]&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/detail&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;/function&amp;gt;&lt;br&gt;&amp;nbsp; &lt;br&gt;&amp;nbsp; &amp;lt;function name="customXSLT:translateString"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;className&amp;gt;com.shrik.ws.xslt.CustomExtensions&amp;lt;/className&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;return type="string"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;params&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;param name="value1" type="string"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;param name="value2" type="string"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;param name="value3" type="string"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/params&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;desc/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;detail&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;![CDATA[This function returns the translated value . It takes 3 input parameters, source,sourceLn,destLn.]]&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/detail&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;/function&amp;gt;&amp;nbsp; &lt;br&gt;&amp;nbsp;&lt;br&gt;&amp;lt;/soa-xpath-functions&amp;gt;&lt;/p&gt; &lt;p&gt;Create a jar deployment profile in your Jdeveloper and filter classes as below (this give you also snapshot of class hierarchy)&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/__uBBiZbr6Ck/TZichOA64TI/AAAAAAAAARo/RKDnIzXQVFI/s1600-h/image%5B4%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/__uBBiZbr6Ck/TZiciAa9TwI/AAAAAAAAARs/9ybPUwZUq1Q/image_thumb%5B2%5D.png?imgmax=800" width="448" height="351"&gt;&lt;/a&gt;&lt;br&gt;Then deploy to jar file and add the same to soa under preference menu of Jdeveloper,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/__uBBiZbr6Ck/TZicjLuRbrI/AAAAAAAAARw/8dY-V1qpPxU/s1600-h/image%5B9%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/__uBBiZbr6Ck/TZickJNQ1HI/AAAAAAAAAR0/22a0zyJ91uE/image_thumb%5B5%5D.png?imgmax=800" width="449" height="347"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Restart the Jdeveloper and create a sample xslt file,under user defined function you will find yours,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/__uBBiZbr6Ck/TZick3u7R9I/AAAAAAAAAR4/WDFj3iKPgEQ/s1600-h/image%5B13%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/__uBBiZbr6Ck/TZiclh4e6QI/AAAAAAAAAR8/-8Fauz7K5JA/image_thumb%5B7%5D.png?imgmax=800" width="228" height="313"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Then use it by providing any word to translate ,source language and destination language,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/__uBBiZbr6Ck/TZicmToy9lI/AAAAAAAAASA/RheWGPLudJI/s1600-h/image%5B17%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/__uBBiZbr6Ck/TZicnXE2l1I/AAAAAAAAASE/Oll_1ItW59k/image_thumb%5B9%5D.png?imgmax=800" width="485" height="331"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Test the XSLT and you will get the desired output,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/__uBBiZbr6Ck/TZicoDZISBI/AAAAAAAAASI/LwsWK_V2rXg/s1600-h/image%5B21%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/__uBBiZbr6Ck/TZico0DJHzI/AAAAAAAAASM/KrTF8PrVEtQ/image_thumb%5B11%5D.png?imgmax=800" width="598" height="81"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/__uBBiZbr6Ck/TZicpSjCH1I/AAAAAAAAASQ/whkBCe-PAr4/s1600-h/image%5B25%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/__uBBiZbr6Ck/TZicqLS3BLI/AAAAAAAAASU/LZi21TaLfBw/image_thumb%5B13%5D.png?imgmax=800" width="603" height="76"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;To make the XPATH available at runtime please follow the last section of &lt;a title="http://shrikworld.blogspot.com/2011/03/errorhandling-in-soa-11g.html" href="http://shrikworld.blogspot.com/2011/03/errorhandling-in-soa-11g.html"&gt;http://shrikworld.blogspot.com/2011/03/errorhandling-in-soa-11g.html&lt;/a&gt;.&lt;/p&gt;  &lt;img src="http://feeds.feedburner.com/~r/Shrikworld/~4/EQyDUGhmf4Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/677110222722834770/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=342277253848129789&amp;postID=677110222722834770&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/677110222722834770?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/677110222722834770?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Shrikworld/~3/EQyDUGhmf4Q/language-translator-as-xpath-query.html" title="Language Translator as XPATH query" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/__uBBiZbr6Ck/TZiciAa9TwI/AAAAAAAAARs/9ybPUwZUq1Q/s72-c/image_thumb%5B2%5D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://shrikworld.blogspot.com/2011/04/language-translator-as-xpath-query.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcEQno8fCp7ImA9WhZSGE8.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789.post-7658561189265355791</id><published>2011-04-03T03:14:00.000-07:00</published><updated>2011-04-03T03:20:03.474-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-03T03:20:03.474-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SOA" /><title>HTTP Adapter in SOA 11g</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;At SOA 10g I faced a lot of difficulty while invoking a REST endpoint having POST or GET method as binding verb.You have to create your own custom wsdl and embed your message type and binding etc..&lt;br /&gt;
But SOA 11g comes with HTTP adapter , through this blog I’ll demonstrate invocation of Yahoo Geolocation REST service using HTTP adapter.&lt;br /&gt;
You can get the endpoint details in this location &lt;a href="http://developer.yahoo.com/maps/rest/V1/geocode.html" title="http://developer.yahoo.com/maps/rest/V1/geocode.html"&gt;http://developer.yahoo.com/maps/rest/V1/geocode.html&lt;/a&gt;. If you paste &lt;a href="http://local.yahooapis.com/MapsService/V1/geocode?appid=YD-9G7bey8_JXxQP6rxl.fBFGgCdNjoDMACQA--&amp;amp;street=701+First+Ave&amp;amp;city=Sunnyvale&amp;amp;state=CA" title="http://local.yahooapis.com/MapsService/V1/geocode?appid=YD-9G7bey8_JXxQP6rxl.fBFGgCdNjoDMACQA--&amp;amp;street=701+First+Ave&amp;amp;city=Sunnyvale&amp;amp;state=CA"&gt;http://local.yahooapis.com/MapsService/V1/geocode?appid=YD-9G7bey8_JXxQP6rxl.fBFGgCdNjoDMACQA--&amp;amp;street=701+First+Ave&amp;amp;city=Sunnyvale&amp;amp;state=CA&lt;/a&gt; in browser then you will get below result.&lt;br /&gt;
&lt;pre&gt;&amp;lt;?xml version="1.0"?&amp;gt;
&amp;lt;ResultSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:yahoo:maps"&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;xsi:schemaLocation="urn:yahoo:maps http://local.yahooapis.com/MapsService/V1/GeocodeResponse.xsd"&amp;gt;&lt;/pre&gt;&lt;pre&gt;&amp;lt;Result precision="address"&amp;gt;&lt;/pre&gt;&lt;pre&gt;&amp;lt;Latitude&amp;gt;37.416397&amp;lt;/Latitude&amp;gt;&lt;/pre&gt;&lt;pre&gt;&amp;lt;Longitude&amp;gt;-122.025055&amp;lt;/Longitude&amp;gt;&lt;/pre&gt;&lt;pre&gt;&amp;lt;Address&amp;gt;701 1st Ave&amp;lt;/Address&amp;gt;&lt;/pre&gt;&lt;pre&gt;&amp;lt;City&amp;gt;Sunnyvale&amp;lt;/City&amp;gt;&lt;/pre&gt;&lt;pre&gt;&amp;lt;State&amp;gt;CA&amp;lt;/State&amp;gt;&lt;/pre&gt;&lt;pre&gt;&amp;lt;Zip&amp;gt;94089-1019&amp;lt;/Zip&amp;gt;&lt;/pre&gt;&lt;pre&gt;&amp;lt;Country&amp;gt;US&amp;lt;/Country&amp;gt;&lt;/pre&gt;&lt;pre&gt;&amp;lt;/Result&amp;gt;&amp;lt;/ResultSet&amp;gt;
&amp;lt;!-- ws01.ydn.ac4.yahoo.com compressed/chunked Sun Apr  3 00:08:24 PDT 2011 –&amp;gt;&lt;/pre&gt;&lt;pre&gt;But we need to achieve this using adapter.This service has got its input and&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;output schema structure like below,&lt;/pre&gt;&lt;br /&gt;
&amp;lt;xs:schema xmlns:xs="&lt;a href="http://www.w3.org/2001/XMLSchema%22"&gt;http://www.w3.org/2001/XMLSchema"&lt;/a&gt;&lt;br /&gt;
&amp;nbsp; targetNamespace="urn:yahoo:maps"&lt;br /&gt;
&amp;nbsp; xmlns="urn:yahoo:maps"&lt;br /&gt;
&amp;nbsp; elementFormDefault="qualified"&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:element name="ResultSet"&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:complexType&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:sequence&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:element name="Result" type="ResultType" minOccurs="0" maxOccurs="50" /&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xs:sequence&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xs:complexType&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xs:element&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:complexType name="ResultType"&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:sequence&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:element name="Latitude" type="xs:decimal" /&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:element name="Longitude" type="xs:decimal" /&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:element name="Address" type="xs:string" /&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:element name="City" type="xs:string" /&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:element name="State" type="xs:string" /&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:element name="Zip" type="xs:string" /&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:element name="Country" type="xs:string" /&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xs:sequence&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:attribute name="precision" type="xs:string" /&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:attribute name="warning" type="xs:string" use="optional"/&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:element name="RequestSet"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:element name="appid" type="xs:string"/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:element name="street" type="xs:string"/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:element name="city" type="xs:string"/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xs:element name="state" type="xs:string"/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt; &lt;br /&gt;
&amp;lt;!-- ws13.ydn.gq1.yahoo.com compressed Fri Oct 22 03:06:44 PDT 2010 –&amp;gt; &lt;br /&gt;
&lt;br /&gt;
We’ll bind RequestSet to service input parameter and Result to service output.&lt;br /&gt;
&lt;br /&gt;
Drag and drop an HTTP adapter in Reference lane ,&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/__uBBiZbr6Ck/TZhItQBCWUI/AAAAAAAAAQ4/sf-DqLnQF20/s1600-h/image%5B3%5D.png"&gt;&lt;img alt="image" border="0" height="239" src="http://lh4.ggpht.com/__uBBiZbr6Ck/TZhIuY3uxKI/AAAAAAAAAQ8/bRhvzVkEiAE/image_thumb%5B1%5D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="273" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh5.ggpht.com/__uBBiZbr6Ck/TZhIwaxbNsI/AAAAAAAAARA/NAOnk779X5U/s1600-h/image%5B7%5D.png"&gt;&lt;img alt="image" border="0" height="242" src="http://lh5.ggpht.com/__uBBiZbr6Ck/TZhIxFZcOHI/AAAAAAAAARE/lAs7FuhRrjk/image_thumb%5B3%5D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="277" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
In HTTP Binding Configuration give the value as mentioned,&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/__uBBiZbr6Ck/TZhIyNXDfJI/AAAAAAAAARI/9KIHDXSAIpE/s1600-h/image%5B16%5D.png"&gt;&lt;img alt="image" border="0" height="323" src="http://lh5.ggpht.com/__uBBiZbr6Ck/TZhIzJUcwPI/AAAAAAAAARM/WJpO_XMZKz4/image_thumb%5B8%5D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="358" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Bind input and output message type and click finish,&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/__uBBiZbr6Ck/TZhIz4M4TOI/AAAAAAAAARQ/gLjw3bxhP-E/s1600-h/image%5B17%5D.png"&gt;&lt;img alt="image" border="0" height="326" src="http://lh6.ggpht.com/__uBBiZbr6Ck/TZhI0_tucmI/AAAAAAAAARU/9zPF_0rvdlU/image_thumb%5B9%5D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="364" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Then create a composite like below where adapter input parameter is same as process input and output parameter would be process output parameter,&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh3.ggpht.com/__uBBiZbr6Ck/TZhI1px8iqI/AAAAAAAAARY/sULgrowXX7c/s1600-h/image%5B21%5D.png"&gt;&lt;img alt="image" border="0" height="154" src="http://lh6.ggpht.com/__uBBiZbr6Ck/TZhI2RKEvtI/AAAAAAAAARc/WAZJbWNvbiI/image_thumb%5B11%5D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="439" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Deploy the composite and test by passing proper value like below,&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://lh4.ggpht.com/__uBBiZbr6Ck/TZhI3KJL9sI/AAAAAAAAARg/OR5v7nWW6Mg/s1600-h/image%5B25%5D.png"&gt;&lt;img alt="image" border="0" height="272" src="http://lh5.ggpht.com/__uBBiZbr6Ck/TZhI31cd1tI/AAAAAAAAARk/DUziWl0OTV8/image_thumb%5B13%5D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="396" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
and in response you will get,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;env:Envelope xmlns:env="&lt;a href="http://schemas.xmlsoap.org/soap/envelope/%22"&gt;http://schemas.xmlsoap.org/soap/envelope/"&lt;/a&gt; xmlns:wsa="&lt;a href="http://www.w3.org/2005/08/addressing%22"&gt;http://www.w3.org/2005/08/addressing"&lt;/a&gt;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;env:Header&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;wsa:MessageID&amp;gt;urn:D6C31E005DDA11E0BFCB817CB1165FA2&amp;lt;/wsa:MessageID&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;wsa:ReplyTo&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;wsa:Address&amp;gt;&lt;a href="http://www.w3.org/2005/08/addressing/anonymous"&gt;http://www.w3.org/2005/08/addressing/anonymous&lt;/a&gt;&amp;lt;/wsa:Address&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/wsa:ReplyTo&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/env:Header&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;env:Body&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ResultSet xmlns:ns0="urn:yahoo:maps" xmlns="urn:yahoo:maps"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns0:Result precision="address"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns0:Latitude&amp;gt;37.416397&amp;lt;/ns0:Latitude&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns0:Longitude&amp;gt;-122.025055&amp;lt;/ns0:Longitude&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns0:Address&amp;gt;701 1st Ave&amp;lt;/ns0:Address&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns0:City&amp;gt;Sunnyvale&amp;lt;/ns0:City&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns0:State&amp;gt;CA&amp;lt;/ns0:State&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns0:Zip&amp;gt;94089-1019&amp;lt;/ns0:Zip&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ns0:Country&amp;gt;US&amp;lt;/ns0:Country&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ns0:Result&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ResultSet&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/env:Body&amp;gt;&lt;br /&gt;
&amp;lt;/env:Envelope&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So Invoking REST endpoint from composite is just one click away !!!!!!!!&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Shrikworld/~4/dbyWZde1zws" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/7658561189265355791/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=342277253848129789&amp;postID=7658561189265355791&amp;isPopup=true" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/7658561189265355791?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/7658561189265355791?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Shrikworld/~3/dbyWZde1zws/http-adapter-in-soa-11g.html" title="HTTP Adapter in SOA 11g" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/__uBBiZbr6Ck/TZhIuY3uxKI/AAAAAAAAAQ8/bRhvzVkEiAE/s72-c/image_thumb%5B1%5D.png?imgmax=800" height="72" width="72" /><thr:total>5</thr:total><feedburner:origLink>http://shrikworld.blogspot.com/2011/04/http-adapter-in-soa-11g.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8NR3g8eCp7ImA9WhZSGEw.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789.post-2535974282001963178</id><published>2011-04-02T23:41:00.001-07:00</published><updated>2011-04-02T23:41:36.670-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-02T23:41:36.670-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SOA" /><title>Error Handling in SOA 11g: Part 2</title><content type="html">&lt;p&gt;Please have a look at my previous post &lt;a title="http://shrikworld.blogspot.com/2011/03/errorhandling-in-soa-11g.html" href="http://shrikworld.blogspot.com/2011/03/errorhandling-in-soa-11g.html"&gt;http://shrikworld.blogspot.com/2011/03/errorhandling-in-soa-11g.html&lt;/a&gt; before get started.There I have mentioned error queue in fault policy. The moto is that we can bind action ref="ora-errorQ" with below property set,&lt;/p&gt; &lt;p&gt;&amp;lt;Action id="ora-errorQ"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;javaAction className="com.shrik.ErrorHospitalQueue"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; defaultAction="ora-terminate"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; propertySet="enqueue-properties"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;returnValue value="REPLAY" ref="ora-terminate"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;returnValue value="RETRHOW" ref="ora-rethrow-fault"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;returnValue value="ABORT" ref="ora-terminate"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;returnValue value="RETRY" ref="ora-retry"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;returnValue value="MANUAL" ref="ora-human-intervention"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/javaAction&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Action&amp;gt;&lt;/p&gt; &lt;p&gt;&amp;lt;propertySet name="enqueue-properties"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="aq.queueconnectionfactory"&amp;gt;jms/shrikCF&amp;lt;/property&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="aq.queue"&amp;gt;jms/shrikQueue&amp;lt;/property&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/propertySet&amp;gt;&lt;/p&gt; &lt;p&gt;So first of all you need to create a jms queue and connection factory in weblogic server , in my case it is shrikQueue and shrikCF and change the enqueue-properties value accordingly.&lt;/p&gt; &lt;p&gt;Here is the code excerpts that help you to enqueue data into shrikQueue,&lt;/p&gt; &lt;p&gt;package com.shrik;&lt;/p&gt; &lt;p&gt;&lt;br&gt;import com.collaxa.cube.engine.fp.BPELFaultRecoveryContextImpl;&lt;/p&gt; &lt;p&gt;import java.io.IOException;&lt;/p&gt; &lt;p&gt;import java.util.ArrayList;&lt;br&gt;import java.util.Map;&lt;br&gt;import java.util.UUID;&lt;/p&gt; &lt;p&gt;import javax.jms.Connection;&lt;br&gt;import javax.jms.JMSException;&lt;br&gt;import javax.jms.MessageProducer;&lt;br&gt;import javax.jms.Queue;&lt;br&gt;import javax.jms.QueueConnectionFactory;&lt;br&gt;import javax.jms.Session;&lt;br&gt;import javax.jms.TextMessage;&lt;/p&gt; &lt;p&gt;import javax.naming.Context;&lt;br&gt;import javax.naming.InitialContext;&lt;br&gt;import javax.naming.NamingException;&lt;/p&gt; &lt;p&gt;import oracle.integration.platform.faulthandling.recovery.RejectedMsgRecoveryContext;&lt;br&gt;import oracle.integration.platform.faultpolicy.IFaultRecoveryContext;&lt;br&gt;import oracle.integration.platform.faultpolicy.IFaultRecoveryJavaClass;&lt;/p&gt; &lt;p&gt;public class ErrorHospitalQueue implements IFaultRecoveryJavaClass {&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String queueCF;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String queueName;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public ErrorHospitalQueue() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; super();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String handleFault(IFaultRecoveryContext iFaultRecoveryContext) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BPELFaultRecoveryContextImpl ctx =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (BPELFaultRecoveryContextImpl)iFaultRecoveryContext;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Map properties = iFaultRecoveryContext.getProperties();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UUID uuid = UUID.randomUUID();&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ctx.addAuditTrailEntry("Enqueueing Data into shrikQueue...");&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ctx.addAuditTrailEntry(createEventPayload(ctx));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ctx.addAuditTrailEntry((String)getParameterValue((ArrayList)properties.get("aq.queueconnectionfactory")));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ctx.addAuditTrailEntry((String)getParameterValue((ArrayList)properties.get("aq.queue")));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enqueueAqEvent(createEventPayload(ctx), uuid, properties, ctx);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (JMSException e) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (NamingException e) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (IOException e) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return "ora-terminate";&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String createEventPayload(IFaultRecoveryContext context) {&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String eventPayload =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&amp;lt;AdminFault xmlns=\"&lt;a href="http://www.shrik.com/\&amp;quot;"&gt;http://www.shrik.com/\"&lt;/a&gt;&amp;gt;\n" +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; " &amp;lt;ecid&amp;gt;UNKNOWN_ECID&amp;lt;/ecid&amp;gt;\n" +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&amp;lt;/AdminFault&amp;gt;";&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (context instanceof RejectedMsgRecoveryContext) {&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RejectedMsgRecoveryContext rejectedMessageContext =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (RejectedMsgRecoveryContext)context;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String ecid = null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (rejectedMessageContext.getRejectedMessage() != null &amp;amp;&amp;amp;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rejectedMessageContext.getRejectedMessage().getEcid() !=&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; null) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ecid = rejectedMessageContext.getRejectedMessage().getEcid();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if (rejectedMessageContext.getFault() != null &amp;amp;&amp;amp;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rejectedMessageContext.getFault().getECID() != null) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ecid = rejectedMessageContext.getFault().getECID();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eventPayload = eventPayload.replace("UNKNOWN_ECID", ecid);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if (context instanceof BPELFaultRecoveryContextImpl) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BPELFaultRecoveryContextImpl bpelFaultRecoveryContextImpl =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (BPELFaultRecoveryContextImpl)context;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eventPayload =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eventPayload.replace("UNKNOWN_ECID", bpelFaultRecoveryContextImpl.getECID());&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return eventPayload;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void enqueueAqEvent(String input, UUID uuid, Map props,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BPELFaultRecoveryContextImpl ctx) throws JMSException,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NamingException,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOException {&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Session session = null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageProducer publisher = null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TextMessage message = null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Context context = new InitialContext();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; QueueConnectionFactory connectionFactory =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (QueueConnectionFactory)context.lookup((String)getParameterValue((ArrayList)props.get("aq.queueconnectionfactory")));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Connection connection =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Connection)connectionFactory.createConnection();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Queue errQueue =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Queue)context.lookup((String)getParameterValue((ArrayList)props.get("aq.queue")));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; session =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Session)connection.createSession(false, Session.AUTO_ACKNOWLEDGE);&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; publisher = session.createProducer(errQueue);&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; message = session.createTextMessage(input);&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; message.setJMSCorrelationID(uuid.toString());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connection.start();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; publisher.send(message);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connection.stop();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connection.close();&lt;/p&gt; &lt;p&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String getParameterValue(ArrayList parameterList) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String value = null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (parameterList != null &amp;amp;&amp;amp; parameterList.size() &amp;gt; 0)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; value = (String)parameterList.get(0);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return value;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void handleRetrySuccess(IFaultRecoveryContext iFaultRecoveryContext) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("This is for retry success");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; handleFault(iFaultRecoveryContext);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setQueueCF(String queueCF) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.queueCF = queueCF;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getQueueCF() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return queueCF;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setQueueName(String queueName) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.queueName = queueName;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getQueueName() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return queueName;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;}&lt;/p&gt; &lt;p&gt;After updating the jar you will be able to see message with ecid got enqueued on error scenario, here is the sample message structure,&lt;/p&gt; &lt;p&gt;&amp;lt;AdminFault xmlns="&lt;a href="http://www.shrik.com/&amp;quot;"&gt;http://www.shrik.com/"&lt;/a&gt;&amp;gt;&lt;br&gt; &amp;lt;ecid&amp;gt;11d1def534ea1be0:-918321b:12f07773909:-8000-0000000000000c0d&amp;lt;/ecid&amp;gt;&lt;br&gt;&amp;lt;/AdminFault&amp;gt;&lt;br&gt;&lt;/p&gt; &lt;p&gt;You can customize the message as per your need.&lt;/p&gt;  &lt;img src="http://feeds.feedburner.com/~r/Shrikworld/~4/wn4Fb0IAr3I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/2535974282001963178/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=342277253848129789&amp;postID=2535974282001963178&amp;isPopup=true" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/2535974282001963178?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/2535974282001963178?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Shrikworld/~3/wn4Fb0IAr3I/error-handling-in-soa-11g-part-2.html" title="Error Handling in SOA 11g: Part 2" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://shrikworld.blogspot.com/2011/04/error-handling-in-soa-11g-part-2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQHSXcyfCp7ImA9WhZSGE0.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789.post-8879240566699988146</id><published>2011-03-23T04:24:00.001-07:00</published><updated>2011-04-02T22:08:58.994-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-02T22:08:58.994-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SOA" /><title>Continuous Integration with Hudson</title><content type="html">&lt;p&gt;This blog will give you clear idea on automated deployment of SOA projects from subversion.Here is the scenario in brief,&lt;/p&gt; &lt;p&gt;Developed the code using Jdeveloper –&amp;gt; Checked in subversion –&amp;gt; Hudson will poll in subversion repository for any change –&amp;gt;On any change it will build and deploy the code in SOA server without any manual intervention –&amp;gt; After deployment status mail will be sent to the group.&lt;/p&gt; &lt;p&gt;To achieve that you have to follow couple of steps,&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;Installing Hudson to your SOA server.&lt;/strong&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;You can download hudson.war file from &lt;a title="http://hudson-ci.org/" href="http://hudson-ci.org/"&gt;http://hudson-ci.org/&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;In the directory where you saved &lt;strong&gt;hudson.war&lt;/strong&gt; create a new directory called &lt;strong&gt;WEB-INF&lt;/strong&gt; and inside that a file called &lt;strong&gt;weblogic.xml&lt;/strong&gt;.&amp;nbsp; Here is the contents for the file:&lt;pre&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br /&gt;&amp;lt;weblogic-web-app&lt;br /&gt;  xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app"&amp;gt;&lt;br /&gt;  &amp;lt;container-descriptor&amp;gt;&lt;br /&gt;    &amp;lt;prefer-application-packages&amp;gt;&lt;br /&gt;      &amp;lt;package-name&amp;gt;org.apache.*&amp;lt;/package-name&amp;gt;&lt;br /&gt;      &amp;lt;package-name&amp;gt;org.dom4j.*&amp;lt;/package-name&amp;gt;&lt;br /&gt;    &amp;lt;/prefer-application-packages&amp;gt;&lt;br /&gt;  &amp;lt;/container-descriptor&amp;gt;&lt;br /&gt;&amp;lt;/weblogic-web-app&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;Now you need to add this file into the &lt;strong&gt;hudson.war&lt;/strong&gt; using the following command:&lt;pre&gt;# jar uvf hudson.war WEB-INF/weblogic.xml&lt;/pre&gt;&lt;pre&gt;Login to weblogic console and deploy the war file pointing soa_server as target.&lt;/pre&gt;&lt;pre&gt;Now the hudson page should be accessible by,&lt;/pre&gt;&lt;pre&gt;&lt;a href="http://&amp;lt;host&amp;gt;:&amp;lt;port&amp;gt;/hudson"&gt;http://&amp;lt;host&amp;gt;:&amp;lt;port&amp;gt;/hudson&lt;/a&gt;.&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;Just click on enable auto refresh on top right corner.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;2. Configure your Gmail account (can be any account) in your SOA server&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;You need to download openssl from &lt;a title="http://www.openssl.org/related/binaries.html" href="http://www.openssl.org/related/binaries.html"&gt;http://www.openssl.org/related/binaries.html&lt;/a&gt; site.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Get gmail certificate by issuing openssl s_client -connect smtp.gmail.com:465 &amp;gt; smtp.cert command.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Edit smtp.cert remove everything except the :&lt;br&gt;—–BEGIN CERTIFICATE—–&lt;br&gt;&amp;lt;certificate&amp;gt;&lt;br&gt;—–END CERTIFICATE—–&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Import the certificate into a new trust store by keytool -import -alias smtp.gmail.com -keystore trusted-certificates.jks -file smtp.cert.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Edit setDomainEnv.cmd, replace the existing javax.net.ssl.trustStore property setting with “-Djavax.net.ssl.trustStore=&amp;lt;path&amp;gt;/trusted-certificates.jks -Djavax.net.ssl.trustStorePassword=&amp;lt;password you used&amp;gt;” like in my case,&lt;/p&gt;&lt;br /&gt;&lt;p&gt;set EXTRA_JAVA_PROPERTIES=%EXTRA_JAVA_PROPERTIES% -Dsoa.archives.dir=%SOA_ORACLE_HOME%\soa -Dsoa.oracle.home=%SOA_ORACLE_HOME% -Dsoa.instance.home=%DOMAIN_HOME% -Dtangosol.coherence.clusteraddress=227.7.7.9 -Dtangosol.coherence.clusterport=9778 -Dtangosol.coherence.log=jdk -Djavax.xml.soap.MessageFactory=oracle.j2ee.ws.saaj.soap.MessageFactoryImpl -Dweblogic.transaction.blocking.commit=true -Dweblogic.transaction.blocking.rollback=true -&lt;font color="#0000ff"&gt;Djavax.net.ssl.trustStore=C:\shrik\Oracle\fmw\user_projects\domains\base_domain\config\fmwconfig\trusted-certificates.jks -Djavax.net.ssl.trustStorePassword=changeit&lt;/font&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Bounce the server.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Go to em,&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/__uBBiZbr6Ck/TYnYFQ-CI7I/AAAAAAAAAPY/Zr-G9j5wHwg/s1600-h/image3.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/__uBBiZbr6Ck/TYnYGdAlP6I/AAAAAAAAAPc/ospzLmQX_GQ/image_thumb1.png?imgmax=800" width="311" height="181"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;and enter the following properties accordingly,&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh4.ggpht.com/__uBBiZbr6Ck/TYnYHcX5r9I/AAAAAAAAAPg/8q3_X3_QlBg/s1600-h/image9.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/__uBBiZbr6Ck/TYnYIUTKooI/AAAAAAAAAPk/MaB3NZ_PtGs/image_thumb5.png?imgmax=800" width="442" height="192"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Then go to workflow notification property and set the notification mode email with proper from address,actionable address and reply to address.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/__uBBiZbr6Ck/TYnYJP7lpsI/AAAAAAAAAPo/aPW0hTWjogI/s1600-h/image14.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/__uBBiZbr6Ck/TYnYKCaK1SI/AAAAAAAAAPs/94BIUTDGXZk/image_thumb8.png?imgmax=800" width="302" height="280"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Bounce the server once again and go to manage hudson from the left menu.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/__uBBiZbr6Ck/TYnYLfSOpcI/AAAAAAAAAPw/llftTjIWUxk/s1600-h/image18.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/__uBBiZbr6Ck/TYnYMAid9yI/AAAAAAAAAP0/pImoIBPbWJs/image_thumb10.png?imgmax=800" width="425" height="153"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Then click on configure system and go to E-mail notification section and give all the values accordingly,&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/__uBBiZbr6Ck/TYnYNOy_ytI/AAAAAAAAAP4/SuwpWv-zV24/s1600-h/image22.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/__uBBiZbr6Ck/TYnYN52jG_I/AAAAAAAAAP8/wlBxb3wDTNM/image_thumb12.png?imgmax=800" width="396" height="162"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Click on test configuarion and you should get a test mail in your account.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;3. &lt;strong&gt;Setting up version control system &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;I downloaded subversion server and client but you can download any CVS or other repository as well.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;For testing purpose I would recommend VisualSVNServerManager at &lt;a title="http://www.visualsvn.com/server/" href="http://www.visualsvn.com/server/"&gt;http://www.visualsvn.com/server/&lt;/a&gt; and tortoise svn client at &lt;a title="http://tortoisesvn.net/downloads.html" href="http://tortoisesvn.net/downloads.html"&gt;http://tortoisesvn.net/downloads.html&lt;/a&gt; .&lt;/p&gt;&lt;br /&gt;&lt;p&gt;In your ant deployment folder find the executable batch file will be picked up by Hudson for build and deployment if any change occur in the repository in my case its deployAll.bat,please check &lt;a title="http://shrikworld.blogspot.com/2011/03/deploying-soa-11g-application-using-ant.html" href="http://shrikworld.blogspot.com/2011/03/deploying-soa-11g-application-using-ant.html"&gt;http://shrikworld.blogspot.com/2011/03/deploying-soa-11g-application-using-ant.html&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;You may need to copy ant-contrib.jar file from &amp;lt;fmw_home&amp;gt;\modules\net.sf.antcontrib_1.1.0.0_1-0b2\lib folder to Jdeveloper’s and SOA server’s &amp;lt;AntHome&amp;gt;/lib directory.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;4. Create a JOB in Hudson&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Go to &lt;a title="http://shreekanta-pc:7001/hudson/" href="http://shreekanta-pc:7001/hudson/"&gt;http://shreekanta-pc:7001/hudson/&lt;/a&gt; and click on create a new job on left menu,&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh4.ggpht.com/__uBBiZbr6Ck/TYnYOlqsS7I/AAAAAAAAAQA/sOfALyZkVEI/s1600-h/image%5B4%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/__uBBiZbr6Ck/TYnYPTu5lnI/AAAAAAAAAQE/xzQxHuVdWWM/image_thumb%5B1%5D.png?imgmax=800" width="404" height="157"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Now click on the job and go to the configure section from left menu.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;In the source code management you need to provide your repository URL like,&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh4.ggpht.com/__uBBiZbr6Ck/TYnYQmhM2jI/AAAAAAAAAQI/bF_xARITcxI/s1600-h/image%5B8%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/__uBBiZbr6Ck/TYnYRgJ6D-I/AAAAAAAAAQM/kcVsi3pnKIQ/image_thumb%5B3%5D.png?imgmax=800" width="447" height="240"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;In Build Trigger select poll SCM and put ***** in schedule so that Hudson will poll SCM in every minute for any change.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;In the Build section fill all as below,&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/__uBBiZbr6Ck/TYnYSSsaBbI/AAAAAAAAAQQ/Pn1PU8gucyQ/s1600-h/image%5B12%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/__uBBiZbr6Ck/TYnYSxT-3WI/AAAAAAAAAQU/JOPJpLzkQY4/image_thumb%5B5%5D.png?imgmax=800" width="436" height="130"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;In Post Build section give your account name accordingly,&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/__uBBiZbr6Ck/TYnYT84k7DI/AAAAAAAAAQY/io0z71qzNRg/s1600-h/image%5B16%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/__uBBiZbr6Ck/TYnYU8rf_FI/AAAAAAAAAQc/ntObBYbd7zc/image_thumb%5B7%5D.png?imgmax=800" width="444" height="171"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Click on Save and enable auto refresh.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/__uBBiZbr6Ck/TYnYVohLqMI/AAAAAAAAAQg/Sjlbuq3Nk5o/s1600-h/image%5B20%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/__uBBiZbr6Ck/TYnYWVsMccI/AAAAAAAAAQk/t2UV6mpPl7c/image_thumb%5B9%5D.png?imgmax=800" width="456" height="128"&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Change/Add any file in your subversion and Hudson will pick up and deploy the code into SOA server.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;After that it will sent the status mail as per your account configuration.&lt;/p&gt;  &lt;img src="http://feeds.feedburner.com/~r/Shrikworld/~4/0-9rSkf1Q2c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/8879240566699988146/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=342277253848129789&amp;postID=8879240566699988146&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/8879240566699988146?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/8879240566699988146?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Shrikworld/~3/0-9rSkf1Q2c/continuous-integration-with-hudson.html" title="Continuous Integration with Hudson" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/__uBBiZbr6Ck/TYnYGdAlP6I/AAAAAAAAAPc/ospzLmQX_GQ/s72-c/image_thumb1.png?imgmax=800" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://shrikworld.blogspot.com/2011/03/continuous-integration-with-hudson.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IHQX8ycSp7ImA9WhZTGEo.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789.post-9113593902643850666</id><published>2011-03-23T02:04:00.000-07:00</published><updated>2011-03-23T02:12:10.199-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-23T02:12:10.199-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SOA" /><title>Deploying SOA 11g Application using ANT</title><content type="html">&lt;p&gt;This blog will guide you the deploy SOA applications using ANT script.&lt;/p&gt; &lt;p&gt;Here is my subversion directory structure,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/__uBBiZbr6Ck/TYm5ShrfMFI/AAAAAAAAAOw/drY2jM0Fc-M/s1600-h/image%5B3%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/__uBBiZbr6Ck/TYm5TcoxYKI/AAAAAAAAAO0/uuIVFNZmuU8/image_thumb%5B1%5D.png?imgmax=800" width="379" height="198"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Under applications you put your application and projects underneath,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/__uBBiZbr6Ck/TYm5UjtGf0I/AAAAAAAAAO4/8NgU6pBsR8A/s1600-h/image%5B8%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/__uBBiZbr6Ck/TYm5VRS3m6I/AAAAAAAAAO8/xvHd8WqZiSA/image_thumb%5B4%5D.png?imgmax=800" width="349" height="228"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;You might have several projects, in my case I’ve two projects BusinessEventTest and HelloWorldEmail.Every project has got its own deployment plan for different environments like in my case BusinessEventTest_cfgplan_dev.xml and HelloWorldEmail_cfgplan_dev.xml.&lt;/p&gt; &lt;p&gt;Create a build.properties file under applications and fill accordingly as below,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/__uBBiZbr6Ck/TYm5WDOVSoI/AAAAAAAAAPA/E0oBq3zvIv0/s1600-h/image%5B12%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/__uBBiZbr6Ck/TYm5Ww2ov3I/AAAAAAAAAPE/PuXwdoS1QzA/image_thumb%5B6%5D.png?imgmax=800" width="290" height="177"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Give the partition name where you want to deploy.&lt;/p&gt; &lt;p&gt;Go back and under tools you should have following files,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/__uBBiZbr6Ck/TYm5X-0jPSI/AAAAAAAAAPI/ZhVfOGMamSY/s1600-h/image%5B16%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/__uBBiZbr6Ck/TYm5YwRb-3I/AAAAAAAAAPM/MwWpdT6eJ-c/image_thumb%5B8%5D.png?imgmax=800" width="377" height="197"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;In build.properties give the below information,&lt;/p&gt; &lt;p&gt;*****************************************************************************&lt;/p&gt; &lt;p&gt;# global&lt;br&gt;fmw.home=C:/shrik/Oracle/fmw&lt;br&gt;oracle.home=${fmw.home}/jdeveloper&lt;br&gt;java.passed.home=C:/shrik/Oracle/SOAWork/composites/jrockit&lt;br&gt;wl_home=${fmw.home}/wlserver_10.3&lt;/p&gt; &lt;p&gt;# temp&lt;br&gt;tmp.output.dir=c:/temp&lt;br&gt;junit.output.dir=../../&lt;/p&gt; &lt;p&gt;applications.home=../../applications&lt;br&gt;applications=HelloWorld&lt;/p&gt; &lt;p&gt;mds.enabled=false&lt;br&gt;mds.reposistory=${oracle.home}/integration/seed/apps/&lt;br&gt;mds.applications=Woningnet-Test&lt;br&gt;mds.undeploy=false&lt;/p&gt; &lt;p&gt;deployment.plan.environment=dev&lt;/p&gt; &lt;p&gt;# dev deployment server weblogic&lt;br&gt;dev.serverURL=&lt;a href="http://shreekanta-pc:7001"&gt;http://shreekanta-pc:7001&lt;/a&gt;&lt;br&gt;dev.overwrite=true&lt;br&gt;dev.user=weblogic&lt;br&gt;dev.password=welcome1&lt;br&gt;dev.forceDefault=true&lt;br&gt;dev.server=shreekanta-pc&lt;br&gt;dev.port=7001&lt;/p&gt; &lt;p&gt;In dev.jndi.properties give the below information,&lt;/p&gt; &lt;p&gt;java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory&lt;br&gt;java.naming.provider.url=t3://shreekanta-pc:7001/soa-infra&lt;br&gt;java.naming.security.principal=weblogic&lt;br&gt;java.naming.security.credentials=welcome1&lt;br&gt;dedicated.connection=true&lt;br&gt;dedicated.rmicontext=true&lt;/p&gt; &lt;p&gt;****************************************************************************&lt;/p&gt; &lt;p&gt;build.xml file ,you can use as it is else can customize as per your need,&lt;/p&gt; &lt;p&gt;***************************************************************************&lt;/p&gt; &lt;p&gt;&amp;lt;?xml version="1.0" encoding="iso-8859-1"?&amp;gt;&lt;br&gt;&amp;lt;project name="soaDeployAll" default="deployAll"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;echo&amp;gt;basedir ${basedir}&amp;lt;/echo&amp;gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property environment="env"/&amp;gt; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;echo&amp;gt;current folder ${env.CURRENT_FOLDER}&amp;lt;/echo&amp;gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property file="${env.CURRENT_FOLDER}/build.properties"/&amp;gt;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;taskdef resource="net/sf/antcontrib/antcontrib.properties"/&amp;gt;&lt;/p&gt; &lt;p&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;target name="deployAll"&amp;gt; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;if&amp;gt; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;equals arg1="${mds.enabled}" arg2="true"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;then&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;antcall target="deployMDS" inheritall="true"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/then&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/if&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;foreach list="${applications}" param="application" target="deployApplication" inheritall="true" inheritrefs="false"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/target&amp;gt;&lt;/p&gt; &lt;p&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;target name="unDeployMDS"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;echo&amp;gt;undeploy MDS&amp;lt;/echo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;foreach list="${mds.applications}" param="mds.application" target="undeployMDSApplication" inheritall="true" inheritrefs="false"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/target&amp;gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;target name="deployMDS"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;echo&amp;gt;undeploy and deploy MDS&amp;lt;/echo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;if&amp;gt; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;equals arg1="${mds.undeploy}" arg2="true"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;then&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;foreach list="${mds.applications}" param="mds.application" target="undeployMDSApplication" inheritall="true" inheritrefs="false"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/then&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/if&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;foreach list="${mds.applications}" param="mds.application" target="deployMDSApplication" inheritall="true" inheritrefs="false"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/target&amp;gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;target name="deployMDSApplication"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;echo&amp;gt;deploy MDS application ${mds.application}&amp;lt;/echo&amp;gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;echo&amp;gt;remove and create local MDS temp&amp;lt;/echo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="mds.deploy.dir" value="${tmp.output.dir}/${mds.application}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;delete dir="${mds.deploy.dir}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;mkdir dir="${mds.deploy.dir}"/&amp;gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;echo&amp;gt;create zip from file MDS store&amp;lt;/echo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;zip destfile="${mds.deploy.dir}/${mds.application}_mds.jar" compress="false"&amp;gt; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;fileset dir="${mds.reposistory}" includes="${mds.application}/**"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/zip&amp;gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;echo&amp;gt;create zip with MDS jar&amp;lt;/echo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;zip destfile="${mds.deploy.dir}/${mds.application}_mds.zip" compress="false"&amp;gt; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;fileset dir="${mds.deploy.dir}" includes="*.jar"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/zip&amp;gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;propertycopy name="deploy.serverURL"&amp;nbsp;&amp;nbsp;&amp;nbsp; from="${deployment.plan.environment}.serverURL"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;propertycopy name="deploy.overwrite"&amp;nbsp;&amp;nbsp;&amp;nbsp; from="${deployment.plan.environment}.overwrite"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;propertycopy name="deploy.user"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from="${deployment.plan.environment}.user"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;propertycopy name="deploy.password"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from="${deployment.plan.environment}.password"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;propertycopy name="deploy.forceDefault" from="${deployment.plan.environment}.forceDefault"/&amp;gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;echo&amp;gt;deploy MDS app&amp;lt;/echo&amp;gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;echo&amp;gt;deploy on ${deploy.serverURL} with user ${deploy.user}&amp;lt;/echo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;echo&amp;gt;deploy sarFile ${mds.deploy.dir}/${mds.application}_mds.zip&amp;lt;/echo&amp;gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ant antfile="${oracle.home}/bin/ant-sca-deploy.xml" inheritAll="false" target="deploy"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="wl_home" value="${wl_home}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="oracle.home" value="${oracle.home}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="serverURL" value="${deploy.serverURL}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="user" value="${deploy.user}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="password" value="${deploy.password}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="overwrite" value="${deploy.overwrite}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="forceDefault" value="${deploy.forceDefault}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="sarLocation" value="${mds.deploy.dir}/${mds.application}_mds.zip"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ant&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/target&amp;gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;target name="undeployMDSApplication"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;echo&amp;gt;undeploy MDS application ${mds.application}&amp;lt;/echo&amp;gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;propertycopy name="deploy.serverURL"&amp;nbsp;&amp;nbsp;&amp;nbsp; from="${deployment.plan.environment}.serverURL"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;propertycopy name="deploy.overwrite"&amp;nbsp;&amp;nbsp;&amp;nbsp; from="${deployment.plan.environment}.overwrite"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;propertycopy name="deploy.user"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from="${deployment.plan.environment}.user"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;propertycopy name="deploy.password"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from="${deployment.plan.environment}.password"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;propertycopy name="deploy.forceDefault" from="${deployment.plan.environment}.forceDefault"/&amp;gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;echo&amp;gt;undeploy MDS app folder apps/${mds.application} &amp;lt;/echo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ant antfile="${oracle.home}/bin/ant-sca-deploy.xml" inheritAll="false" target="removeSharedData"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="wl_home" value="${wl_home}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="oracle.home" value="${oracle.home}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="serverURL" value="${deploy.serverURL}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="user" value="${deploy.user}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="password" value="${deploy.password}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="folderName" value="${mds.application}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ant&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/target&amp;gt;&lt;/p&gt; &lt;p&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;target name="deployApplication"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;echo&amp;gt;deploy application ${application}&amp;lt;/echo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property file="${env.CURRENT_FOLDER}/${applications.home}/${application}/build.properties"/&amp;gt;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;foreach list="${projects}" param="project" target="deployProject" inheritall="true" inheritrefs="false"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/target&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;target name="deployProject"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;echo&amp;gt;deploy project ${project} for&amp;nbsp; environment ${deployment.plan.environment}&amp;lt;/echo&amp;gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="proj.compositeName" value="${project}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="proj.compositeDir" value="${env.CURRENT_FOLDER}/${applications.home}/${application}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;propertycopy name="proj.revision" from="${project}.revision"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;propertycopy name="proj.enabled" from="${project}.enabled"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;propertycopy name="proj.partition" from="${project}.partition"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;echo&amp;gt;deploy compositeName ${proj.compositeName}&amp;lt;/echo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;echo&amp;gt;deploy compositeDir ${proj.compositeDir}&amp;lt;/echo&amp;gt;&lt;/p&gt; &lt;p&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ant antfile="${oracle.home}/bin/ant-sca-package.xml" inheritAll="false" target="package"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="compositeDir" value="${proj.compositeDir}/${project}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="compositeName" value="${proj.compositeName}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="revision" value="${proj.revision}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="oracle.home" value="${oracle.home}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="java.passed.home" value="${java.passed.home}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="wl_home" value="${wl_home}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="sca.application.home" value="${proj.compositeDir}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="scac.application.home" value="${proj.compositeDir}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="scac.input" value="${proj.compositeDir}/${proj.compositeName}/composite.xml"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="scac.output" value="${tmp.output.dir}/${proj.compositeName}.xml"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="scac.error" value="${tmp.output.dir}/${proj.compositeName}.err"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="scac.displayLevel" value="3"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ant&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="deploy.sarLocation" value="${proj.compositeDir}/${proj.compositeName}/deploy/sca_${proj.compositeName}_rev${proj.revision}.jar"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="deploy.configplan"&amp;nbsp; value="${proj.compositeDir}/${proj.compositeName}/${proj.compositeName}_cfgplan_${deployment.plan.environment}.xml"/&amp;gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;propertycopy name="deploy.serverURL"&amp;nbsp;&amp;nbsp;&amp;nbsp; from="${deployment.plan.environment}.serverURL"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;propertycopy name="deploy.overwrite"&amp;nbsp;&amp;nbsp;&amp;nbsp; from="${deployment.plan.environment}.overwrite"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;propertycopy name="deploy.user"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from="${deployment.plan.environment}.user"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;propertycopy name="deploy.password"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from="${deployment.plan.environment}.password"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;propertycopy name="deploy.forceDefault" from="${deployment.plan.environment}.forceDefault"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;propertycopy name="deploy.server"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from="${deployment.plan.environment}.server"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;propertycopy name="deploy.port"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from="${deployment.plan.environment}.port"/&amp;gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;echo&amp;gt;deploy on ${deploy.serverURL} with user ${deploy.user}&amp;lt;/echo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;echo&amp;gt;deploy sarFile ${deploy.sarLocation}&amp;lt;/echo&amp;gt;&lt;/p&gt; &lt;p&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ant antfile="${oracle.home}/bin/ant-sca-deploy.xml" inheritAll="false" target="deploy"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="wl_home" value="${wl_home}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="oracle.home" value="${oracle.home}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="serverURL" value="${deploy.serverURL}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="partition" value="${proj.partition}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="user" value="${deploy.user}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="password" value="${deploy.password}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="overwrite" value="${deploy.overwrite}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="forceDefault" value="${deploy.forceDefault}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="sarLocation" value="${deploy.sarLocation}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="configplan" value="${deploy.configplan}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ant&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;echo&amp;gt;disable or enable composite ${proj.compositeName} &amp;lt;/echo&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;if&amp;gt; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;equals arg1="${proj.enabled}" arg2="false"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;then&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ant antfile="${oracle.home}/bin/ant-sca-mgmt.xml" inheritAll="false" target="stopComposite"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="host" value="${deploy.server}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="port" value="${deploy.port}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="user" value="${deploy.user}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="password" value="${deploy.password}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="compositeName" value="${proj.compositeName}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="revision" value="${proj.revision}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="partition" value="${proj.partition}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ant&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/then&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/if&amp;gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;if&amp;gt; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;equals arg1="${proj.enabled}" arg2="true"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;then&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ant antfile="${oracle.home}/bin/ant-sca-mgmt.xml" inheritAll="false" target="activateComposite"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="host" value="${deploy.server}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="port" value="${deploy.port}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="user" value="${deploy.user}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="password" value="${deploy.password}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="compositeName" value="${proj.compositeName}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="revision" value="${proj.revision}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="partition" value="${proj.partition}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ant&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;echo&amp;gt;unit test sarFile ${proj.compositeName} &amp;lt;/echo&amp;gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ant antfile="${oracle.home}/bin/ant-sca-test.xml" inheritAll="false" target="test"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="scatest.input" value="${project}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="scatest.format" value="junit"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="scatest.result" value="${env.CURRENT_FOLDER}/${junit.output.dir}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="scatest.partition" value="${proj.partition}"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="jndi.properties.input" value="${deployment.plan.environment}.jndi.properties"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ant&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/then&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/if&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/target&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;lt;/project&amp;gt;&lt;/p&gt; &lt;p&gt;**********************************************************************************&lt;/p&gt; &lt;p&gt;At last deployAll.bat file would have following entries,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/__uBBiZbr6Ck/TYm5ZdIV9kI/AAAAAAAAAPQ/hK6ascIh5g8/s1600-h/image%5B20%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/__uBBiZbr6Ck/TYm5aD_7dJI/AAAAAAAAAPU/EKHNJL-GRnM/image_thumb%5B10%5D.png?imgmax=800" width="403" height="160"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Open a command prompt and execute deployAll which will deploy all your projects under a particular application in SOA Server.&lt;/p&gt;  &lt;img src="http://feeds.feedburner.com/~r/Shrikworld/~4/foP8r12uWf0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/9113593902643850666/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=342277253848129789&amp;postID=9113593902643850666&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/9113593902643850666?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/9113593902643850666?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Shrikworld/~3/foP8r12uWf0/deploying-soa-11g-application-using-ant.html" title="Deploying SOA 11g Application using ANT" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/__uBBiZbr6Ck/TYm5TcoxYKI/AAAAAAAAAO0/uuIVFNZmuU8/s72-c/image_thumb%5B1%5D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://shrikworld.blogspot.com/2011/03/deploying-soa-11g-application-using-ant.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIDQn0_fSp7ImA9Wx9aE08.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789.post-4526641389237720464</id><published>2011-03-05T04:03:00.000-08:00</published><updated>2011-03-05T04:19:33.345-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-05T04:19:33.345-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SOA" /><title>ErrorHandling in SOA 11g</title><content type="html">&lt;p&gt;In SOA 11g we can go for common error handling approach to capture fault at component and composite level.In this test cases I’ve one HelloWorld bpel process ,just prints hello.We cave another parent process,CallHelloWorldComposite that calls Hello process and here we’ll implement the fault policy.&lt;/p&gt; &lt;p&gt;To implement the Error Handler we need fault-policies.xml and fault-bindings.xml file.You can access those files locally from your project folder as well as from MDS or some other places.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/__uBBiZbr6Ck/TXIqPdgtiAI/AAAAAAAAANk/pqCyKUslwfY/s1600-h/image%5B2%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/__uBBiZbr6Ck/TXIqRD9kaPI/AAAAAAAAANo/8zpgsANaNSE/image_thumb.png?imgmax=800" width="244" height="215"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Here in this case policies files are there in local project folder and in this case you need to just create those file and no entry in composite.xml is required.&lt;/p&gt; &lt;p&gt;But to access fault policy file from other places you need to add below properties in composite.xml,In this case I added policy at composite level.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/__uBBiZbr6Ck/TXIqR1WfA8I/AAAAAAAAANs/yvOin5rwnq8/s1600-h/image%5B6%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/__uBBiZbr6Ck/TXIqTLDOhKI/AAAAAAAAANw/Rn2aneKI2B8/image_thumb%5B2%5D.png?imgmax=800" width="326" height="35"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;You can give full path of either directory structure or MDS path in those values.&lt;/p&gt; &lt;p&gt;Now we need to design fault-policies.xml file to capture all kind of faults and actions need to be taken if error occurred.You can add your custom java code to perform any additional task like send email notification or enqueing data into custom error queue.Here is my fault-policies.xml file,&lt;/p&gt; &lt;p&gt;*******************************************************************************&lt;/p&gt; &lt;p&gt;&amp;lt;?xml version="1.0" encoding="UTF-8" ?&amp;gt;&lt;br&gt;&amp;lt;faultPolicies xmlns="&lt;a href="http://schemas.oracle.com/bpel/faultpolicy&amp;quot;"&gt;http://schemas.oracle.com/bpel/faultpolicy"&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;faultPolicy version="2.0.1" id="commonErrorHandler"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:env="&lt;a href="http://schemas.xmlsoap.org/soap/envelope/&amp;quot;"&gt;http://schemas.xmlsoap.org/soap/envelope/"&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:xs="&lt;a href="http://www.w3.org/2001/XMLSchema&amp;quot;"&gt;http://www.w3.org/2001/XMLSchema"&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns="&lt;a href="http://schemas.oracle.com/bpel/faultpolicy&amp;quot;"&gt;http://schemas.oracle.com/bpel/faultpolicy"&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:xsi="&lt;a href="http://www.w3.org/2001/XMLSchema-instance&amp;quot;"&gt;http://www.w3.org/2001/XMLSchema-instance"&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Conditions&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;faultName xmlns:bpelx="&lt;a href="http://schemas.oracle.com/bpel/extension&amp;quot;"&gt;http://schemas.oracle.com/bpel/extension"&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name="bpelx:remoteFault"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;condition&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;action ref="ora-retry"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/condition&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/faultName&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;faultName xmlns:medns="&lt;a href="http://schemas.oracle.com/mediator/faults&amp;quot;"&gt;http://schemas.oracle.com/mediator/faults"&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name="medns:mediatorFault"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;condition&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;action ref="ora-cust"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/condition&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/faultName&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;faultName xmlns:bpelx="&lt;a href="http://schemas.oracle.com/bpel/extension&amp;quot;"&gt;http://schemas.oracle.com/bpel/extension"&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name="bpelx:bindingFault"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;condition&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;action ref="ora-errorQ"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/condition&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/faultName&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;faultName xmlns:bpelx="&lt;a href="http://schemas.oracle.com/bpel/extension&amp;quot;"&gt;http://schemas.oracle.com/bpel/extension"&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name="bpelx:runtimeFault"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;condition&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;action ref="ora-errorQ"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/condition&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/faultName&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Conditions&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Actions&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Action id="ora-terminate"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;abort/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Action&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Action id="ora-rethrow-fault"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;rethrowFault/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Action&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Action id="ora-replay-scope"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;replayScope/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Action&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Action id="ora-human-intervention"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;humanIntervention/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Action&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Action id="ora-retry"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;retry&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;retryCount&amp;gt;3&amp;lt;/retryCount&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;retryInterval&amp;gt;2&amp;lt;/retryInterval&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;exponentialBackoff/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;retryFailureAction ref="send-notification"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;retrySuccessAction ref="ora-errorQ"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/retry&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Action&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Action id="ora-cust"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;javaAction className="com.shrik.TestJavaAction"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; defaultAction="ora-terminate"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; propertySet="send-notification-properties"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;returnValue value="REPLAY" ref="ora-terminate"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;returnValue value="RETRHOW" ref="ora-rethrow-fault"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;returnValue value="ABORT" ref="ora-terminate"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;returnValue value="RETRY" ref="ora-retry"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;returnValue value="MANUAL" ref="ora-human-intervention"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/javaAction&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Action&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Action id="ora-errorQ"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;javaAction className="com.shrik.ErrorHospitalQueue"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; defaultAction="ora-terminate"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; propertySet="enqueue-properties"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;returnValue value="REPLAY" ref="ora-terminate"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;returnValue value="RETRHOW" ref="ora-rethrow-fault"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;returnValue value="ABORT" ref="ora-terminate"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;returnValue value="RETRY" ref="ora-retry"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;returnValue value="MANUAL" ref="ora-human-intervention"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/javaAction&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Action&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Action id="send-notification"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;javaAction className="com.shrik.ErrorHospitalNotification"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; defaultAction="ora-human-intervention"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; propertySet="send-notification-properties"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;returnValue value="MANUAL" ref="ora-human-intervention"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/javaAction&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Action&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Actions&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- Property sets used by custom Java actions --&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Properties&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;propertySet name="send-notification-properties"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="from"&amp;gt;&amp;lt;Give from address&amp;gt;&amp;lt;/property&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="to"&amp;gt;&amp;lt;Give To Address&amp;gt;&amp;lt;/property&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="subject"&amp;gt;Test Mail&amp;lt;/property&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="text"&amp;gt;Environment: TEST&amp;lt;/property&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="host"&amp;gt;&amp;lt;smtp host server&amp;gt;&amp;lt;/property&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="port"&amp;gt;&amp;lt;smtp port&amp;gt;&amp;lt;/property&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="username"&amp;gt;&amp;lt;user name&amp;gt;&amp;lt;/property&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="password"&amp;gt;&amp;lt;password&amp;gt;&amp;lt;/property&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/propertySet&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;propertySet name="enqueue-properties"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="aq.queueconnectionfactory"&amp;gt;aqjms/XAQueueConnectionFactory&amp;lt;/property&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="aq.queue"&amp;gt;jms/errorQ&amp;lt;/property&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/propertySet&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Properties&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;/faultPolicy&amp;gt;&lt;br&gt;&amp;lt;/faultPolicies&amp;gt;&lt;br&gt;****************************************************************************************&lt;/p&gt; &lt;p&gt;and here is my fault-bindings.xml file,&lt;/p&gt; &lt;p&gt;&amp;lt;?xml version="1.0" encoding="UTF-8" ?&amp;gt;&lt;br&gt;&amp;lt;faultPolicyBindings version="2.0.1"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns="&lt;a href="http://schemas.oracle.com/bpel/faultpolicy&amp;quot;"&gt;http://schemas.oracle.com/bpel/faultpolicy"&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:xsi="&lt;a href="http://www.w3.org/2001/XMLSchema-instance&amp;quot;"&gt;http://www.w3.org/2001/XMLSchema-instance"&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;composite faultPolicy="commonErrorHandler"/&amp;gt;&lt;br&gt;&amp;lt;/faultPolicyBindings&amp;gt;&lt;/p&gt; &lt;p&gt;&lt;br&gt;****************************************************************************************&lt;/p&gt; &lt;p&gt;If HelloWorld endpoint is unreachable then&amp;nbsp; bpelx:remoteFault will happen and as per fault policy it will execure ora-retry action,will try to retry the endpoint 3 times in 2,4,8 seconds intervals and upon subsequent failure it will invoke com.shrik.ErrorHospitalNotification class with send-notification-properties to notify faults to users.&lt;/p&gt; &lt;p&gt;To write your custom java code,create a new project like,&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/__uBBiZbr6Ck/TXIqT6iS-gI/AAAAAAAAAN0/x9sulnje09I/s1600-h/image%5B9%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/__uBBiZbr6Ck/TXIqUlfsgSI/AAAAAAAAAN4/k4AZjPhg56I/image_thumb%5B3%5D.png?imgmax=800" width="244" height="100"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;in this project we need to import some jars from &amp;lt;OracleMiddlewareHome&amp;gt;/Oracle_SOA1/soa/modules/oracle.soa.bpel_11.1.1 ,oracle.soa.fabric_11.1.1 directory.&lt;/p&gt; &lt;p&gt;For my case here is the code excerpt ,&lt;/p&gt; &lt;p&gt;For sending email notification from fault policy(ErrorHospitalNotification.java),&lt;/p&gt; &lt;p&gt;****************************************************************************************&lt;/p&gt; &lt;p&gt;package com.shrik;&lt;/p&gt; &lt;p&gt;import com.collaxa.cube.engine.fp.BPELFaultRecoveryContextImpl;&lt;/p&gt; &lt;p&gt;&lt;br&gt;import java.util.ArrayList;&lt;br&gt;import java.util.Map;&lt;br&gt;import java.util.Properties;&lt;/p&gt; &lt;p&gt;import javax.mail.Authenticator;&lt;br&gt;import javax.mail.Message;&lt;br&gt;import javax.mail.MessagingException;&lt;br&gt;import javax.mail.PasswordAuthentication;&lt;br&gt;import javax.mail.Session;&lt;br&gt;import javax.mail.Transport;&lt;br&gt;import javax.mail.internet.AddressException;&lt;br&gt;import javax.mail.internet.InternetAddress;&lt;br&gt;import javax.mail.internet.MimeMessage;&lt;/p&gt; &lt;p&gt;import oracle.integration.platform.faultpolicy.IFaultRecoveryContext;&lt;br&gt;import oracle.integration.platform.faultpolicy.IFaultRecoveryJavaClass;&lt;/p&gt; &lt;p&gt;&lt;br&gt;public class ErrorHospitalNotification implements IFaultRecoveryJavaClass {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String from;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String to;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String subject;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String text;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String host;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String port;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String username;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String password;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private Properties props;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public ErrorHospitalNotification() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; super();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void sendMail() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; props = new Properties();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; props.put("mail.smtp.host", getHost());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; props.put("mail.smtp.port", getPort());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; props.put("mail.transport.protocol", "smtp");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; props.setProperty("mail.smtps.quitwait", "false");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; props.put("mail.smtp.auth", "true");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Authenticator auth = new javax.mail.Authenticator() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected PasswordAuthentication getPasswordAuthentication() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return new PasswordAuthentication(getUsername(),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; getPassword());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Session mailSession = Session.getDefaultInstance(props, auth);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Message simpleMessage = new MimeMessage(mailSession);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InternetAddress fromAddress = new InternetAddress(from);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; simpleMessage.setFrom(fromAddress);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String toAddresses[] = to.split(";");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (toAddresses != null &amp;amp;&amp;amp; toAddresses.length &amp;gt; 0) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InternetAddress toInternetAddresses[] =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new InternetAddress[toAddresses.length];&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; toAddresses.length; i++)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; toInternetAddresses[i] =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new InternetAddress(toAddresses[i]);&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; simpleMessage.setRecipients(javax.mail.Message.RecipientType.TO,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; toInternetAddresses);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; simpleMessage.setSubject(subject);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; simpleMessage.setText(text);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Transport.send(simpleMessage);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (AddressException e) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("Error formatting Internet Email Address: " +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.getMessage().toString());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (MessagingException e) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("Error sending email: " +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.getMessage().toString());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String getParameterValue(ArrayList parameterList) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String value = null;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (parameterList != null &amp;amp;&amp;amp; parameterList.size() &amp;gt; 0)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; value = (String)parameterList.get(0);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return value;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void handleRetrySuccess(IFaultRecoveryContext iFaultRecoveryContext) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BPELFaultRecoveryContextImpl bpelCtx =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (BPELFaultRecoveryContextImpl)iFaultRecoveryContext;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Map properties = iFaultRecoveryContext.getProperties();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (properties != null &amp;amp;&amp;amp; properties.size() == 8) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setFrom(getParameterValue((ArrayList)properties.get("from")));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setTo(getParameterValue((ArrayList)properties.get("to")));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setSubject(getParameterValue((ArrayList)properties.get("subject")) +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; " " + "Retry Success");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setText("The exception that occurred when processing " +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bpelCtx.getTitle() + " was successfully retried.\n" +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "This message was automatically generated, please do not reply to it.");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setHost(getParameterValue((ArrayList)properties.get("host")));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setPort(getParameterValue((ArrayList)properties.get("port")));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setUsername(getParameterValue((ArrayList)properties.get("username")));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setPassword(getParameterValue((ArrayList)properties.get("password")));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sendMail();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String handleFault(IFaultRecoveryContext iFaultRecoveryContext) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Map properties = iFaultRecoveryContext.getProperties();&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BPELFaultRecoveryContextImpl bpelCtx =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (BPELFaultRecoveryContextImpl)iFaultRecoveryContext;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (properties != null &amp;amp;&amp;amp; properties.size() == 8) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setFrom(getParameterValue((ArrayList)properties.get("from")));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setTo(getParameterValue((ArrayList)properties.get("to")));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setSubject(getParameterValue((ArrayList)properties.get("subject")) +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bpelCtx.getTitle());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setText(getParameterValue((ArrayList)properties.get("text")) +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "BPEL Process Instance: " + bpelCtx.getInstanceId() +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; " needs intervention to recover from a technical exception: " +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bpelCtx.getFault().getMessage() +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Check the Activities tab in the BPEL Management Console in order to resolve the error as soon as possible. This message was automatically generated, please do not reply to it.");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setHost(getParameterValue((ArrayList)properties.get("host")));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setPort(getParameterValue((ArrayList)properties.get("port")));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setUsername(getParameterValue((ArrayList)properties.get("username")));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setPassword(getParameterValue((ArrayList)properties.get("password")));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bpelCtx.addAuditTrailEntry("Sending Email...");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sendMail();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return "MANUAL";&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setFrom(String from) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.from = from;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getFrom() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return from;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setTo(String to) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.to = to;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getTo() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return to;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setSubject(String subject) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.subject = subject;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getSubject() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return subject;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setText(String text) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.text = text;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getText() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return text;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setHost(String host) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.host = host;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getHost() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return host;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setPort(String port) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.port = port;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getPort() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return port;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setProps(Properties props) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.props = props;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Properties getProps() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return props;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setUsername(String username) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.username = username;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getUsername() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return username;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setPassword(String password) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.password = password;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getPassword() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return password;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;}&lt;br&gt;&lt;/p&gt; &lt;p&gt;****************************************************************************************&lt;/p&gt; &lt;p&gt;Now your custom java code should be referenced by weblogic server,For that,&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Create a jar file containing all your custom java code.  &lt;li&gt;Place the jar file in &amp;lt;OracleMiddlewareHome&amp;gt;/Oracle_SOA1/soa/modules/oracle.soa.ext_11.1.1 directory.  &lt;li&gt;Make sure ANT/bin is set in your classpath.  &lt;li&gt;and just run ant from that directory and eventually it will generate oracle.soa.ext.jar file.  &lt;li&gt;Start the weblogic server.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Now deploy the HelloWorld and caller process and turn helloworld endpoint off from em.&lt;/p&gt; &lt;p&gt;Now when you run CallHelloWorldComposite then definitely it will throw remote fault and parse your fault policy file.&lt;/p&gt; &lt;p&gt;After retrying it will send notification and go to manual intervention for recovery.&lt;/p&gt; &lt;p&gt;You can extend your Error Handling Framework as per your project need.&lt;/p&gt;  &lt;img src="http://feeds.feedburner.com/~r/Shrikworld/~4/uzKLUU9Ojmo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/4526641389237720464/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=342277253848129789&amp;postID=4526641389237720464&amp;isPopup=true" title="9 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/4526641389237720464?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/4526641389237720464?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Shrikworld/~3/uzKLUU9Ojmo/errorhandling-in-soa-11g.html" title="ErrorHandling in SOA 11g" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/__uBBiZbr6Ck/TXIqRD9kaPI/AAAAAAAAANo/8zpgsANaNSE/s72-c/image_thumb.png?imgmax=800" height="72" width="72" /><thr:total>9</thr:total><feedburner:origLink>http://shrikworld.blogspot.com/2011/03/errorhandling-in-soa-11g.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQERX04cCp7ImA9Wx9bE0U.&quot;"><id>tag:blogger.com,1999:blog-342277253848129789.post-8540356831136491027</id><published>2011-02-22T06:50:00.000-08:00</published><updated>2011-02-22T06:51:44.338-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-22T06:51:44.338-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SOA" /><title>Timeout settings in SOA 11g</title><content type="html">&lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;To increase the timeout in BPEL component, we need to remember following rule,&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Segoe UI"&gt;syncMaxWaitTime &amp;lt; BPEL EJB's transaction timeout &amp;lt; Global Transaction Timeout&lt;/font&gt;&lt;/strong&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Segoe UI"&gt;Now,&lt;/font&gt;&lt;/strong&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Segoe UI"&gt;1.How to set Global Transaction Timeout.&lt;/font&gt;&lt;/strong&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Segoe UI"&gt;Go to weblogic console –&amp;gt; domain –&amp;gt;JTA tab.&lt;/font&gt;&lt;/strong&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/__uBBiZbr6Ck/TWPNZ_ZaNzI/AAAAAAAAANA/SUB0gsUDET0/s1600-h/image%5B3%5D.png"&gt;&lt;font size="2" face="Segoe UI"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/__uBBiZbr6Ck/TWPNan5A_jI/AAAAAAAAANE/6iisvMA8-C8/image_thumb%5B1%5D.png?imgmax=800" width="443" height="187"&gt;&lt;/font&gt;&lt;/a&gt; &lt;p&gt;&lt;font face="Segoe UI"&gt;&lt;font size="2"&gt;2.How to set &lt;strong&gt;BPEL EJB's transaction timeout&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Segoe UI"&gt;Go to weblogic console—&amp;gt;deployment—&amp;gt;soa-infra—&amp;gt;ejb&lt;/font&gt;&lt;/strong&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="2" face="Segoe UI"&gt;Change the timeout of all bpel related ejb configuration,&lt;/font&gt;&lt;/strong&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/__uBBiZbr6Ck/TWPNbNCI_9I/AAAAAAAAANI/fTTn4pNdqAA/s1600-h/image%5B8%5D.png"&gt;&lt;font size="2" face="Segoe UI"&gt;&lt;/font&gt;&lt;/a&gt;&amp;nbsp; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/__uBBiZbr6Ck/TWPNbNCI_9I/AAAAAAAAANI/fTTn4pNdqAA/s1600-h/image%5B8%5D.png"&gt;&lt;font size="2" face="Segoe UI"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/__uBBiZbr6Ck/TWPNb8PfdNI/AAAAAAAAANM/qBikkXcEm88/image_thumb%5B4%5D.png?imgmax=800" width="286" height="241"&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;3.How to set syncMaxWaitTime&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;Go to bpel properties from em console,&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/__uBBiZbr6Ck/TWPNcZZCXqI/AAAAAAAAANQ/IUHS8WT4nns/s1600-h/image%5B12%5D.png"&gt;&lt;font size="2" face="Segoe UI"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/__uBBiZbr6Ck/TWPNdC2W0nI/AAAAAAAAANU/VmW0gy_yaik/image_thumb%5B6%5D.png?imgmax=800" width="275" height="260"&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2" face="Segoe UI"&gt;Go to more bpel configuration and in mbean increase the timeout value,&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/__uBBiZbr6Ck/TWPNemhiYfI/AAAAAAAAANY/cs5VW6BM7fE/s1600-h/image%5B16%5D.png"&gt;&lt;font size="2" face="Segoe UI"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/__uBBiZbr6Ck/TWPNfpPGTII/AAAAAAAAANc/BSZs5ejyMUk/image_thumb%5B8%5D.png?imgmax=800" width="408" height="225"&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;img src="http://feeds.feedburner.com/~r/Shrikworld/~4/-3IGSedPnP4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://shrikworld.blogspot.com/feeds/8540356831136491027/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=342277253848129789&amp;postID=8540356831136491027&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/8540356831136491027?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/342277253848129789/posts/default/8540356831136491027?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Shrikworld/~3/-3IGSedPnP4/timeout-settings-in-soa-11g.html" title="Timeout settings in SOA 11g" /><author><name>Shreekanta Roy Chowdhury</name><uri>https://plus.google.com/112824018180145692837</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-BZJv944f-ec/AAAAAAAAAAI/AAAAAAAAB-U/PZ8ZTSuz-S8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/__uBBiZbr6Ck/TWPNan5A_jI/AAAAAAAAANE/6iisvMA8-C8/s72-c/image_thumb%5B1%5D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://shrikworld.blogspot.com/2011/02/timeout-settings-in-soa-11g.html</feedburner:origLink></entry></feed>
