<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' 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'><id>tag:blogger.com,1999:blog-342277253848129789</id><updated>2025-05-29T00:17:06.878-07:00</updated><category term="SOA"/><category term="OEG"/><category term="OSB"/><category term="XSLT"/><category term="BAM"/><category term="Healthcare"/><category term="IDM"/><category term="ADF"/><category term="B2B"/><category term="BPM"/><category term="OHS"/><category term="Weblogic"/><title type='text'>Oracle SOA Tips n Tricks</title><subtitle type='html'>This blog discuss about various approaches and tricks on Oracle SOA &amp;amp; IDM Components</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://shrikworld.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.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'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>35</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-342277253848129789.post-8691521764065003814</id><published>2017-01-02T05:42:00.000-08:00</published><updated>2017-01-02T06:06:15.718-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="OHS"/><title type='text'>SSL Configuration of OHS in front of WLS</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Guys , in recent past I worked with SSL configuration of OHS 11.1.1.9 in front of WLS 10.3.6 with JDK 1.7.Sharing the steps as ready made solution for the flow Client -- HTTPS --&amp;gt; Oracle HTTP Server ( mod_wl_ohs ) -- HTTPS --&amp;gt; WebLogic Managed Server(s). For this POC , I’ve only WLS admin server &amp;amp; OHS standalone installation on Windows.&lt;/p&gt; &lt;p&gt;1. Creation of Keystore for WLS.&lt;/p&gt; &lt;p&gt;Created my own identity &amp;amp; trust store as below , &lt;/p&gt; &lt;p&gt;keytool -genkey -alias selfsignedcert -keyalg RSA -sigalg SHA256withRSA -keypass welcome1 -keystore identity.jks -storepass welcome1 -validity 365&lt;/p&gt; &lt;p&gt;keytool -export -alias selfsignedcert -sigalg SHA256withRSA -file root.cer -keystore identity.jks&lt;br&gt;&amp;nbsp;&lt;br&gt; keytool -import -alias selfsignedcert -sigalg SHA256withRSA -trustcacerts -file root.cer -keystore trust.jks&lt;/p&gt; &lt;p&gt;As a result you’ll get identity.jks &amp;amp; trust.jks keystore created.&lt;/p&gt; &lt;p&gt;2. Configuration of Keystore for WLS&lt;/p&gt; &lt;p&gt;Configure custom identtity &amp;amp; custom trust for WLS , I’m not going through details for this step&lt;/p&gt; &lt;p&gt;Set host name verification none &amp;amp; client cert not requested.&lt;/p&gt; &lt;p&gt;Set WLS Console–&amp;gt; Admin server –&amp;gt; General –&amp;gt;Advanced –&amp;gt; .WebLogic Plug-In Enabled checked.&lt;/p&gt; &lt;p&gt;Set WLS Console –&amp;gt; Domain –&amp;gt; Configuration –&amp;gt; Web Applications –&amp;gt;WebLogic Plugin Enabled checked.&lt;/p&gt; &lt;p&gt;Set WLS Console–&amp;gt; Admin server –&amp;gt;SSL—&amp;gt; Advanced –&amp;gt; Use JSSE SSL checked.&lt;/p&gt; &lt;p&gt;3. That’s all from WLS side , bounce the server &amp;amp; access the SSL port to verify whether WLS console is opening or not.&lt;/p&gt; &lt;p&gt;4. Creation of Wallet for OHS.&lt;/p&gt; &lt;p&gt;Here I’m going to create blank wallet using orapki utility with auto login option &amp;amp; add the WLS certificate from identity.jks.&lt;/p&gt; &lt;p&gt;orapki wallet create -wallet D:\shrik\WT\Oracle_WT1\instances\instance1\OHS\ohs1\wallet -auto_login_only&lt;/p&gt; &lt;p&gt;orapki wallet jks_to_pkcs12 -wallet D:\shrik\WT\Oracle_WT1\instances\instance1\OHS\ohs1\wallet -keystore D:\shrik\IAM\user_projects\domains\test_domain\identity.jks -jkspwd welcome1&lt;/p&gt; &lt;p&gt;orapki wallet display -wallet D:\shrik\WT\Oracle_WT1\instances\instance1\OHS\ohs1\wallet&lt;/p&gt; &lt;p&gt;Change the patch accordingly to reflect your environment.&lt;/p&gt; &lt;p&gt;5. Configuration of ssl.conf for OHS&lt;/p&gt; &lt;p&gt;Under the SSL Virtual Host section change below&lt;/p&gt; &lt;p&gt;#Path to the wallet&lt;br&gt;&amp;nbsp;&amp;nbsp; SSLWallet D:/shrik/WT/Oracle_WT1/instances/instance1/config/OHS/ohs1/keystores/wallet&lt;/p&gt; &lt;p&gt;6.Configuration of mod_wl_ohs.conf&lt;/p&gt; &lt;p&gt;I’m pasting mine here , paths are customized for windows, &lt;/p&gt; &lt;p&gt;# NOTE : This is a template to configure mod_weblogic. &lt;/p&gt; &lt;p&gt;LoadModule weblogic_module&amp;nbsp;&amp;nbsp; D:/shrik/WT/Oracle_WT1/ohs/modules/mod_wl_ohs.so&lt;/p&gt; &lt;p&gt;# This empty block is needed to save mod_wl related configuration from EM to this file when changes are made at the Base Virtual Host Level&lt;br&gt;&amp;lt;IfModule weblogic_module&amp;gt;&lt;br&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WebLogicHost &amp;lt;WEBLOGIC_HOST&amp;gt;&lt;br&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WebLogicPort &amp;lt;WEBLOGIC_PORT&amp;gt;&lt;br&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Debug ON&lt;br&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WLLogFile /tmp/weblogic.log&lt;br&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MatchExpression *.jsp&lt;br&gt;&amp;nbsp;&lt;strong&gt;WebLogicSSLVersion TLSv1.2&lt;br&gt;&lt;/strong&gt;&amp;lt;/IfModule&amp;gt;&lt;/p&gt; &lt;p&gt;# &amp;lt;Location /weblogic&amp;gt;&lt;br&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetHandler weblogic-handler&lt;br&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PathTrim /weblogic&lt;br&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ErrorPage&amp;nbsp; http:/WEBLOGIC_HOME:WEBLOGIC_PORT/&lt;br&gt;#&amp;nbsp; &amp;lt;/Location&amp;gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&amp;lt;Location /console&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetHandler weblogic-handler&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WebLogicHost shroycho-in.in.oracle.com&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WebLogicPort 7112&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Debug ALL&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WLLogFile D:/shrik/WT/Oracle_WT1/instances/instance1/OHS/ohs1/wllog.txt&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DebugConfigInfo ON&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WLProxySSL ON&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SecureProxy ON&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Idempotent ON&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WlSSLWallet D:/shrik/WT/Oracle_WT1/instances/instance1/config/OHS/ohs1/keystores/wallet&lt;br&gt;&amp;lt;/Location&amp;gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Highligted the lines to be added to access WLS console over SSL port via OHS.&lt;/p&gt; &lt;p&gt;7. Thast’s all for OHS , start the instance and try to access first OHS SSL port . Then append /console and see whether it’s redirecting to WLS SSL enabled console or not.&lt;/p&gt; &lt;p&gt;For any issue you can check the wllog.txt file.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://shrikworld.blogspot.com/feeds/8691521764065003814/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/342277253848129789/8691521764065003814?isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/8691521764065003814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/8691521764065003814'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/2017/01/ssl-configuration-of-ohs-in-front-of-wls.html' title='SSL Configuration of OHS in front of WLS'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342277253848129789.post-6804229353553604068</id><published>2015-10-04T04:41:00.000-07:00</published><updated>2015-10-04T04:42:37.191-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="IDM"/><title type='text'>Configuring OAM WebGate On OHS 12c</title><content type='html'>&lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;In last blog I discussed on installation of IDM 11.1.2.3.0 &lt;/font&gt;&lt;a title=&quot;http://shrikworld.blogspot.in/2015/10/install-idm-111230-on-windows.html&quot; href=&quot;http://shrikworld.blogspot.in/2015/10/install-idm-111230-on-windows.html&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;http://shrikworld.blogspot.in/2015/10/install-idm-111230-on-windows.html&lt;/font&gt;&lt;/a&gt;&lt;font face=&quot;Courier New&quot;&gt;. Today I’ll go through the steps of configuring WebGate on OHS 12c .&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;Before get started find the certification matrix and glance through , &lt;/font&gt;&lt;a title=&quot;https://www.google.co.in/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0CBwQFjAAahUKEwiso8ys0qjIAhWHj44KHU7rC10&amp;amp;url=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fmiddleware%2Fid-mgmt%2Fdocumentation%2Fidentity-access-111230certmatrix-2539086.xlsx&amp;amp;usg=AFQjCNFZeqnxjd92TXI3GCZJ3ib8Zh40Hg&amp;amp;sig2=02zhQRh1Zt7oJIAR1R1mVw&amp;amp;bvm=bv.104317490,d.c2E&quot; href=&quot;https://www.google.co.in/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0CBwQFjAAahUKEwiso8ys0qjIAhWHj44KHU7rC10&amp;amp;url=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fmiddleware%2Fid-mgmt%2Fdocumentation%2Fidentity-access-111230certmatrix-2539086.xlsx&amp;amp;usg=AFQjCNFZeqnxjd92TXI3GCZJ3ib8Zh40Hg&amp;amp;sig2=02zhQRh1Zt7oJIAR1R1mVw&amp;amp;bvm=bv.104317490,d.c2E&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;https://www.google.co.in/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0CBwQFjAAahUKEwiso8ys0qjIAhWHj44KHU7rC10&amp;amp;url=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fmiddleware%2Fid-mgmt%2Fdocumentation%2Fidentity-access-111230certmatrix-2539086.xlsx&amp;amp;usg=AFQjCNFZeqnxjd92TXI3GCZJ3ib8Zh40Hg&amp;amp;sig2=02zhQRh1Zt7oJIAR1R1mVw&amp;amp;bvm=bv.104317490,d.c2E&lt;/font&gt;&lt;/a&gt;&lt;font face=&quot;Courier New&quot;&gt;.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;You need to download only Oracle HTTP Server 12.1.3 from &lt;/font&gt;&lt;a title=&quot;http://www.oracle.com/technetwork/middleware/webtier/downloads/index-jsp-156711.html&quot; href=&quot;http://www.oracle.com/technetwork/middleware/webtier/downloads/index-jsp-156711.html&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;http://www.oracle.com/technetwork/middleware/webtier/downloads/index-jsp-156711.html&lt;/font&gt;&lt;/a&gt;&lt;font face=&quot;Courier New&quot;&gt; location, NO separate WebGate installation is required as it get install along with web server.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;Create a new Webtier middleware home.While installing Oracle HTTP server you need to choose one of the below 2 options, &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;1. Colocated HTTP Server (Managed through WebLogic server) : here Weblogic server with EMconsole extension will be installed, you can manage OHS instances from EM.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;2. Standalone HTTP Server (Managed independently of WebLogic server) : Here only OHS instance and node manager will be installed.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;Second options is preferred as it has less memory footprint.Once installation is done go to ORACLE_HOME\oracle_common\common\bin and start config.cmd to configure domain.select Oracle HTTP Server (Standalone) - 12.1.2.0 [ohs] and on configure node manager screen give credentials. Rest are default and complete the installation of OHS.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;In my case ORACLE_HOME is C:\shrik\Apps\IDM\WebTier , to start the OHS go to C:\shrik\Apps\IDM\WebTier\user_projects\domains\wt_domain\bin and run startNodeManager.cmd.Then in separate command prompt run startComponent.cmd like startComponent ohs1 , it will prompt for nodemanager passsword like below, &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUhqPRTNeGWpguiheD-csrMJYqtGDykv-mSUskHVHcM8rJVbJuo_QmWJdy8H-U3EwN3v3m4j8MKCWP4_Bbepvn_pA-ke_9ypDN3x7Hv_bWc0nPy4rQrPB1GLbZxMY3-lj1pMK6Y-CNe7mw/s1600-h/image%25255B3%25255D.png&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPp9Dm7Z9vEE2M7TpXGv7EG1JXVaNV1GOy0InajC0oNamPuSPKGXBviNZPG6Gfo2va2v6oH7WWIRy96ttfCOoszk7arzNa-ANTklyjO3MWCrmOjiqtqkuip6SsQPXEfMVkIqE4H7cnwYIF/?imgmax=800&quot; width=&quot;585&quot; height=&quot;251&quot;&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;Once done type &lt;/font&gt;&lt;a title=&quot;http://localhost:7777/&quot; href=&quot;http://localhost:7777/&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;http://localhost:7777/&lt;/font&gt;&lt;/a&gt;&lt;font face=&quot;Courier New&quot;&gt; and you should see OHS landing page.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;As I mentioned earlier WebGate comes with OHS12c module and to configure the same follow &lt;/font&gt;&lt;a title=&quot;http://docs.oracle.com/middleware/1212/webtier/WTINS/webgate.htm#WTINS1003&quot; href=&quot;http://docs.oracle.com/middleware/1212/webtier/WTINS/webgate.htm#WTINS1003&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;http://docs.oracle.com/middleware/1212/webtier/WTINS/webgate.htm#WTINS1003&lt;/font&gt;&lt;/a&gt;&lt;font face=&quot;Courier New&quot;&gt;. But I’m highlighting the commands for convenience.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;To deploy WegGate, &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;deployWebGateInstance -w C:\shrik\Apps\IDM\WebTier\user_projects\domains\wt_domain\config\fmwconfig\components\OHS\ohs1 -oh C:\shrik\Apps\IDM\WebTier &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;Set the environment like set PATH=%PATH%;C:\shrik\Apps\IDM\WebTier\webgate\ohs\lib;C:\shrik\Apps\IDM\WebTier\bin&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;Run the EditHttpConf command by EditHttpConf -w C:\shrik\Apps\IDM\WebTier\user_projects\domains\wt_domain\config\fmwconfig\components\OHS\ohs1&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;Then the next step is WebGate registration ,to do that go to C:\shrik\Apps\IDM\middleware\iam_home\oam\server\rreg directory of IDM home.We’ll going to do in-band registration, under input folder you’ll get OAM11GRequest.xml template file . &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;Open the same and edit accordingly, like in my case&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpprj-4nwryuN55LSbwVKgTV1FjJbPE1Oemeaa5TlJX3MfvKvAV28jhjQocOEYUY1kzHyWnr8_8BBRfWJfZ-YnyWGWSG5CoaRGxDqyPBgX75vCJRetXtLVri_ozF2MRf7FHg3ksbh1fu6t/s1600-h/image%25255B11%25255D.png&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyel3CUqGz_qZ40LqFShGvqfVjb3Vu4i0HpBo4bHr38FtEN9jLPrCmMIu7tAZvWl-wTNDyQSrqLGRu5G69xu2nWMuQEJhCWrieAjbJ12nbXLeZ-QhpgIy5oFX7o8L2yrXOjCUSDpDuguko/?imgmax=800&quot; width=&quot;602&quot; height=&quot;462&quot;&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;Then from RREG directory run \bin\oamreg.bat inband input\OAM11GRequest.xml .&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUkDKHale5YubIZYsav1Z5nyMnG8wHlx2AXzdmBuvd8_S54x0VTVSwTF9IEEs1zFl_qaJ3db7dlBI4joKL2iFyep3wzf0I_nCSpyA8Bk8BYRLbrha30gC1llJSrFHxG5hAQQDPgdcymuWc/s1600-h/image%25255B20%25255D.png&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjETCOzd6a7vcruHQZdotOGHSBFOIPpyXzpQsxo-XJAcmprfnSrAKyq-_5gjsAynBK_FDJiznQddZqZB0BJZkwpQOXaDZyA8IvLN4Qh62l8oqlqIZTN6dDDbNhbDf2txmpsZJBp5r7Hz3hR/?imgmax=800&quot; width=&quot;1051&quot; height=&quot;288&quot;&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;Now go to the output folder RREG_OAM11G directory and copy cwallet.sso &amp;amp; ObAccessClient.xml files to C:\shrik\Apps\IDM\WebTier\user_projects\domains\wt_domain\config\fmwconfig\components\OHS\ohs1\webgate\config directory of webtier home.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;Restart the ohs component and try to access &lt;/font&gt;&lt;a title=&quot;http://localhost:7777/&quot; href=&quot;http://localhost:7777/&quot;&gt;&lt;font face=&quot;Courier New&quot;&gt;http://localhost:7777/&lt;/font&gt;&lt;/a&gt;&lt;font face=&quot;Courier New&quot;&gt;&amp;nbsp; , you will be redirected to OAM SSO login page.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;You can verify the agent details from OAM console as well.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;/font&gt;&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://shrikworld.blogspot.com/feeds/6804229353553604068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/342277253848129789/6804229353553604068?isPopup=true' title='95 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/6804229353553604068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/6804229353553604068'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/2015/10/configuring-oam-webgate-on-ohs-12c.html' title='Configuring OAM WebGate On OHS 12c'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPp9Dm7Z9vEE2M7TpXGv7EG1JXVaNV1GOy0InajC0oNamPuSPKGXBviNZPG6Gfo2va2v6oH7WWIRy96ttfCOoszk7arzNa-ANTklyjO3MWCrmOjiqtqkuip6SsQPXEfMVkIqE4H7cnwYIF/s72-c?imgmax=800" height="72" width="72"/><thr:total>95</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342277253848129789.post-570412372057312140</id><published>2015-10-03T03:01:00.000-07:00</published><updated>2015-10-03T03:00:33.647-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="IDM"/><title type='text'>Install IDM 11.1.2.3.0 on Windows</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Hello friends , today I will discuss on installing Identity Management Suite on windows 8.1 or 10 laptop , this is only for development and own RnD purpose or if you want to&amp;nbsp; show some quick demo to client , might be useful. 8GB memory is must to get started else I wouldn’t recommend you to go ahead. So guys , here are high level steps..&lt;/p&gt; &lt;p&gt;&lt;u&gt;&lt;strong&gt;1. Get Installers&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt; &lt;p&gt;You can get the latest IDM suite 11.1.2.3.0 from &lt;a title=&quot;http://www.oracle.com/technetwork/middleware/id-mgmt/downloads/oid-11gr2-2104316.html&quot; href=&quot;http://www.oracle.com/technetwork/middleware/id-mgmt/downloads/oid-11gr2-2104316.html&quot;&gt;http://www.oracle.com/technetwork/middleware/id-mgmt/downloads/oid-11gr2-2104316.html&lt;/a&gt;. Download Oracle Identity and Access Management 11&lt;em&gt;g&lt;/em&gt; (11.1.2.3.0) &amp;amp; Oracle Fusion Middleware Repository Creation Utility 11&lt;em&gt;g&lt;/em&gt; (11.1.1.9.0). For database download latest one 12c R1 from &lt;a href=&quot;http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html&quot;&gt;http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html&lt;/a&gt;. Download JDK 7 (64 bit) from &lt;a title=&quot;http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html&quot; href=&quot;http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html&quot;&gt;http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html&lt;/a&gt;. Download generic Weblogic 10.3.6 from &lt;a title=&quot;http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-main-097127.html&quot; href=&quot;http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-main-097127.html&quot;&gt;http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-main-097127.html&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;2. Configuring Database&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Install DB12R1 , don’t select container option and make sure AL32UTF8 character set selected, Once done we need to tune couple of parameters to run the same on low memory footprint. &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Enable Oracle Database XA&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;Connect with sys and run @$ORACLE_HOME/javavm/install/initxa.sql &amp;amp; $ORACLE_HOME/rdbms/admin/xaview.sql.&amp;nbsp; This will prevent “XATRANS Views are not installed on this Database. This is required by the OIM Schema” error while running the RCU.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;Tune memory &lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;Run below commands , obviously values are of your choice though change in sga size and pga_aggregate_target is NOT mandatory.&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;alter system set sga_size=900M scope=spfile;&lt;br&gt;alter system set pga_aggregate_target=180M scope=spfile;&lt;br&gt;alter system set shared_pool_size=150M;&lt;br&gt;alter system set OPEN_CURSORS=900;&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;Alternatively you can run CREATE PFILE=&#39;C:\shrik\Apps\DB\product\12.1.0\dbhome_1\NETWORK\ADMIN\pfile.ora&#39; FROM SPFILE;&amp;nbsp; Give your location and then edit the pfile and run create SPFILE from PFILE=&#39;C:\shrik\Apps\DB\product\12.1.0\dbhome_1\NETWORK\ADMIN\pfile.ora&#39;;&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;Below are the requirements basically, &lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;show parameters PROCESSES (should be more 300)&lt;br&gt;show parameters NLS_LENGTH_SEMANTICS&amp;nbsp; (should be BYTE)&lt;br&gt;show parameters SHARED_POOL_SIZE (should be more 147456KB)&lt;br&gt;show parameters SGA_MAX_SIZE (should be more 147456KB)&lt;br&gt;show parameters DB_BLOCK_SIZE (is greater than or equal to 8KB)&lt;br&gt;show parameters OPEN_CURSORS (should be more 800)&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;3. Install Java&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;install JDK , you can skip JRE installation.’&#39;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;4.Install Weblogic&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;While installing weblogic create a new middleware home. Select installation type custom and de-select coherence and evaluation database.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;5.Install IAM&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Select the same middleware home you created earlier and complete the installation.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;6.Create a new Domain&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Create a OAM or IDM domain by selecting config.cmd from&amp;nbsp; &amp;lt;Middleware_Home&amp;gt;\oracle_common\common\bin directory. After completion of the same go to setDomainEnv.cmd fle of your domain.&lt;/p&gt; &lt;p&gt;At first line you should see set COMMON_COMPONENTS_HOME=C:\shrik\Apps\IDM\middleware\oracle_common , note down the path.&lt;/p&gt; &lt;p&gt;Search for set JAVA_OPTIONS=%JAVA_OPTIONS% and change/add to&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set JAVA_OPTIONS=%JAVA_OPTIONS% &lt;strong&gt;-DDISABLE_CONFIG_ENTITY=true&lt;/strong&gt; like below, &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnsfESt-ygskqXdYhAGFztk6YeYdQcLUStBKBDpL78DtCpnio6n10g-rRiaGYKP5QvKSsdXKNd31DXSM0pCGBM0LLinCK7CPt0C-oydsziNX73ZBC5eUlqEv1pDJe-bKwXkVTma95gbuoD/s1600-h/image%25255B3%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDS_KEgLQYd5B3KASMpZPZ6f3-z6Ip9AKC4o21RieVblE_DZC8obr5iJr9buupDCD1bD81Z1lnpRX49-_8ANh0HQWjcd8JRWzOQY7VFj4kPYtI_zrTwqg3JszpODb4RKO7USuIk80nArFT/?imgmax=800&quot; width=&quot;500&quot; height=&quot;186&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;7.Create DB Security store for the Domain&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;This step is important , go to C:/shrik/Apps/IDM/middleware/iam_home/common/tools/configureSecurityStore.py change the directory accordingly, and edit the file configureSecurityStore.py.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Locate the line rcu_common_path = os.path.abspath(os.path.join(os.environ[&quot;COMMON_COMPONENTS_HOME&quot;],&quot;jlib&quot;,&quot;rcucommon.jar&quot;)). Replace the same with&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rcu_common_path = os.path.abspath(os.path.join(&quot;C:/shrik/Apps/IDM/middleware/oracle_common&quot;,&quot;jlib&quot;,&quot;rcucommon.jar&quot;))&lt;/p&gt; &lt;p&gt;Here we are replacing COMMON_COMPONENTS_HOME mentioned in setDomainEnv.cmd file with value, this step require for Windows 8.1 or 10, else you will get below error while running configureSecurityStore.py.&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;1&quot;&gt;Failed to get environment, environ will be empty: (0, &#39;Failed to execute command ([\&#39;sh\&#39;, \&#39;-c\&#39;, \&#39;env\&#39;]): java.io.IOException: Cannot run program &quot;sh&quot;: CreateProcess error=2, The system cannot find the file specified&#39;)&lt;br&gt;Problem invoking WLST - Traceback (innermost last):&lt;br&gt;&amp;nbsp; File &quot;C:\shrik\Apps\IDM\middleware\iam_home\common\tools\configureSecurityStore.py&quot;, line 42, in ?&lt;br&gt;&amp;nbsp; File &quot;C:\shrik\Apps\IDM\MIDDLE~1\wls_home\common\wlst\modules\jython-modules.jar\Lib/javaos$py.class&quot;, line 256, in __getitem__&lt;br&gt;&amp;nbsp; File &quot;C:\shrik\Apps\IDM\MIDDLE~1\wls_home\common\wlst\modules\jython-modules.jar\Lib/UserDict$py.class&quot;, line 14, in __getitem__&lt;br&gt;&amp;nbsp; File &quot;C:\shrik\Apps\IDM\MIDDLE~1\wls_home\common\wlst\modules\jython-modules.jar\Lib/javaos$py.class&quot;, line 256, in __getitem__&lt;br&gt;&amp;nbsp; File &quot;C:\shrik\Apps\IDM\MIDDLE~1\wls_home\common\wlst\modules\jython-modules.jar\Lib/UserDict$py.class&quot;, line 14, in __getitem__&lt;br&gt;KeyError: COMMON_COMPONENTS_HOME&lt;/font&gt;&lt;/p&gt; &lt;p&gt;Then go to C:\shrik\Apps\IDM\middleware\oracle_common\common\bin directory and run&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wlst C:/shrik/Apps/IDM/middleware/iam_home/common/tools/configureSecurityStore.py -v -d C:/shrik/Apps/IDM/middleware/user_projects/domains/oam_domain -c IAM -m create -p welcome1 &lt;/p&gt; &lt;p&gt;Change the directory accordingly and the output of that should be successful, you can validate the same by&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wlst C:/shrik/Apps/IDM/middleware/iam_home/common/tools/configureSecurityStore.py -v -d C:/shrik/Apps/IDM/middleware/user_projects/domains/oam_domain -m validate&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;If you still get the above error , compile and run below java file in your windows system , &lt;/p&gt; &lt;p&gt;public class OpertingSystemInfo &lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main(String[] args)&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; // The key for getting operating system name&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String name = &quot;os.name&quot;;&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; // The key for getting operating system version&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String version = &quot;os.version&quot;;&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; // The key for getting operating system architecture&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String architecture = &quot;os.arch&quot;;&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(&quot;Name: &quot; + System.getProperty(name));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&quot;Version: &quot; + System.getProperty(version));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&quot;Architecture: &quot; + System.getProperty(architecture));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;}&lt;/p&gt; &lt;p&gt;Note the output of os.name and go to C:\shrik\Apps\IDM\middleware\wls_home\common\wlst\modules directory.&lt;/p&gt; &lt;p&gt;Open the jython-modules.jar in 7 Zip and locate javashell.py file within that.&lt;/p&gt; &lt;p&gt;Search for and edit os.name accordingly (in my case I added Windows 8.1 manually)&lt;/p&gt; &lt;p&gt;_osTypeMap = (&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ( &quot;nt&quot;, ( &#39;nt&#39;, &#39;Windows NT&#39;, &#39;Windows NT 4.0&#39;, &#39;WindowsNT&#39;,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &#39;Windows 2000&#39;, &#39;Windows 2003&#39;, &#39;Windows XP&#39;, &#39;Windows CE&#39;,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &#39;Windows Vista&#39;, &#39;Windows Server 2008&#39;, &#39;Windows 7&#39;, &lt;strong&gt;&#39;Windows 8.1&#39;&lt;/strong&gt; )),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ( &quot;dos&quot;, ( &#39;dos&#39;, &#39;Windows 95&#39;, &#39;Windows 98&#39;, &#39;Windows ME&#39; )),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ( &quot;mac&quot;, ( &#39;mac&#39;, &#39;MacOS&#39;, &#39;Darwin&#39; )),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ( &quot;None&quot;, ( &#39;None&#39;, )),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/p&gt; &lt;p&gt;Save and update the Jar and try to run configureSecurityStore.py again.&lt;br&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;8. Start WLS&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Start the weblogic server and oam_server1 &amp;amp; oam_policy_mgr1 managed server.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiew-im4SVX3C_z8U-Q2FWdnFQ4DdkOT9ivJPWL2PYUPI79oyBBQLSuhvJ-ob6spIBIPqK92lbJ4H1T8bXOaF0AvW0cn83PMVIYQhxqz5siWpivqPE2jYI-u9Dx4cbBKW9K30x3Yy2h-Bpc/s1600-h/image%25255B9%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoRJ2xkkCJ1yKIs9UAYEqTuTBCjJyEiRIEeCXATy33rH3Gq7cYLDN33BS566WWQBOieRU0LXh1rClSzgBCdgPtWOTldhmunMBTUXFV1C3eLwrvfObMiJcFfrZcbUqDgxPRYdL4CR8t6KFe/?imgmax=800&quot; width=&quot;1001&quot; height=&quot;306&quot;&gt;&lt;/a&gt;Now you should able to access OAM console , &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqBPldrlLGNwWR4pSbEHZi7ZwUIxERbIY_FnoUJ-_vkkJWWjRGl1w6Rc8bMzVDnsCx60rC8VSV3kDx1aNYFu1G3oUnBXFMgLZ54MQhfxOC2FqMe9CRovX5AsPuRd3lyw4jVyA8ghlWnZ-z/s1600-h/image%25255B13%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisywqF-uZUwm0hzM2AUZsMOLcAdfhgtolHbpuvAuxV-V1-aA1R5i1kpVEovvBV62-daKN5dC8PzG07hZIiUExhJeSAxJede1fFijcG3qyiakZHoeBPO5QDgeMEwd2anffRLNYoIDunYqhM/?imgmax=800&quot; width=&quot;569&quot; height=&quot;447&quot;&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Hope this help you installing IDM at local laptop.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://shrikworld.blogspot.com/feeds/570412372057312140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/342277253848129789/570412372057312140?isPopup=true' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/570412372057312140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/570412372057312140'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/2015/10/install-idm-111230-on-windows.html' title='Install IDM 11.1.2.3.0 on Windows'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDS_KEgLQYd5B3KASMpZPZ6f3-z6Ip9AKC4o21RieVblE_DZC8obr5iJr9buupDCD1bD81Z1lnpRX49-_8ANh0HQWjcd8JRWzOQY7VFj4kPYtI_zrTwqg3JszpODb4RKO7USuIk80nArFT/s72-c?imgmax=800" height="72" width="72"/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342277253848129789.post-4855934971286470779</id><published>2014-11-23T06:57:00.000-08:00</published><updated>2014-11-23T06:59:52.121-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SOA"/><title type='text'>Demystifying Oracle Socket Adapter</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Spent some time today to understand how socket adapter works , how to test composite as it can’t be done from EM for inbound socket adapter. Lets assume the below use case, we have fixed length separated file , say Employee Details coming in source over some TCP port say 12112. SOA composite will bind the incoming file using NXSD and accept the stream data , then it will perform certain operation and return ACK to same socket port with some predefined code. Below are the detailed implementation steps,&lt;/p&gt; &lt;p&gt;1. At first create a new socket adapter outbound connection pool from weblogic console.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCf2PJEJ18QeePI-bEuotwiL1JlXQGC7H2ikmfKFbkJfIyL-oLXZIz3zbsht5BDOAScO8kd3r1c-u3BcAoekSPvpDWCzp6no5l84nwW1jnHJn2Hngd_XPFi7OXb3_s_S2SJrd6kXslFQwh/s1600-h/image%25255B4%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSBvu0m4MCWzch9nAjW9Is9x3JarXvbYUu8n3jaMO2mfTqypkLokoEFmuc8KVAHzFjKNtZrolzuF1TKV2xdCmHekXFqH4KeNplOVD6pkahmzgjG-92s1cnqxzMG35ttk0Bt4S7nCeVs2kl/?imgmax=800&quot; width=&quot;701&quot; height=&quot;309&quot;&gt;&lt;/a&gt;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijaMzupf_exQvFN2-5tfGIzH3cXhIW-GaHBhdsO8IasS_BXt0OmBT-YIjCtEFk3GaO_49X5Yz-eLe_AjNmt1Cj4yKlp5BKo9qmHBoUlrGPUPWL2Vv3O5E-ND4MxzwEG0QwLsIglQR2FBCr/s1600-h/image%25255B10%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqPi9wClwXzFio2EQ3DZqX_gIGJyar96DFfuDjPVK4_Gt58-xuht0SNZE9hqe7Yf-zDJ3fppf9oqexACzPdHJM2HNFtR3YR1jJf8VtZ61uGMy1kmGHaBTGVuJNbLHlLdZsr4JiQ5qj_h9t/?imgmax=800&quot; width=&quot;713&quot; height=&quot;278&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Give the port no which should be free in your system, to check at your windows PC you can issue netstat -an | find &quot;12112&quot;&amp;nbsp; from command-prompt, else you can download TCPView from &lt;a title=&quot;http://technet.microsoft.com/en-in/sysinternals/bb897437.aspx&quot; href=&quot;http://technet.microsoft.com/en-in/sysinternals/bb897437.aspx&quot;&gt;http://technet.microsoft.com/en-in/sysinternals/bb897437.aspx&lt;/a&gt;, it has good gui.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9Exrp-A3oBy8L5_9M7ldvVqzfgK6_I7h3GQ47psX4u5a5OWLIV6zbSQNgwlmfYKdHxbwkni46cRuvYmoLpzWVHOdUikR-Im_El0-Pssy7MOOgxCf6F-lVWX86ks_NfwZuFTiQQnF0rLnU/s1600-h/image%25255B32%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-DXDIxI2-fPJHjNhP_pBQ51oZFEUctTYI-ydjMeLdl08_nfXxatg-MuK52WjyDI_ZNqVkl9kxM3X1zIIMLI-nPDMIjTnJd55-fKicNfFrW9scDttzIZUpaAQpYPIa3rQqNcL-mG82_vYC/?imgmax=800&quot; width=&quot;634&quot; height=&quot;357&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;By default KeepAlive property is set as false, you can change the same to true for better performance.&lt;/p&gt; &lt;p&gt;2. Next create a emp.dat file like below , &lt;/p&gt; &lt;p&gt;fn111111ln111111232007-01-01100&lt;br&gt;fn211111ln211111232007-11-01200&lt;br&gt;fn311111ln311111232007-12-01300 &lt;p&gt;And a fixed length NXSD file to read the same, &lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&amp;gt;&lt;br&gt;&amp;lt;xsd:schema xmlns:xsd=&quot;&lt;/font&gt;&lt;a href=&quot;http://www.w3.org/2001/XMLSchema&amp;quot;&quot;&gt;&lt;font size=&quot;2&quot;&gt;http://www.w3.org/2001/XMLSchema&quot;&lt;/font&gt;&lt;/a&gt;&lt;br&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:nxsd=&quot;&lt;/font&gt;&lt;a href=&quot;http://xmlns.oracle.com/pcbpel/nxsd&amp;quot;&quot;&gt;&lt;font size=&quot;2&quot;&gt;http://xmlns.oracle.com/pcbpel/nxsd&quot;&lt;/font&gt;&lt;/a&gt;&lt;br&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:tns=&quot;&lt;/font&gt;&lt;a href=&quot;http://shrikworld.blogspot.in/ReadEmpDetails&amp;quot;&quot;&gt;&lt;font size=&quot;2&quot;&gt;http://shrikworld.blogspot.in/ReadEmpDetails&quot;&lt;/font&gt;&lt;/a&gt;&lt;br&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; targetNamespace=&quot;&lt;/font&gt;&lt;a href=&quot;http://shrikworld.blogspot.in/ReadEmpDetails&amp;quot;&quot;&gt;&lt;font size=&quot;2&quot;&gt;http://shrikworld.blogspot.in/ReadEmpDetails&quot;&lt;/font&gt;&lt;/a&gt;&lt;br&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elementFormDefault=&quot;qualified&quot; attributeFormDefault=&quot;unqualified&quot;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nxsd:version=&quot;NXSD&quot; nxsd:stream=&quot;chars&quot; nxsd:encoding=&quot;US-ASCII&quot;&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;xsd:element name=&quot;EmpDetails&quot;&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=&quot;Emp&quot; minOccurs=&quot;1&quot; maxOccurs=&quot;unbounded&quot; nxsd:style=&quot;array&quot; nxsd:cellSeparatedBy=&quot;${eol}&quot;&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=&quot;FirstName&quot; type=&quot;xsd:string&quot; nxsd:style=&quot;fixedLength&quot; nxsd:length=&quot;8&quot;/&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=&quot;LastName&quot; type=&quot;xsd:string&quot; nxsd:style=&quot;fixedLength&quot; nxsd:length=&quot;8&quot;/&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=&quot;Age&quot; type=&quot;xsd:int&quot; nxsd:style=&quot;fixedLength&quot; nxsd:length=&quot;2&quot;/&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=&quot;DOB&quot; type=&quot;xsd:string&quot; nxsd:style=&quot;fixedLength&quot; nxsd:length=&quot;10&quot;/&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=&quot;Salary&quot; type=&quot;xsd:int&quot; nxsd:style=&quot;fixedLength&quot; nxsd:length=&quot;3&quot;/&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;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;/font&gt; &lt;p&gt;Create another XSD file for sync response to socket request, &lt;p&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&amp;gt;&lt;br&gt;&amp;lt;xsd:schema xmlns:xsd=&quot;&lt;a href=&quot;http://www.w3.org/2001/XMLSchema&amp;quot;&quot;&gt;http://www.w3.org/2001/XMLSchema&quot;&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=&quot;&lt;a href=&quot;http://shrikworld.blogspot.in/response&amp;quot;&quot;&gt;http://shrikworld.blogspot.in/response&quot;&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=&quot;&lt;a href=&quot;http://shrikworld.blogspot.in/response&amp;quot;&quot;&gt;http://shrikworld.blogspot.in/response&quot;&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=&quot;qualified&quot;&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;xsd:element name=&quot;Response&quot;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:annotation&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:documentation&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A sample element&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:documentation&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsd:annotation&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=&quot;Code&quot; type=&quot;xsd:string&quot;/&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;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;p&gt;3. Now create a empty composite and drag-drop an inbound socket adapter, select Inbound Sync Req/Response from operation , &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikBiU6qNVITU2u4lTtDbjGR7BZ5TUWIenTWLnL5aRbrYcz3dx6k6H4Fmd10BO3k2946PVJ-iT-5f7YXSqC8FuYUMIJuaJri7ToorQ4YDElCFXywaj50OlSzDb4iF4ooSKatVMwaJdYie3Z/s1600-h/image%25255B19%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_XNihhqR2NH41y0r3lrJguZjEHIx63DBosSkewW74l1lgqbNSNzYPN0_1lUp2L3m6m9a67iBZpRvssrgnx8JONINAB75QaeLEq4G_06ecf893WXtJFugzRig7huWMyKispTukUGCKi6N2/?imgmax=800&quot; width=&quot;376&quot; height=&quot;320&quot;&gt;&lt;/a&gt;  &lt;p&gt;Select the JNDI you created earlier at step#1. &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdFOY8bsjizTSLNPbPCw936BQWAgfeIu_uNuuwekKtDKtQSmhta642FhaJCbVg-IW5_02dhReTgwB-6kODGYLbRx3XsCAIx8qBVtSiEbzM2-XrjUSeZdA23q2dKTbsv3NYPVCGGjH3_3Th/s1600-h/image%25255B20%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHhux6ChW2fFua1c0CoaiEC0ZwJ-Jcx0865Gh6B9xfX465Y286gfXZsKEOFarta2tABOm5AF_O5yS-4IEPHs5DqBfC7sXUnOPmaw_XYrGrY2Www0hltp6fYKPRX810ixg5QmIxPf7NGSMN/?imgmax=800&quot; width=&quot;392&quot; height=&quot;332&quot;&gt;&lt;/a&gt;  &lt;p&gt;Select request and response XSD that you created step#2, &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8Hf3xrq4DKVNvUCO4Ru63QBl_xvj946hWrZ-8lb6sgoNZNbGu4h0HekdpNhyjE2aOIBCnRe07Hu6v6yp7lhdNyvJqNM18kYUGUL25ZyGbAYyIe7j54w44LM9BFuakb3JYYjfSP4BFGDPR/s1600-h/image%25255B24%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNDTlPF3N7elvznywkqEc_LhUQJFzx5sCSOyd4rvEFXI99n41Sn84-95TNkhbEP2mDDJqhlnFoef1eDqGr_qRWT_5d47jI-VcHsN8TfAv6n3hmYvOJ-7ncmuKaXZnDiMBOSYxf9uDLSWEZ/?imgmax=800&quot; width=&quot;416&quot; height=&quot;352&quot;&gt;&lt;/a&gt;  &lt;p&gt;Create request/response XSL for handshake like below and finish. &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj21MXjsZMlhnBYAyyr3O3DtG9yBs6Njb2J8FYwn_eBbfMr7qOMxwM_2wsBlsQ1-sM_ZGz0DccsjKQWzPxRsSIPp5mPEr7jsWKGYPAzyb6yvN9LDuq5pk_SEVZHQssqFVzRc_fx_whiyZ9Z/s1600-h/image%25255B28%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXB9gb1vN6FUzFifwozgZVireN25sSB0FzZRLiUbwXZjGX-o9K37OFySkmzBuu61krI9dixDLxG-hHiUU-n9V1hLA2D_pf59CxlAIgIt-2AGujFsgvlqxtIDJ-IIAM24IWYtgvVC_Mc5iq/?imgmax=800&quot; width=&quot;440&quot; height=&quot;368&quot;&gt;&lt;/a&gt;  &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;Now create a outbound file adapter to write the input data in the file.Drag and drop a BPEL component defining interface later.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAZCB_WDOQt0if4XUqepQeoBWOaQ1oE0bg0-rxhXZhgWDKepVp_9lbDi7hJ_3LLxmDk07nCVoDnI44lXecsOcs5G-DQPVT1dRcs7P8zYRG23KY7vHpS7lJiWsyN7OqtfhE44ELc8wFL-tQ/s1600-h/image%25255B37%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLenZgvAFE2rap2wXQzgl0Gddfi08ohCabNaK7CJb91QJ4iTjMqfb9NCkJSECp6S7WFF_HoeJCwUhvsRI01juUsuuJ4XJHhlyvRcrBz0lpbugWU2j8Rl1eOdwZfy6axCQc-exdEU-EVFQ0/?imgmax=800&quot; width=&quot;575&quot; height=&quot;180&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Now go to the BPEL process and design like below,&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKm436VpL25JAqVy1T9akoHe6wjAhDApXch0djbvO1YcJ_YHT2MbYMd81qQ0ICPEodq9VMqyMN2PzfrwlFk6JKhpYW4otT_vlnXqTgaGNp9XUaK65P_NrYMadaE7Wl7m59Rn_AfeC8bwFh/s1600-h/image%25255B41%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmtZ5uoQL96dRm5i2UeFEuvBQq2J0HMx09U4GZKPuMPwABcg_m7EontY7tN016lVt5ruLMZUdkIU0GbCODMlwjzyv3XnRHaM8DXXDFb4yN8YCEHjBPQboRHH7pQRdyCc55R2GtuTO_ydr5/?imgmax=800&quot; width=&quot;712&quot; height=&quot;389&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;It’s just any other BPEL process, screenshot of different activity,&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSk-d0alNdyPhmwGrCkMYkfEZnk3TyiCsxd3jmbox63xalofl7ESb1Gi_WKpeBTydGZNy4WP6odp-IV9UZAGY3KoDdjYT7OMRpyb8HiUyCq-m__ldyO72iAGhAomu6udZQp1rzna4q-iJZ/s1600-h/image%25255B52%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwoDo3AU5JFSZPM_TRNt1oNt3kdWjv6wOZAXbAtKYfL0ctQ988KmZLr06cR0G-2LfLqEJXnk77pfXIPkemcoG7VeaXWa0sbFuVPCt7BRTicbk46TFsKrs8jBdrifJfel4pp4KLodtfNJOG/?imgmax=800&quot; width=&quot;342&quot; height=&quot;358&quot;&gt;&lt;/a&gt; &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwvNv4JyBsSTg49DNvFsZz3BdXUreVqH-8u9q13bBag8fySWAF9AhU-I6VZv9BrPNwz-SpcRfj6ZiQMpiCUqe1MIw_qqzBrZYNQupBLdx5N2BgNEtUAMxPMZAgcTwXudBiVQ-WOx8Im_vR/s1600-h/image%25255B54%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRsLOrcfSqgLl5qHNH5lu15W4CliOJkQLo6N0h9SQtDqQSx6JVLk5Dd34ySB_J_bvZidY646LMgOPW9ynQQ2Uk7ACXghxi6EBwyM93vyjSrt7yrrfmhgaF677MerAA87Ws8QcCbGnpBLjR/?imgmax=800&quot; width=&quot;340&quot; height=&quot;364&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLeI6KKKn1BFNf3q9NIWMoy84hAFwUDcEGSh4PQIAfpKyPBMzRGL21bEPVFuKpa-vp1i6LqP6z7BT-Dc0YbniD0aCgbwVd_pv2sQlQczS79HcP4SqrTZBJQdBznL2ACQ20bcmaC3UlhTL5/s1600-h/image%25255B58%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNW5-q1RSgBpT2AFTuoGXhPqxCW9QME9XvbCQwwuek52SatPoa8SVBox186GfbcDsyFVFZyniUExDTgm7y8wNMml0uAczqONot5kxC2zPswJV2ILhZ1kwNmfrCV9a6ciPSBoC8MWgWbKhm/?imgmax=800&quot; width=&quot;353&quot; height=&quot;325&quot;&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Notice the last assign activity, here I’m setting ‘0x06’ to the response code, you can set any value. &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilDEjf0WZuS8XO2SRPAA5-ljC2CQkcRly_NSAWr_qFh_kqvAalC9xjTmcp2qgFZh-xbV-LEZN0IU05iLBIbpuN1n3dy7IvkH5M_xpIbk5dAdn7SjMCt_2P-ydtlaSbjlFQrE1UtEVugNxa/s1600-h/image%25255B63%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhubfA8fuAp_wGVJYm2wks4j1MD1oMr3fMEzCvLOHcRAHT3bAmF6fO_EtJg7Yf5cSmQ3l45j7fyqgaahncd1euGFioQ6S1vu-1vshtsAC4XtIxSowfc5ksdat0LWJkaSTVYbPIlBcMaV3v4/?imgmax=800&quot; width=&quot;655&quot; height=&quot;425&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;4. Next step is important, here we’ll create request.xsl and reply.xsl.&lt;/p&gt; &lt;p&gt;There is a function socketReadWithXlation with that input data will be read from port and will be translated using the input message NXSD, so our request.xsl file look likes,&lt;/p&gt; &lt;p&gt;&amp;lt;xsl:template match=&quot;/&quot;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:copy-of select=&quot;socket:socketReadWithXlation()&quot; /&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;/xsl:template&amp;gt; &lt;p&gt;In sync response.xsl we need the response code that we set from BPEL process on step#3.We are going to use socketWrite function like below in the xslt,&lt;/p&gt; &lt;p&gt;&amp;lt;xsl:template match=&quot;//ns0:Response&quot;&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;xsl:variable name=&quot;temp&quot;&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=&quot;/ns0:Response/ns0:Code&quot;/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:variable&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:variable name=&quot;var1&quot; select=&quot;socket:socketWrite($temp, &#39;&#39;,&#39;&#39;)&quot;/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:variable name=&quot;var2&quot; select=&quot;socket:socketEndOutput()&quot;/&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;/xsl:template&amp;gt; &lt;p&gt;5. Now its time to test. First deploy the composite and you’ll notice that it can’t be tested from EM. You need a client program to push the data to the socket.&lt;/p&gt; &lt;p&gt;public class EmpClient {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main(String[] args) {&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; Socket socket;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; final String HOST = &quot;localhost&quot;;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; final int PORT = 12112;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; socket = new Socket(HOST, 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; } catch (IOException ioe) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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(&quot;&amp;gt;&amp;gt;&amp;gt;&quot;);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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(ioe.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; System.out.println(&quot;&amp;gt;&amp;gt;&amp;gt;&quot;);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw ioe;&lt;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; System.out.println(&quot;sending data: EmpDetails;&quot;);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OutputStream os = socket.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; byte[] b = &quot;&lt;strong&gt;fn111111ln111111232007-01-01100\nfn211111ln211111232007-11-01200\nfn311111ln311111232007-12-01300&lt;/strong&gt;&quot;.getBytes();&lt;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 (int i = 0; i &amp;lt; b.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; os.write(b[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; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; os.flush();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; socket.shutdownOutput();&lt;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(&quot;receiving data&quot;);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BufferedReader soc_in = new BufferedReader(new InputStreamReader(socket.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; String successCode = soc_in.readLine();&lt;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(&quot;Success Code: &quot; + successCode);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; socket.close();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (IOException ioe) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ioe.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;} &lt;p&gt;You might noticed I’m sending the same data from Java code with \n separator.When you run this program you should get below output, &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicyKbr2eBCDY2oP1jgdU6JcKAK_9x3GH8shjuZRlrNumen9a1jqpI_fR_XBJM7lluUadtR_L6ak6h8mXyK6TBvTs5vHq3S1Bf__dENJXcetEFj0CeIi_hSPekAf7oJ3TWp9R-IDwl5W8ow/s1600-h/image%25255B67%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgt2sFDysaR7rS_oSP98rPzkPuTGyQdMjzQKuW2QkqxgVS2gsVTfgkz3vK211QFXIhbaulyxtp88dxyR2pDfeI1AR_oumEVxEPwX5iWXMDn9VXHb5_HKuxPwptVCmW7qFiK-DwysHhgIvqz/?imgmax=800&quot; width=&quot;331&quot; height=&quot;85&quot;&gt;&lt;/a&gt;  &lt;p&gt;Now check the flow from EM console,&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXhEjpf47OM0W_pwdZCCcyRyn5qpi5pHmgGMh9klhriICLoW4ol5UubiORkKjkfnV6kD7ZUGubUIXK0mFO62bXwltrHu0oUYOetcr9rPZUJFr9_5P4RxYjWaiTIHPLMyVqUU-0Gg-VUvOg/s1600-h/image%25255B71%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSgbWinSyGoclE-WF6jG0OZ6KJuQmc7gJUCe5IEJb-e1NWMHGgE7aqRz9rcrL4oFgCOe_JEyISbtiUa6HLnBNP_uxvh0rBJHuGorPbCZeH5eFntISOfZAerttfioxRR8a1RZNJANvEhWSK/?imgmax=800&quot; width=&quot;561&quot; height=&quot;405&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;So we are done! You can extend this scenario based on your requirement.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://shrikworld.blogspot.com/feeds/4855934971286470779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/342277253848129789/4855934971286470779?isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/4855934971286470779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/4855934971286470779'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/2014/11/demystifying-oracle-socket-adapter.html' title='Demystifying Oracle Socket Adapter'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSBvu0m4MCWzch9nAjW9Is9x3JarXvbYUu8n3jaMO2mfTqypkLokoEFmuc8KVAHzFjKNtZrolzuF1TKV2xdCmHekXFqH4KeNplOVD6pkahmzgjG-92s1cnqxzMG35ttk0Bt4S7nCeVs2kl/s72-c?imgmax=800" height="72" width="72"/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342277253848129789.post-873003429877998092</id><published>2014-10-12T08:42:00.000-07:00</published><updated>2014-10-12T08:55:11.630-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Healthcare"/><title type='text'>Oracle Healthcare Transport Callout</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Recently I’m involved in a Healthcare project where Oracle SOA Suite for Healthcare is being used , its cool one and easy to configure though have some limitation like explained below,&lt;/p&gt; &lt;p&gt;Say you are passing input message like below to an inbound SSHI endpoint where message type support has ADT 2.3.1.&amp;nbsp;&amp;nbsp; For simplicity I’m using Oracle provided SSHI sample available at &lt;a title=&quot;https://java.net/projects/oraclesoasuite11g/pages/HealthCare&quot; href=&quot;https://java.net/projects/oraclesoasuite11g/pages/HealthCare&quot;&gt;https://java.net/projects/oraclesoasuite11g/pages/HealthCare&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;MSH|^~\&amp;amp;|Admission APP|Admission FAC|MyCompany APP|MyCompany FAC|20050804162010||ADT^A04|001|P|2.3.1|||AL|ER|US|ASCII|ENG&lt;br&gt;PID|||387044045||Griffin^Leo^A||20140425103329|F||||||||||309563956&lt;br&gt;OBR|1|6654831.001SAH|6654831.001SAH|POR.ABD1^PORTABLE ABDOMEN SINGLE VIEW|||201404220104|||||||||||CR^R20140422-0008|SAH^CR||||||2|1|1&lt;br&gt;OBX|1|RP|||&lt;/font&gt;&lt;a href=&quot;http://10.90.0.2/EMR/Event.asp?xyz=Study&amp;amp;forLoginName=test&amp;amp;forAccession=6654831.001SAH&amp;amp;forPatientPublicID=952523||||||F&quot;&gt;&lt;font size=&quot;2&quot;&gt;http://10.90.0.2/EMR/Event.asp?xyz=Study&amp;amp;forLoginName=test&amp;amp;forAccession=6654831.001SAH&amp;amp;forPatientPublicID=952523||||||F&lt;/font&gt;&lt;/a&gt;&lt;br&gt;&lt;font size=&quot;2&quot;&gt;OBX|2|TX|EventType&lt;/font&gt;  &lt;p&gt;&lt;font size=&quot;3&quot;&gt;If you carefully notice&lt;/font&gt; MSH segment it has &amp;amp; as subcomponent separator. So the web URL at OBX|1| will be treated as sub –component by SSHI as it has &amp;amp; within URL &lt;a title=&quot;http://10.90.0.2/EMR/Event.asp?xyz=Study&amp;amp;forLoginName=test&amp;amp;forAccession=6654831.001SAH&amp;amp;forPatientPublicID=952523&quot; href=&quot;http://10.90.0.2/EMR/Event.asp?xyz=Study&amp;amp;forLoginName=test&amp;amp;forAccession=6654831.001SAH&amp;amp;forPatientPublicID=952523&quot;&gt;http://10.90.0.2/EMR/Event.asp?xyz=Study&amp;amp;forLoginName=test&amp;amp;forAccession=6654831.001SAH&amp;amp;forPatientPublicID=952523&lt;/a&gt;.  &lt;p&gt;So this URL is becoming &lt;a title=&quot;http://10.90.0.2/EMR/EventInterface.asp?fun=ShowStudy^forLoginName=migdemo^forAccession=6654831.001SAH^forPatientPublicID=927952523&quot; href=&quot;http://10.90.0.2/EMR/EventInterface.asp?fun=ShowStudy^forLoginName=migdemo^forAccession=6654831.001SAH^forPatientPublicID=927952523&quot;&gt;http://10.90.0.2/EMR/EventInterface.asp?fun=ShowStudy^forLoginName=migdemo^forAccession=6654831.001SAH^forPatientPublicID=927952523&lt;/a&gt; at output wire message of SSHI which is NOT desirable. Here transport callout come as handy and it will play a role before the translation of the message for inbound scenario and after the translation of message for outbound scenario. For more details on how transport callout works in Oracle Healthcare you care refer to Oracle doc at &lt;a title=&quot;http://docs.oracle.com/cd/E23943_01/user.1111/e23486/hcfp_callouts.htm&quot; href=&quot;http://docs.oracle.com/cd/E23943_01/user.1111/e23486/hcfp_callouts.htm&quot;&gt;http://docs.oracle.com/cd/E23943_01/user.1111/e23486/hcfp_callouts.htm&lt;/a&gt;.  &lt;p&gt;Note this transport callout works only in Linux box and does NOT work in windows system.  &lt;p&gt;Here is one of the high level solution for this problem,  &lt;ol&gt; &lt;li&gt;Need java API to parse the HL7 message , in our case I’ve used HAPI API available at &lt;a title=&quot;http://hl7api.sourceforge.net/&quot; href=&quot;http://hl7api.sourceforge.net/&quot;&gt;http://hl7api.sourceforge.net/&lt;/a&gt;.  &lt;li&gt;Replace the special char like &amp;amp; [which essentially one of the delimiter in MSH segment] with some predefined char , in our case I’ll replace &amp;amp; with +.  &lt;li&gt;Process the inbound message and do the transformation , if needed, at SOA layer and hit the outbound SSHI endpoint.  &lt;li&gt;Add a transport callout in outbound SSHI which will replace back + with &amp;amp; , just exactly reverse of step 1.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Lets go through in more details.&lt;/p&gt; &lt;p&gt;Fist pick up any sample healthcare code from Oracle site , I took 2nd one as seen below,&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPCT-uO3CyxTVxZ0pARSsApFdPEL9ZK8M31h8Xd0o8GmhA2_HD5F_0FnqDdCmt3Le7Or4XffxQ8gT2_Tjm2koL8enMpFvQTj8eetWi4d2iPlKHlRS0rShMmcCeDKbgzCDenFDvetVZNSXv/s1600-h/image%25255B30%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6hVQARLN4u7V_Sx0tKnGqEmTQcDWZd-Ll-pCRcmdXljpjIPPXu2u2IwVelO2HW6t9lva2MAytlnn9w6Bl-kXIHtGPHaFnlgLXwyUs9RDuj4p8Qc-jKIWc2bX7gMvBh2izde7tpypT4og0/?imgmax=800&quot; width=&quot;769&quot; height=&quot;426&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Now verify the output message of Out_Patient_Laboratory with the input message I pasted above.&lt;/p&gt; &lt;p&gt;Now write a java code for transport callout like below,for inbound class name is EscapeSpecialCharacters and code like below,&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;import ca.uhn.hl7v2.DefaultHapiContext;&lt;br&gt;import ca.uhn.hl7v2.HapiContext; &lt;/font&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;import java.io.FileWriter; &lt;/font&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;import java.util.*; &lt;/font&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;import oracle.tip.b2b.callout.*;&lt;br&gt;import oracle.tip.b2b.callout.exception.*; &lt;/font&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;import ca.uhn.hl7v2.model.Message;&lt;br&gt;import ca.uhn.hl7v2.parser.Parser;&lt;br&gt;import ca.uhn.hl7v2.util.Terser; &lt;/font&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;public class EscapeSpecialCharacters implements Callout {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void execute(CalloutContext context, List input,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List output) throws CalloutDomainException,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CalloutSystemException {&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; CalloutMessage cmIn = (CalloutMessage)input.get(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; String inHL7Msg = cmIn.getBodyAsString(); &lt;/font&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String v23message =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; inHL7Msg.replaceAll(&quot;\n&quot;, &quot;\r&quot;).replaceFirst(&quot;&amp;amp;&quot;, &quot;#&quot;); &lt;/font&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HapiContext hapiContext = new DefaultHapiContext();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Parser parser = hapiContext.getGenericParser();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Message msg = parser.parse(v23message); &lt;/font&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Terser t23 = new Terser(msg);&lt;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(t23.get(&quot;/MSH-10&quot;));&lt;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(t23.get(&quot;/PID-8&quot;));&lt;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(t23.get(&quot;/OBX-5&quot;).replaceAll(&quot;&amp;amp;&quot;, &quot;+&quot;));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t23.set(&quot;/OBX-5&quot;, t23.get(&quot;/OBX-5&quot;).replaceAll(&quot;&amp;amp;&quot;, &quot;+&quot;)); &lt;/font&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FileWriter fw =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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 FileWriter(&quot;/oracle/fmwhome/user_projects/domains/dev_soasuite/servers/AdminServer/logs/callout_in.txt&quot;);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fw.write(msg.encode().replaceFirst(&quot;#&quot;, &quot;&amp;amp;&quot;));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fw.close(); &lt;/font&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CalloutMessage cmOut =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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 CalloutMessage(msg.encode().replaceFirst(&quot;#&quot;, &quot;&amp;amp;&quot;)); &lt;/font&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output.add(cmOut); &lt;/font&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&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; throw new CalloutDomainException(e);&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;}&lt;/font&gt;  &lt;p&gt;You need to have b2b.jar and HAPI library in class-path for successful compilation. You can see here I’m parsing through HL7 message and using Tarser I’m retrieving the value of first OBX-5 and replacing all &amp;amp; of web url with +. All the segment list where special chars are appearing you can pass on as a parameter of callout and can make the program more generic.  &lt;p&gt;For outbound AHOutboundCallout class just does the opposite thing,  &lt;p&gt;&lt;font size=&quot;2&quot;&gt;import java.io.FileWriter; &lt;/font&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;import java.util.*; &lt;/font&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;import oracle.tip.b2b.callout.*;&lt;br&gt;import oracle.tip.b2b.callout.exception.*; &lt;/font&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;public class AHOutboundCallout implements Callout {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void execute(CalloutContext context, List input, List output) throws CalloutDomainException, CalloutSystemException {&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; CalloutMessage cmIn = (CalloutMessage)input.get(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; String inHL7Msg = cmIn.getBodyAsString();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StringBuffer outputMessage =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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 StringBuffer(inHL7Msg.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; outputMessage.append(inHL7Msg);&lt;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 v23message=outputMessage.toString().contains(&quot;+&quot;)? outputMessage.toString().replace(&quot;+&quot;, &quot;&amp;amp;&quot;):outputMessage.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; FileWriter fw = new FileWriter(&quot;/oracle/fmwhome/user_projects/domains/dev_soasuite/servers/AdminServer/logs/callout_out.txt&quot;);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fw.write(v23message);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fw.close(); &lt;/font&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CalloutMessage cmOut =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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 CalloutMessage(v23message);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output.add(cmOut); &lt;/font&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&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; throw new CalloutDomainException(e);&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;}&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;You might have noticed in both the cases I’m writing input and output message at callout_in.txt and callout_out.txt for verification.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;Now create a callout in Healthcare after deploying the above class in jar profile . Keep all the HAPI API related jar in domain home/lib directory.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;Now for inbound SSHI endpoint , Out_Patient_Admission, associate the class like below,&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiitPK8MfgOaYdAPz4bcNvOPPDaC1xwqqPEXiwKyDR6xvNg2HI3Mhrvkr9ASmQ36qyJxSuWhoaExYWBnpwyLXxNz81rvZf6sVCaIHxEcraGp_PcvVryAIGe5uXFT6WcYWXBPHHRVRdWUng7/s1600-h/image%25255B21%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZYgtIGGPw1hKDm8qXNg62XnL-MmPehO_uzuTxXaQn4YfvwGOce0RKNe30H2BJLzVKXXgt8vekT3i3KhF3K0SfGnxUi-L7KGm9m8aQGf7DZKeCUIv3GzjjZvanhYNKTLis1_KzcgWMuR58/?imgmax=800&quot; width=&quot;792&quot; height=&quot;381&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;For outbound SSHI endpoint Out_Patient_Laboratory , associate the class like below,&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7Q7AwjT0FpD2ky6FxJi8FjT0DJJW-qa2FYz9VWBD02Hq8ohKlgn9y4FwxinRWTXVEsmERxMPidX0qsofDm1r77MEOl1QtBc17VK4nNW5aDIuDxx4q0mfpa12YT_gzG2RBMxSlMhFkez5Z/s1600-h/image%25255B23%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN7yNK-73ckQ847X4fg_3aCpz5Q_gJuD0q1cBxCYCHOGfCXbw1Pm6AdTOHFA2PNgtCL4DlQnhz6SyjXbUSsNMQO_v_U-KHhN8JjA617AcG3TRS-lW9e1MM1PUC9DEE6skYCxB4gR483mZv/?imgmax=800&quot; width=&quot;811&quot; height=&quot;447&quot;&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Now its time to test the solution, I’m using HAPI HL7 tester to push the message ,&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrzpCHD5k0O8b3wRUi52kEvJjjnW2uxdHLNvLQniBzbgmRf29SfavsMuaJKl6CzwneB39cFjkGvbD_J83KSspHihOl3tE9q3Bocp3v9OGZ07Dd0ArfxkQI9gBeeAEQEwFXcBYBeDGEiV4i/s1600-h/image%25255B24%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh14qrAfDW4K3o2AhVcrgDmoSLo579BfkPZBudaKCRnrk4KR0T6kAcgQvSjVmMA93q1LLOM40HatvHElsnOCKxdCGey47-SV68OmGJj0WBBlaUDNK6o4EXn9bXNHcJVDBFNTog7707njfV1/?imgmax=800&quot; width=&quot;831&quot; height=&quot;507&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Now verify the callout_in.txt and callout_out.txt and transport callout parameters.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;callout_in.txt&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;MSH|^~\&amp;amp;|Admission APP|Admission FAC|MyCompany APP|MyCompany FAC|20050804162010||ADT^A04|001|P|2.3.1|||AL|ER|US|ASCII|ENG&lt;br&gt;PID|||387044045||Griffin^Leo^A||20140425103329|F||||||||||309563956&lt;br&gt;OBR|1|6654831.001SAH|6654831.001SAH|POR.ABD1^PORTABLE ABDOMEN SINGLE VIEW|||201404220104|||||||||||CR^R20140422-0008|SAH^CR||||||2|1|1&lt;br&gt;OBX|1|RP|||&lt;/font&gt;&lt;a href=&quot;http://10.90.0.2/EMR/EventInterface.asp?fun=ShowStudy+forLoginName=migdemo+forAccession=6654831.001SAH+forPatientPublicID=927952523||||||F&quot;&gt;&lt;font size=&quot;2&quot;&gt;http://10.90.0.2/EMR/EventInterface.asp?fun=ShowStudy+forLoginName=migdemo+forAccession=6654831.001SAH+forPatientPublicID=927952523||||||F&lt;/font&gt;&lt;/a&gt;&lt;br&gt;&lt;font size=&quot;2&quot;&gt;OBX|2|TX|EventType^EventType|1|StudyCompleted&lt;br&gt;OBX|3|CN|Technologist^Technologist|1&lt;/font&gt;  &lt;p&gt;&lt;strong&gt;callout_out.txt&lt;/strong&gt;  &lt;p&gt;&lt;font size=&quot;2&quot;&gt;MSH|^~\&amp;amp;|Admission APP|Admission FAC|MyCompany APP|MyCompany FAC|20050804162010||ADT^A04|001|P|2.3.1|||AL|ER|US|ASCII|ENG&lt;br&gt;PID|||387044045||Griffin^Leo^A||20140425103329|F||||||||||309563956&lt;br&gt;OBR|1|6654831.001SAH|6654831.001SAH|POR.ABD1^PORTABLE ABDOMEN SINGLE VIEW|||201404220104|||||||||||CR^R20140422-0008|SAH^CR||||||2|1|1&lt;br&gt;OBX|1|RP|||&lt;/font&gt;&lt;a href=&quot;http://10.90.0.2/EMR/EventInterface.asp?fun=ShowStudy&amp;amp;forLoginName=migdemo&amp;amp;forAccession=6654831.001SAH&amp;amp;forPatientPublicID=927952523||||||F&quot;&gt;&lt;font size=&quot;2&quot;&gt;http://10.90.0.2/EMR/EventInterface.asp?fun=ShowStudy&amp;amp;forLoginName=migdemo&amp;amp;forAccession=6654831.001SAH&amp;amp;forPatientPublicID=927952523||||||F&lt;/font&gt;&lt;/a&gt;&lt;br&gt;&lt;font size=&quot;2&quot;&gt;OBX|2|TX|EventType^EventType|1|StudyCompleted&lt;br&gt;OBX|3|CN|Technologist^Technologist|1&lt;/font&gt;  &lt;p&gt;So it’s working as expected. Note, in wire message you might see still + for web URL , this is because transport callout happen just before delivering the message to the endpoint.&lt;/p&gt; &lt;p&gt;You can make the program more generic by adding parameters to the transport callout.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://shrikworld.blogspot.com/feeds/873003429877998092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/342277253848129789/873003429877998092?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/873003429877998092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/873003429877998092'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/2014/10/oracle-healthcare-transport-callout.html' title='Oracle Healthcare Transport Callout'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6hVQARLN4u7V_Sx0tKnGqEmTQcDWZd-Ll-pCRcmdXljpjIPPXu2u2IwVelO2HW6t9lva2MAytlnn9w6Bl-kXIHtGPHaFnlgLXwyUs9RDuj4p8Qc-jKIWc2bX7gMvBh2izde7tpypT4og0/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342277253848129789.post-1881256891805677690</id><published>2014-05-21T07:28:00.000-07:00</published><updated>2014-05-21T07:42:08.752-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Weblogic"/><title type='text'>Communicate Between 2 Weblogic domains using SAF</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;I seen there are lots of material available in internet on implementation of Store And Forward JMS mechanism between two weblogic domains. Here in this blog I’ll repeat the same thing in simpler steps.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Configuration&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;1. First you need to have 2 weblogic domain up and running , for my case those two domains running on same machine.&lt;/p&gt; &lt;p&gt; 2.For both of the domain go to domain name –&amp;gt;security from weblogic admin console .&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcgep0Z_GTuuslcmPOci7Y0LSKBW_luEKsI8h5IVDSgq-fxz96CvgVjpOHOOyansgL0Ipu7F7ZzOeoSzxiGLr4F1IUSQIAubj-mW6vWf1ySsU4ZftSpuEPVCZ0rbGCa01vbnWX0lKdJEt7/s1600-h/image%25255B3%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEqnn4gQI_iPmFpVvmvwE_4i3JU8wcgWgV3kENqZCTYgXMzvB2KuYWIBwnis4dDALqEwb4KCcVNnPQIJpNPjs-bH2HxweIDQpAojSiO6sO4yPvmhU6LPbzUeV2tBt2zfNgD5leRQ3hfBOV/?imgmax=800&quot; width=&quot;610&quot; height=&quot;489&quot;&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;Select cross domain security enabled and enter credentials and confirm credentials , for my case I’ve given welcome1.It might ask you to restart the server , please do the same.&lt;/p&gt; &lt;p&gt;3. Now assume you are producing one message in JMS queue of domain1 and same should be available to JMS queue of domain2. So in domain1 create a file based persistence store , give physical directory location and target the same to either admin or any managed server. For my case I targeted to SOA managed server.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvuJwmWRQiLqnxO0CjphmbFwu05vaL6k6xfY3VRAJ4l79P9wImNa9kqUVC5XLxxJwFH12Uxw00tghZ6wzp_mj4SzBU9TOEHlKrbPBVQ_VAYa_FuzlfX398KtghmM5Dx26edRLbKYqvF0vi/s1600-h/image%25255B8%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMzKMx4CsxXtC1-JPbY-dHGnhyo5IWgCAqw4tAFjB4tjbNLhjSBaJx5nMAT_78cxlV_ZrWzJToWXT3QCsL8IWEl2yLEXtofn9YNynJnAcKwi05Hmf43br-nTLPsWtTkYHwpCSIbn_5nHuq/?imgmax=800&quot; width=&quot;634&quot; height=&quot;342&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;4. Create a new JMS server say TestJMSServer and point to the persistence store that you created earlier&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOLRZU3aNBNSd3k2znGws2vQdS9Bf2LNnt24e-hf61yF7YqYN4rEBuQDs-zzvTj9Xlo0wjguHEOGiYsXbtTSJ6WWuzdAogbaMcru0treZi9jqOX99FX55XzBsUDGV6e5hb6qvGwZfFgGWV/s1600-h/image%25255B13%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD56iOgvRJ6Mp9iLHDdqM93C9hgY2CpGtXI_zAC_qeXGfp5AEh8Uq58hlJp0Ned8T5xhwnyYH7FsBkxxQcT96LckDorGdko08pFDQEU9P8S3bDs2NSxaTiX9ZT8KxOJT7OKr8TNSxePrEd/?imgmax=800&quot; width=&quot;641&quot; height=&quot;491&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;5.Create a new JMS module say TestJMSModule and create a new subdeployment say TestSubDeployment which point to TestJMSServer .So whatever the resource will be created under this module will be targeted to TestSundeployment.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHpkJO5rVv7_woiFseaf9h8GCJ8s4MipLAKAOfM9XkSjEkGmJZAI7yp_uD_NsNA2yimZfiTesS29rEp3mRm3gojfLSsdGgUXbqBs-j7xd0BHh8tvgtm_Q9P3zNRZejlsZAJHJIEvxCri_h/s1600-h/image%25255B18%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEF2JDj8_TW-KKoCPfu0dc10RBPgbDRwFNEBHWOFO-oobfpaw8Js0Gkf8I582U-CM_ssBvDg9SCJmzBWn9SxodW-vuoAzjudaMfSWHtvr8LgdnKQ1JqpLtt5Dfn6O40hMt2FAxGaW6ogAn/?imgmax=800&quot; width=&quot;970&quot; height=&quot;394&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;Here is my Subdeployment tab,&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpL1gemiWKgIxKOEzQpsCitgAw-RbDnk-Am94MQDWjAHoECEw_VCVv1ycO0ViNN-gCn-z_-7E3guQ5WfjHyJORM1SgzpdCTPIAfDiRLk-hzQJfkISESxqG8p5OHHlaVDHQ87BKg-marYLS/s1600-h/image%25255B22%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwmNcCXj7yzWEDCCxTtMgg4VFOR8flr27JVt6pndMZCtWDp_zSu6CyrQJwbLMyG7LkuT0nEbtRKHC7vfi9SkULAb2oHccGJlJ5qlVaBiYdf8ICx5QCoAyBhNUduBHZq4N4jsqDlk_2EhG0/?imgmax=800&quot; width=&quot;526&quot; height=&quot;328&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;6.So now in domain1 we’ll create a TestLocalQ where the message will be produced.So add a queue resource type under TestJMSModule and give a JNDI, I’ve given jms/b2b/TestLocalQ, but it can be any unique thing.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPtLmEVcUpk-mjBdcRgdix91BO1o46oGkabQWrPZW21ljOPk0kcNS4gLXjoOZZjUTEWfr70JWBCxdn-27ZC9KQyiP5jTp6pDCwdg3kSYgWTwU_1wnX41GmGYD1ODk-zJeINev_h85W6QJ3/s1600-h/image%25255B27%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg84X6N5VDBf1iFj3ACGwofvklVeVAFfcGcDmgJkZjpdVt7OYSdqVjcnHiqIMYH2mQ-t8ccIV_Uq929eRBGH0EQr5fred78K2HhDAOaULbaKM06cARvUZxVUURGpQacT6YZk2JMbqwKuVAQ/?imgmax=800&quot; width=&quot;675&quot; height=&quot;561&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;7.Then create RemoteSAFContext resource under the same module and give the URL of domain2 like below,&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaZwC_7yFRy5OvBD3GwGKgrS7Vtaz7Cg4ktAhtsCJx3xMJYpfugnJNc9Jf4JDdjaZq_kS1A4i5O3WcRA0U52EKQ3CWhIkP7uh6stJVZRYDrGze9wNhRlqzIKmDW2Tp19ifk0B_qnIdXdFB/s1600-h/image%25255B32%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXd721HK5QhvJlhHNk3-IZZA-3FGRkxZsvZtVF6VI8sIiL8ett2UOI4Lm1nUR-ENwpakJpJsIknkynBb5kSuf7Ula9FDJlDjbCBYBe7KgYsGCUeDbQFTPEuStAOY8dB1296L-YYnESUdDg/?imgmax=800&quot; width=&quot;692&quot; height=&quot;448&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;The port in the URL may vary depends on where your remote queue deployed, it might be remote admin server as well instead of any managed one.Give the remote weblogic username and password.&lt;/p&gt; &lt;p&gt;8.Now Create a SAFErrorHandling resource under the same module like below,&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZe6j_ANMo5FWsFvGthwV12bZoxT5DDu809Xdrupj_hhYpAeeLJ_L9ocxjWBjwZMxkpghWf9NNooTWMb9-wNcRh6v3fYUy7bKrsJp0WJjyUO5H67GEmDKe2Z0UOxVhvcnb_sKymvT_Gf5y/s1600-h/image%25255B36%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvt77chWYMZd5QcOr_pDfEwXAmUKM2R9_3ED0c7Kwf7api6RVRyKe6L3B8P481kSi5zEX1zeY2C6D99Ts446V7FrzPedtTDFJk4osZ-R7gtgaFi2UAYaLzEFN1qZjkVSAVBCO8Cm7JffVc/?imgmax=800&quot; width=&quot;709&quot; height=&quot;334&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;9.Then create SAFImportedDestinations resource and select remote saf context and saf error handling from the dropdown that you have created in earlier steps. Give some prefix for JNDI prefix , it will be useful at later stage. &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO_zaeRwFKy533mJWe2pRsr6P86LouvHqNN45Xh_hHEdnXW1xdjzTANgIQdeUCTuHp4WfIoJir_Lb6gIvsJfphedvOx9QW5dFL_XP4AEz2jvGLE19D9TgjrUn6AdrNN0MGJU3oaFRUWtW-/s1600-h/image%25255B41%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5wxH_rAM0_ihtbX-4EFvmbDSrSDHuOX3rc10dBzyUBz8apT0UHSm1WzdtorJBDbWx_XSoxjVru720iss0WIkDIDFrD5g5zIm9VsyXSxDiZmAH_aRWAug_jJ54-LUf8sazqHTfW4EHQi1j/?imgmax=800&quot; width=&quot;742&quot; height=&quot;518&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;10. Go to the Queue tab of TestSAFImportedDestinations&amp;nbsp; and create a new SAF queue.Here it will ask for JNDI of local and remote queue . At step 6 we created a local queue with JNDI jms/b2b/TestLocalQ . Similarly create a queue in domain2 with some JNDI say jms/b2b/TestRemoteQ .&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKUC_6Kftk0Aol9Wa2WPj_2J46bvPE8rhdP_lM50yAs14Wfrz_Q2F2ODFZL83RBehOuNk5ItBDdMaXYiyEN-OSVxDK4Hs850ImzvmNlBALMw85G8LRnSGb_9YK9IkfV9c3y1Zk8l3LA6d5/s1600-h/image%25255B46%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0exZ1-mUA4NPVeDJdo_0HbOJEVBsuCC9yh673TGNsVO_6mxzT5EG-vTb7pyXlPMfsmZYMV_gcpW28foQnbFxnlQtMaM8MlNMO3yH0TMQMjfrqw57O4xXltdFFr1xFSpJv72YJOTacdmsu/?imgmax=800&quot; width=&quot;745&quot; height=&quot;508&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;11. So we almost set, create a Store-and-forward agent from weblogic console.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrehur9ob5E4zDThahOBq7VEPRjajkDmcDSdgHNOrO2aVP3r9GX8vfUgNa5dzQtvZPQFdDPfwgb71VU8SIX3a2UswlVuY3WD8GVRldKsxX3DTCgxp1oB8lPuQgyfgMqKO4qMdXphJNJ8Xf/s1600-h/image%25255B50%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM0PWvfjIZNr2f7smZeCTc32dmIsmVbadFQMnQ0pgRnd2zWzW1meJ20BsmfYvTJZmIX81j9E2-ccrnZkZnDoYkD1_HNo7lzLpkjO_sWMXt87XtjrenTJB19bOsiF5gxi46XY9BevhPY6-U/?imgmax=800&quot; width=&quot;623&quot; height=&quot;373&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv0fcPcpUF0b4j_-XbfQeedFuEM88FRblF3qV8eKtc8EqSASi4antqmXUH_kDUqQA9-0hqhdDM23Y3UImo4nqbAxqe8FEQAB0Bpy_r6lLNuDiV57Kf2jTGMHUzJap2-YAoshyI0cydkfaW/s1600-h/image%25255B54%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbaqUNJi_C3BA-JTCWDb3Xyvp8Z-O5LULkw5-s1Lm8sdhCBz-XNEpwwj501RrIUBtiyxeLz_DMwJC8y2nuqDvJhJ67lEIlucHW0Rsn6NnyqL8fSM9d2vk5pS21fgkyscyBzQhBe5UU7fQn/?imgmax=800&quot; width=&quot;945&quot; height=&quot;320&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;12. Bounce the server, both Admin and Managed.We’ll use BPEL JMS adapter to produce message on TestSAFQueue that we created in step 10 and that message should be available to the remote queue having JNDI jms/b2b/TestRemoteQ .&lt;/p&gt; &lt;p&gt;After restarting the server go to SAF agent that you created in step 10 and go to monitoring tab,Verify all the sub-tabs&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLMOAe2AAtjgAzAHhG414rJg9pHkVSjAufNxDBoS8cb0mdiTVrY33zBXhasZhNmsxUlbQkFi_LakwbfbWx_GyXRUlhLx32F37IErcNReC5oL3vz5czd7R_hasL-s2FkvPk38vPzYh1Sd5r/s1600-h/image%25255B58%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjf-ylk0l_MUOC8gPXtQOmvzWPLNiS5stPXDoddCl1t0BEdbujbRDMmFt-WSFyCI3HAeeXk8S7rDFTT6CbfDYqWMRmmj6Gu_Ip4Q41lboDbip_eQ_PUnvQHxnWlmB_LbVwfwUmaTSnYlEgr/?imgmax=800&quot; width=&quot;1045&quot; height=&quot;304&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;13. Now create a SOA Composite and add a JMS adapter in external reference.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVfZeaSPLPhVw-RG5qZLqN82mCfaXnijgdS99qpaFOUZr9lgU7jRXeGRl2L6R2YSZ28Wd7Gc6u0Z9KOMBY1FWCxfhIuDDjiSLK7XTNS4fMGOhZxuBR1VRWBpLUWk8gAsIXN3RWkKNnyJN-/s1600-h/image%25255B64%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTQatt4fuisnEwm8gBoTji2IASkwCD6S-pFSrWXEFJV6nnT6P-MswetabqO2h2H9F8mbKqmabivqD-jVRjWtkQlnAKxmszPnXTZhRk4i6lm7lQ8kUsvnIW8IeGau-NEz_rmJPRSRJ-KD3-/?imgmax=800&quot; width=&quot;694&quot; height=&quot;151&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Definitely you’ll not find the SAF queue that you created in step 10, so give any other queue name and complete the wizard selecting any XSDs.&lt;/p&gt; &lt;p&gt;14. Edit the jca file of JMS adapter and change the DestinationName to SAF queue JNDI,&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkpdf4B80xlksrhz4ucBgIcHSgOg425oNNlcIKS88aorCtr31_RJU0UY8PRcdHvgzYKNXp_3AEg9lHUtny76r_JmF9Xtjfkc8BAjAgYVibc_-wSM1v-sxFq0v9Yn7mxJWh5eQxewLfNakB/s1600-h/image%25255B68%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi59xDG5aEC4aJXU58sr7c9c341WxA9pUbezi7vM0Iep1P7UQMP4K_2awu1dBBB2-slFmtMsvDYqfFnsuELqAz-f8PmdzEDYJTs8ZFZPSVdZHs695yz0rYWPNVGwUCmv0R9TUXlf2UeatZV/?imgmax=800&quot; width=&quot;719&quot; height=&quot;350&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;To find the correct JNDI go to admin console and select the server where you targeted your JMS module and server. In my case I pointed to SOA managed server and click on JNDI tree there,&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgczuNTGUTgHzeHABkmjwvqPg3D7WNDFUhbNN2DGXaJ5JKPkZA4rRxQIqLgzzQxP8DdIYH-93toLxh-jsELZ8oJLau-1muoBc33Xf0ttt9dj-5pa_b7A5qUuoLKuBppSE0BGSfaIBqKIuSP/s1600-h/image%25255B72%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9SH2PC2zqG2ITZTKpaD9wVQNBQoOKs9zZfudZdtkXhlF8ripjB-10EpnJtUeGFE30R0dm1tgSoRcnktuqUQq2sFJ3O97nSHBKbySLd2OKI4ZB16NTXV1x4cyRWUN_Y7A-W3yJTljhW6ez/?imgmax=800&quot; width=&quot;672&quot; height=&quot;327&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;From the list search for JNDI prefix you gave at step 9 and copy binding name , which need to be updated in the JCA file.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgChyphenhyphenNtFKeIYYDJtCd6ljbTmkeGCCfE9ypHwz_W-OV30sfB8cf7baFmieIPijl3LliooE-uMFIa5lONoRcKa3ETkuk6TEMoE8lRKUBm_sZr0CFuVEITeAUWNRz0MvWerHOyRj7dhRuYi1nU/s1600-h/image%25255B77%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz5DgXEjKaEPPUG89ltHabmlRmYHyFebNBI2Eshm_g82XMoqYeKksJbwFGNMsPPGWuS4nnrJyds2Y72HQCfl4Y9qEBbMSvFsPi4l0Q_X5R7DP1TLW7WXRQOgKZVRkVsFC3qFfsH2-v0t2d/?imgmax=800&quot; width=&quot;907&quot; height=&quot;505&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;15.Now deploy the composite and test it &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhT5JUy7r6ovoVYz7wjuKgnkHFlnTz1We0H5VzPQuwQIOxJa5CliKQEddZeVDuoYh6cuPQz-hx14ka_PwOHFSuADy1iyotgC7w8J9UPaCB9aKIwxEYXvdLcDrt-rVuRHsZCLL1-_nTqcTDT/s1600-h/image%25255B81%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRzZW_vAr52_w-chfbGVf2_8v4gNKQJGriXINbzBXAo0yOLzDR0g9DOgAg7GOssqAE2UTnFipAFbE6tSFyTT9S6aL_A2M2EpY3iujM79FcVZohDpye7PctLBKeFDuwpD4ZD6l1fWmRzenA/?imgmax=800&quot; width=&quot;575&quot; height=&quot;280&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Go to domain2 queue and check the message there.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghndsfOydpdMr6hPUalv8d3yO-uGlw2qAp7BM1sBInz7yKX6hmEoRi2wfJenAsgp9xq5rjuKmg2miGTqr26h5FYdU3suDxFYxmPhcVR4p5ytJzshZHFNfvj7UYsFnBNPWHSxQ6DseTED5I/s1600-h/image%25255B85%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmzG0sTiA_Kvxke-FgZ_MInpw5KEIl6xLx8a3ov6XmjTMibv8F7qy6RoAgGLchgawEkzWd-7N4eg0KuswXr1t-DmIg9vMDpbue9a66N88PJCAXj67y3pb8AsFmKVf24c7cQi8NCNippd9E/?imgmax=800&quot; width=&quot;905&quot; height=&quot;415&quot;&gt;&lt;/a&gt;&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://shrikworld.blogspot.com/feeds/1881256891805677690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/342277253848129789/1881256891805677690?isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/1881256891805677690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/1881256891805677690'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/2014/05/communicate-between-2-weblogic-domains.html' title='Communicate Between 2 Weblogic domains using SAF'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEqnn4gQI_iPmFpVvmvwE_4i3JU8wcgWgV3kENqZCTYgXMzvB2KuYWIBwnis4dDALqEwb4KCcVNnPQIJpNPjs-bH2HxweIDQpAojSiO6sO4yPvmhU6LPbzUeV2tBt2zfNgD5leRQ3hfBOV/s72-c?imgmax=800" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342277253848129789.post-1155017439046604768</id><published>2014-05-18T05:25:00.000-07:00</published><updated>2014-05-18T05:26:31.270-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Healthcare"/><title type='text'>Oracle B2B Healthcare Integration With Inbound ADT File</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;In recent time I’m playing with different features available in Oracle Healthcare integration , its really cool one and have enriched GUI. Tons of sample SOA projects available to get start with on OTN , below are links :&lt;/p&gt; &lt;p&gt;&lt;a title=&quot;http://www.oracle.com/technetwork/middleware/healthcare/learnmore/index.html&quot; href=&quot;http://www.oracle.com/technetwork/middleware/healthcare/learnmore/index.html&quot;&gt;http://www.oracle.com/technetwork/middleware/healthcare/learnmore/index.html&lt;/a&gt; and &lt;a title=&quot;https://java.net/projects/oraclesoasuite11g/pages/HealthCare&quot; href=&quot;https://java.net/projects/oraclesoasuite11g/pages/HealthCare&quot;&gt;https://java.net/projects/oraclesoasuite11g/pages/HealthCare&lt;/a&gt;&lt;/p&gt; &lt;p&gt;These will clarify all the concepts which is nothing but same as Oracle B2B product. So couple of things I noticed ,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;ol&gt; &lt;li&gt;when you create a endpoint in healthcare UI , corresponding trading partner in same name getting created in B2B.&lt;/li&gt; &lt;li&gt;Its applicable for creation of agreement and document upload for each trading partners, but healthcare UI put an abstraction layer on B2B , so manipulation of the same are very easy.&lt;/li&gt; &lt;li&gt;If I compare the source code for TPs after exporting the same I can notice one extra property createdByUI=&quot;fastpath-ui for healthcare endpoint which is not there for B2B TP, there might be other identifiers will explore that later.&lt;/li&gt; &lt;li&gt;Whenever you will create send to internal queue under internal delivery channel under administration on healthcare UI , same will be created in channel marked as internal of host TP in B2B console.&lt;/li&gt; &lt;li&gt;Whenever you will create receive from internal queue on healthcare UI same channel will be created in Administration—&amp;gt;Listening Channel of B2B console marked as internal.&lt;/li&gt; &lt;li&gt;The last one which I’ll detail in this blog, whenever you configure a endpoint with transport protocol file then corresponding listening channel will be created in B2B which is NOT marked&amp;nbsp; as internal.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;So while exploring the sample project I find that all are getting started using b2bsimulator like below command,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ant -f b2bsimulator-util.xml b2bsimulatorstart -Dargs=&quot;hl7-config.properties&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where properties file have the MILP port for server and multiple clients.But I remember in B2B we used to place a file in a directory from where the listening channel used to poll and pick and interestingly I didn’t find any such sample.So in this blog I’ll go through that use case.&lt;/p&gt; &lt;p&gt; First prepare the SOA composite with healthcare adapter in Jdev using any ADT doc.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD9YE534CbKQgLCGn0AaYrg7XTPa1JlpuPB2rZ-iG9VX5kdf7ALJxPMvTiYV1DuPFGfpOlb0A9y7mPjfjHtpInJkG0ZIzFPtYabCZ2kQud5EiGTj2aYSB5kmzBDKeGo-Scfdppeo5qfmpw/s1600-h/image%25255B3%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBSbWpwCIjdusgYI-O55hRaBAaHatWnouVcWdqY99LPDmxLi9mAqGeqQpUz3Qr90B3ieJz9xFpRd76oHuudjKLStZqAg3riHzOqLk4GGIC7MGbS-z5fsseO46CmT4IUE203v9sqVlecATt/?imgmax=800&quot; width=&quot;582&quot; height=&quot;138&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;For receive below is my adapter configuration,&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFhPxMuqRnnj-qLoNw51_AxCz6IWj_0LM_2sHMCpOYCyDsRl13M0Kb8KwUS_nFPNrd9bvNLt2eXdip16793j8qCnHV2tnBO_FL4ooVA290_F6H5hOVyGYkbj8dREvQPdvyOPpAX5WNnMOh/s1600-h/image%25255B8%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_zVdN8qSHvklKjiF4GjFN-4LgNz5_JIfRpTMVyC6ovCURKr2fEYA7w-k4ztUm7B7_RQcKnlOD8kiru0h0gzJqzjZjRCwLUruqRUkRK4GNoxOsSGvImSo5Bwn1todc1bWXgMHOjngCt1Yu/?imgmax=800&quot; width=&quot;484&quot; height=&quot;272&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt; For sending the data to lab same document definition has chosen for outbound healthcare adapter configuration.In mediator just assign the value like below,&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGCAvMxodqiC4jlfns82D0ID0hQ8lt6cEJpW3HeBkTEjT8XrYap5Za6U7Yei4XxUa5-WobPrePH16hWOEZ5VrqjOstdyZ7sTu3LaIIcm4pOCZenBpMPP1xkTT1whxMH_aG6ffii8rgoqzw/s1600-h/image%25255B12%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDwes0ELf8kUyOMWEMKDRjjS7jcJwpArt5AzmlGhqt2yO18SRkjvOe4D7t1nMsv7z9GkZZW4O_XOFnvLvSWKo7uaydDF96XpOy68ed6FD_-r3fY4XijAjYkS2292TuCOmU7oyB-FnFqCHy/?imgmax=800&quot; width=&quot;740&quot; height=&quot;413&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;I also set the resequence expression in the mediator,&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUY-nVYUZpmg8Fwr-_Znz8hFDjY_CO9HgLizs-33hNFKLJJWVt4I6ltHG1vqSeKj1npHI12w1JPzUMSvMCw0GYe2jrXHHraRjkPFAo0UN6kpfcQfhBxOr9TQUq9fey2dQIVz44bDlXtErt/s1600-h/image%25255B16%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxJWztkqpOqRWhyIzyKyTKleUyvBF2695g71ICUXr5VzeGOC3ouKdOnZCTlZSpP-NPYfLcPPW5JfxhzZfMcL4UU7Ye0cudct1jiOIyHAf6gzXJqJHO4iPjR9dE_N5rDmWBt-EisTt3Oz19/?imgmax=800&quot; width=&quot;753&quot; height=&quot;396&quot;&gt;&lt;/a&gt;&amp;nbsp; &lt;/p&gt; &lt;p&gt;Now deploy the composite in SOA Server.&lt;/p&gt; &lt;p&gt;Log in to healthcare UI and create a new endpoint with FILE as transport protocol like below,&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW2-9hbCCGwjCAuwW8ikAakjoCfffBnWSAnaDeXcbbVFQf7w5OZcL6VSf5SCRwcissE8oH4M4LZ-zyAE3Sg8etNt3PRwRcejJvPtGgKdsUeEgyn8HQ3DFu5YDvwRD1TRMsmsRcg2E0kbnd/s1600-h/image%25255B21%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwbdwf4EIylKreRjpny8wz2M51TTVNgP7-8W0WHaS8WXafEPh21s5iOwgsGbje0r3BPsX2St8yWNcuiYue05DQQV3kWfS-6zGlnEvCoOaYkSL4cVDUzP-5DCDT6VM2lhcV4zrBzH0_lErj/?imgmax=800&quot; width=&quot;1037&quot; height=&quot;345&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Here give the polling directory and under the composite dropdown select the one that you just created above.Verify the listening channel under B2B console after enabling the same,this is what I said in point 6 above.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7oe4hf0DJk4gK3PFxuPQLyjabYMdtQOTycPW1ozEoVGHdTAaWcPUG-ikwk4l1DzNsGpRUQWv3rJdvuO0Gcrv1rhHcpFcYQX9mkDHIJuHCPR8trWZ7bCyuHX40jqp5BlVR8WK25SYp6frU/s1600-h/image%25255B26%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCi0LtsbdDRc6HM8Wr2xrejZFUMjtrgwELvc4tBLo2eL809Y7gpTM8q073vb3An3YFEqtD8pbNCCnxO9s_HnrYkvWOQ0dyybQSSJPbIch5nvJJH8l69viLXOjV336x9HLX-paz6v5pQNCn/?imgmax=800&quot; width=&quot;1052&quot; height=&quot;451&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;That’s all, we are ready to go, place a file in the polling folder and from SOA em console you can see the instance,&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN3-fWiUFrA_hYdRjXsQCotQXaqpj3ZPbRv_V6xdxbUAoiCA-DAcrV50ib_rGQn6cJ_Ng2ZO_jnXrv5MkahYHSAVI_4NVmH1nFSUSy8d8TmZ8LCKmYqXSZuuObs9gQ3CooJsNTOq6WIBDB/s1600-h/image%25255B30%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwM4cv903ZOSvxveTc1NnLdIkkpG7DYfl6OgvK0LxUM5AD-L25AXtHDA82W1K603sJ3GpFalhJ4S70i8bB4HGoAn1BttH0GUDoeU4JvBgQCIhP_meF4D6ZJ1jID-WjmmgW7xVicEn0ZUgX/?imgmax=800&quot; width=&quot;740&quot; height=&quot;416&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Go to healthcare UI report and verify the same,&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYVqUktpqp481129YHTZkg56bttk4tXq9ZDObiVUK1tFtMUUg5yYYO0eeMBBzkObWoK0XpL0h_32eiqrIrkG64Wy_UXeO7xNbDwPqsLsjWr4-E3-4ucyQNn92o06BZIZSzz1Yp9uejWjgL/s1600-h/image%25255B40%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB6a5iWW-UWujaXMeBifuozxkrklnD-8aIBg57FXu8yy-KZilC9Nu0-3tKDpSVktxPhWMTkvC-9MDiH-a12ZvDQ569DHRVdyfi5j4mV0tHPnwCn_4a2DhXntEZEQP7sRkaV4IQ5qTebXeq/?imgmax=800&quot; width=&quot;1007&quot; height=&quot;723&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;So like B2B we can also start the healthcare integration from file polling instead of using b2bsimulator.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://shrikworld.blogspot.com/feeds/1155017439046604768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/342277253848129789/1155017439046604768?isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/1155017439046604768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/1155017439046604768'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/2014/05/oracle-b2b-healthcare-integration-with.html' title='Oracle B2B Healthcare Integration With Inbound ADT File'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBSbWpwCIjdusgYI-O55hRaBAaHatWnouVcWdqY99LPDmxLi9mAqGeqQpUz3Qr90B3ieJz9xFpRd76oHuudjKLStZqAg3riHzOqLk4GGIC7MGbS-z5fsseO46CmT4IUE203v9sqVlecATt/s72-c?imgmax=800" height="72" width="72"/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342277253848129789.post-287489878884252810</id><published>2014-04-24T21:22:00.001-07:00</published><updated>2014-04-24T21:22:44.703-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="OEG"/><title type='text'>Tune OAG JVM</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h4&gt;&amp;nbsp;&lt;u&gt;Tune Policy Studio&lt;/u&gt;&lt;/h4&gt; &lt;p&gt;Under oagpolicystudio directory there is a file policystudio.ini which contains the memory parameters for associated JVM for editor. For example, you can increase the Xmx value if your studio is too slow, &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7nWMc3AW2QErLDnZPIaJH287aNGS3nlnp_97FNx-YYGC9qbaLHEziSpUysoxNLY4wYdq-6hTqPd0VKR5fwk_WmmKon8nbpOtoQ8eGcBuWjaNfK2I_jnFMufbo-U65lpdnR5gdFhrt7rJh/s1600-h/image%25255B5%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaK7VLl1uujwIlW1np-y9R9RaJvgAqDTmJooX5WQCkYbW_ol8ItAp27-d_FId2s89rY4-c3ytwyBdkRVLXn7GKkCg1PLXhDDfqCzsIwRjV5pF7VwqBWHNrJVKrHK_NmL2a05Lm8ruGDndf/?imgmax=800&quot; width=&quot;206&quot; height=&quot;123&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;h4&gt;&lt;u&gt;Tune Gateway&lt;/u&gt;&lt;/h4&gt; &lt;p&gt;To tune JVM parameter in OAG server you need to play with jvm.xml. For example, &lt;p&gt;1. Heap-dump on ctrl-break &amp;lt;VMArg name=&quot;-agentlib:hprof=file=heap.out,format=b&quot;/&amp;gt; &lt;p&gt;2. Heap Dump on OutOfMemoryException &amp;lt;VMArg name=&quot;-XX:+HeapDumpOnOutOfMemoryError&quot;/&amp;gt; &lt;p&gt;3. Increase JVM Memory &amp;lt;VMArg name=&quot;-Xms1024m&quot; /&amp;gt; &amp;lt;VMArg name=&quot;-Xmx1024m&quot; /&amp;gt; &lt;p&gt;&amp;nbsp; &lt;h4&gt;&amp;nbsp;&lt;/h4&gt; &lt;h4&gt;&lt;u&gt;Cipher Configuration&lt;/u&gt;&lt;/h4&gt; &lt;p&gt;You might need to configure cipher under advanced SSL tab though it depends on project need. For example, &lt;p&gt;&lt;i&gt;TLSv1:+HIGH:!SSLv2 RC4+MEDIUM:!LOW:!aNULL:!eNull:!NULL:!EXPORT56:!EXPORT40:@STRENGTH&lt;/i&gt; &lt;p&gt;&lt;strong&gt;Apart from that make sure,&lt;/strong&gt; &lt;p&gt;1. Every policy needs to be mapped with relative path in OAG. &lt;p&gt;2. Remove all unused HTTP ports and interfaces. &lt;p&gt;3. Remove all unused policies which are excluded from project scope. &lt;p&gt;4. Remove all dummy connections to external entities. &lt;p&gt;5. Remove all the certs from cert store which are expired. &lt;p&gt;6. Remove all the users which are not allowed to access and configure OAG.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://shrikworld.blogspot.com/feeds/287489878884252810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/342277253848129789/287489878884252810?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/287489878884252810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/287489878884252810'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/2014/04/tune-oag-jvm.html' title='Tune OAG JVM'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaK7VLl1uujwIlW1np-y9R9RaJvgAqDTmJooX5WQCkYbW_ol8ItAp27-d_FId2s89rY4-c3ytwyBdkRVLXn7GKkCg1PLXhDDfqCzsIwRjV5pF7VwqBWHNrJVKrHK_NmL2a05Lm8ruGDndf/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-342277253848129789.post-7673018915686459092</id><published>2014-04-23T21:25:00.000-07:00</published><updated>2014-04-24T21:25:15.497-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="OEG"/><title type='text'>Dynamic SSL Configuration @OAG [Oracle API Gateway]</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&amp;nbsp;&lt;u&gt;Configuring Dynamic SSL Interface&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Here SSL interface need to define by selecting appropriate port. For that you need a certificate and that needs to bind with SSL interface. Binding certificate with SSL port should be dynamic and certs will be picked up dynamically during runtime from environment variable. So in future if you want to bind another cert with SSL port you need not to change any code, just update environment property file.  &lt;p&gt;For example,  &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHynWb-pORDD7lDrpXceqZc9WXCO1z0zRbz7aL2PoQIEvtJ11OLEht6CpQnJ2vc3-iMYbAUsUHVM2pt653xGS9iksPJ1QeGmI3XF18Nj28nEkjjkRg5lxzfd7NcSxWTOZKhI5E4Vigs-XL/s1600-h/image%25255B3%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlDEKGXYkSS6t_xuePZM55M3L3g4GgDvIWoUENJZIwn-VPaHe641dWHa2hZ5iM_ynQ4M1qF364vVYm9x8lDl4lystPS4oU_gGkQ0x4HU94-J9gvvr-8XRYPUIgYWXdt-XPNTAasMmzimzS/?imgmax=800&quot; width=&quot;522&quot; height=&quot;275&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Here X.509 Cert binds to environment variable and here is the excerpt for the same,&lt;/p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGx6qMOfa9zexpnkL5KepiX62SnwwFVcT0qD3jHplvvA8Uk-Ft-v4fyeXeehMiRWkkouYBh98Z9_w_O6MkJgRrRxEYqtULKgtoF0NzFQly2p-vkOlMAwy86SQIvDenQf6or_79_QldV3Xb/s1600-h/image%25255B7%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6W8QMCXAOMWkjT7pAMTA_AdiwDQI9hNl-7m7Wbd44e54itub-c0NdJcNxs2KJNqly5gnxsnQwaLQKIcJRqfmyKEvKEoEkGo1EDw_yuVbzfGYysH1avbH7P0EEMxP8n1Pu17I5xcPsD2aQ/?imgmax=800&quot; width=&quot;530&quot; height=&quot;214&quot;&gt;&lt;/a&gt;  &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;If you look at certificate with alias SSLCertServer has been created in OAG.  &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZpym7SB6vhHzPBkOCsG8QnSYkK8liGGrP7rE1tIK9qMYFmp9UtEWeGNZMegiX3qSL1MkNFF5lO962X8MDwtSij9CH3nAlfPKr2AtOnZxWDN8mxfnIhdMb1BUjabQXQRHcQMWtPY1GH6Gh/s1600-h/image%25255B11%25255D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsVRpixqK9nVS0hdS9NTKmPCKXsCDBRzkbWu0RTnPohbmKKEW6S5ScGpsQeeIvbdXhHjVWyEEkdDPR-kgVC9gdEa9RXf12AqAGZahqIuFhOG2QkZy4BZB4gzcCDHdmcpAYwAwbZk4N0MSr/?imgmax=800&quot; width=&quot;513&quot; height=&quot;448&quot;&gt;&lt;/a&gt;  &lt;p&gt;Notice the SSL port also accessing environment variable by ${env.PORT.INBOUND.SERVICES}.&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://shrikworld.blogspot.com/feeds/7673018915686459092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/342277253848129789/7673018915686459092?isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/7673018915686459092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/7673018915686459092'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/2014/04/few-tips-on-configuring-oag-oracle-api.html' title='Dynamic SSL Configuration @OAG [Oracle API Gateway]'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlDEKGXYkSS6t_xuePZM55M3L3g4GgDvIWoUENJZIwn-VPaHe641dWHa2hZ5iM_ynQ4M1qF364vVYm9x8lDl4lystPS4oU_gGkQ0x4HU94-J9gvvr-8XRYPUIgYWXdt-XPNTAasMmzimzS/s72-c?imgmax=800" height="72" width="72"/><thr:total>2</thr:total></entry><entry><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><category scheme="http://www.blogger.com/atom/ns#" term="SOA"/><title type='text'>Securing SOA 11g Environment:Part 2</title><content type='html'>&lt;p&gt;&lt;font face=&quot;Calibri&quot;&gt;This post continuation of my previous one &lt;/font&gt;&lt;a title=&quot;http://shrikworld.blogspot.in/2011/07/securing-soa-11g-environment.html&quot; href=&quot;http://shrikworld.blogspot.in/2011/07/securing-soa-11g-environment.html&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;http://shrikworld.blogspot.in/2011/07/securing-soa-11g-environment.html&lt;/font&gt;&lt;/a&gt;&lt;font face=&quot;Calibri&quot;&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=&quot;Calibri&quot;&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=&quot;Calibri&quot;&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=&quot;Calibri&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiosIF-yTFh2w9CJAyFzTA_EmsoaeFYIzALGN2_exgqVHbbFTQwBy2HSJzpPjkn7SixK_Vlfkpa7ud6NJxOn8YLVsc4SnNFp734J2mrHT4ISvEZpJUXGVO9g9Y7kR7aVynWjX3PuMb5D-vO/s1600-h/image%25255B3%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7bhNLGRIFYe8S47aovxm9AiXHpxcRVxnKPEYiEzT5Ntgd-jHxU2e_LbvXfKplBrCCkECpUMPTkNOt4Tmzw2cA98Ivzlomr2r-q74PvmCBYJ_QCD7y5KUFd7ji9WGoE9C4LylrzEatajl4/?imgmax=800&quot; width=&quot;398&quot; height=&quot;309&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Calibri&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZJTRw390-K8SuhJfxF4M4_mcryxOfumPxEi3hKIT36LW-Xkv_aDWpzl-Q8za8wfNF6_tPT3OXawabf9u_Nv_1OkCAR0jBY493DKLQocflzEPh19uAO7QnuGsJZuoR-3Q5NzIlz_2Ju_Hr/s1600-h/image%25255B7%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKlWWIV6itfHrn7g3C2_HXAn76M1YU6nrK3q_Uuor_c7aUHLOb7tDtKwZgCg40KM0Zx_UOKYh5tDsfxaO42UjnWP2Dh2EtKLvfuLZL8JJjk_x9HnqHKAuybOFRrPr2MgBHK1pitZtz-xUb/?imgmax=800&quot; width=&quot;356&quot; height=&quot;93&quot;&gt;&lt;/a&gt;&lt;font face=&quot;Calibri&quot;&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(&quot;X.509&quot;);&lt;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(&quot;CN: &#39;&quot; + cn + &quot;&#39;&quot; + &quot; HOSTNAME: &#39;&quot; + hostname + &quot;&#39;&quot;);&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(&quot;Shreekanta&quot;))) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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; &quot;[-.*aA-zZ0-9]+\\.qa.go2broadband\\.com&quot;;&lt;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(&quot;.&quot;, &quot;\\.&quot;);&lt;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(&quot;-&quot;, &quot;\\-&quot;);&lt;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(&quot;*&quot;, &quot;[-.*aA-zZ0-9]+&quot;);&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(&quot;pattern doesn&#39;t match hostname&quot;);&lt;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(&quot;CN=([-.*aA-zZ0-9]*)&quot;);&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(&quot;Couldn&#39;t find match for CN in subject&quot;);&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;  </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/fullpage/post/342277253848129789/7034168583669304036?isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/7034168583669304036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/7034168583669304036'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/2013/02/securing-soa-11g-environmentpart-2.html' title='Securing SOA 11g Environment:Part 2'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7bhNLGRIFYe8S47aovxm9AiXHpxcRVxnKPEYiEzT5Ntgd-jHxU2e_LbvXfKplBrCCkECpUMPTkNOt4Tmzw2cA98Ivzlomr2r-q74PvmCBYJ_QCD7y5KUFd7ji9WGoE9C4LylrzEatajl4/s72-c?imgmax=800" height="72" width="72"/><thr:total>1</thr:total></entry><entry><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><category scheme="http://www.blogger.com/atom/ns#" term="SOA"/><title type='text'>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=&quot;http://www.sauronsoftware.it/projects/ftp4j/&quot;&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=&quot;java.util.*&quot;/&amp;gt;&lt;br&gt; &amp;lt;bpelx:exec import=&quot;java.lang.*&quot;/&amp;gt;&lt;br&gt; &amp;lt;bpelx:exec import=&quot;it.sauronsoftware.ftp4j.FTPClient&quot;/&amp;gt;&lt;br&gt; &amp;lt;bpelx:exec import=&quot;it.sauronsoftware.ftp4j.FTPFile&quot;/&amp;gt;&lt;br&gt; &amp;lt;bpelx:exec import=&quot;java.io.File&quot;/&amp;gt;&lt;br&gt; &amp;lt;bpelx:exec import=&quot;java.io.FileWriter&quot;/&amp;gt;&lt;br&gt; &amp;lt;bpelx:exec import=&quot;oracle.xml.parser.v2.XMLElement&quot;/&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=&quot;XXXX&quot;;&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=&quot;YYY&quot;;&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=&quot;ZZZ&quot;;&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(&quot;filePDATA&quot;);&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(&quot;SelectPDATAOfFileDB_InputVariable&quot;,&quot;SelectPDATAOfFileDBInput_msg&quot;,&quot;/ns6:SelectPDATAOfFileDBInput/ns6:FILE_NAME&quot;); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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(&quot;Connected to server&quot;);&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(&quot;Connected to FTP server&quot;);&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;  </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/fullpage/post/342277253848129789/541217140009257132?isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/541217140009257132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/541217140009257132'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/2012/09/how-to-ftp-flat-file-from-bpel.html' title='How to FTP flat file from BPEL'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><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><category scheme="http://www.blogger.com/atom/ns#" term="SOA"/><title type='text'>Configure SSL in FMW DataSource</title><content type='html'>&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;http://www.oracle.com/technetwork/database/enterprise-edition/wp-oracle-jdbc-thin-ssl-130128.pdf&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&gt;. &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font size=&quot;2&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&gt;Enabling SSL in DB:&lt;/font&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;First create a directory under C:\shrik\Oracle\Database\product\11.2.0\dbhome_1\BIN\owm\wallets\test where I&#39;ll place ewallet.p12.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXKeP7WJtSlCGg4dHm49bcyBBgon26jx3h9eaVsXdmI2zbFrhdANPJt-gPEj6luDfYCyzooK1-f5Bxb2qDp_sUMU3eNFEs8nH866HNUUdya0Ww-NPgX7Bl3_Voq0BLPOXkq9ZZ7g59SRXe/s1600-h/image6.png&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOsRpRNEBAPsva9jC77B3Az5a4qYlqwMXdvCaquLqnC7omdUL-m6nQ6fqk-dMDeivdX9QSMWFaIzIKlhtSR2QeCijycwbQEjwr0w9aAmLZXiNmbHd_3zi-8J8f7KTjdfEqBaK-eoBPw-8k/?imgmax=800&quot; width=&quot;578&quot; height=&quot;223&quot;&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;that will create ewallet.p12.Open OWM and wallet,&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-nuJOD2QbVBwDWltxQUQYW0LpnRcoeGaacw5ZyYcYtVrgYInu9tnQVgH7ngfukyN3uOTgsv-2jMDDBLzxG-o3OG1Q_hLLA1e-E5M4F-C05BhtjLKEPEYkFQcw1iqfPFw9WARyDcZJIjy-/s1600-h/image11.png&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiz_ThprKV6tTx_vi7Weus1nVbitlZrJzBuJthSkZJhlf0-8RbrjUu4i5_w5PDzQ0kEPJ8VtfnHJikMCXjOW0uGGxCJLR9gQmGEyzF-7s3hWn0HYwtt4tXEIFdVtC13Bxqt_VNHah4lIy9k/?imgmax=800&quot; width=&quot;455&quot; height=&quot;385&quot;&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;Just need to add a cert here,&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEyPb7CNLnbF3-mgTqjq1lq6GRYlhxpW451u5n35dFQcQw8x7pKb-WfQGDpph2i6VrUQq7zippwzJn5JXLB80tlxmJnAv7CmolcE8Tc8Ak1Gfc883M-M4pZzCa8frE9W4Mz3W1v5CGDEAH/s1600-h/image%25255B4%25255D.png&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_ca2en3106ZV6TqcavgXe3cKqXw5eQa_wrJfjlRs_murnQEC-_Dx9MySO-qYYoafXkab8EWLroxeCjWHmFnlBdFSa1v7tlbaFrtZcacGgaB8mrqVgZWourXFoy-eTmaNiv_CA5qm3AKS1/?imgmax=800&quot; width=&quot;473&quot; height=&quot;397&quot;&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinyd7rIunq3Vy-_mtXqSoAHgif-v2QWqdz56g3XPkBZ8-pKZhBNexTMNeJOhmqOvd2dK_Rrlg4m65syLSpTMKV5KTa3RKN5u2VMG24JSgHAhn1R5DFR4W3h_h3PSczYsEjCDR1uGDwVK-P/s1600-h/image%25255B8%25255D.png&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuBJMFw8zs_Txbt_kh2hbWkyUTOB85Iz-JjH-XJlElaHhxw5aArz6N-CuyQ2o4GmnijLfkGRleajyH1aIC7O-uUNy2KC_3OGpjDWl1EzyJkY8P1zG2Me5N8vukRvzcV5a28DBcPdctgXcP/?imgmax=800&quot; width=&quot;483&quot; height=&quot;385&quot;&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;Now basically you need to export CSR and submit to CA.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqtngJa6YWzOq_ndBnDPvvHANB7msjwV83CYSKioq5LPBvcnK18v0W0i6rrwqDVnK-lJPMNGkZ72Sh2ApaZwL-gc_wlMJAq3K_LepP9zPm3FdS0C__uux_Iy5QCD3hOMDC2ej4OiCHw9JI/s1600-h/image%25255B13%25255D.png&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5d3unKbog2v2DmXkpJQU9F46YRf307ydi6TPwSIjbCQrS2Qkfa8t5Ia1tsbG9toSnn1Y4IrA9w0Mi3lpCg-Gf0tqmYHZGg1kOhpqjJmDZ9K3g1XJUGs0vVPn4VnQWjXvLKfavsuHPswff/?imgmax=800&quot; width=&quot;490&quot; height=&quot;411&quot;&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;For my case I&#39;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=&quot;http://shrikworld.blogspot.in/2011/07/securing-soa-11g-environment.html&quot; href=&quot;http://shrikworld.blogspot.in/2011/07/securing-soa-11g-environment.html&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;http://shrikworld.blogspot.in/2011/07/securing-soa-11g-environment.html&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;]&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-8T12bybbqQUjz5nkuRq1R7sqiYsHnT0DqoDrEWYSUOuXKRSbD7eA5f4_TzZUownt60YtjtbzMb5NuRpFpxyQXD8RDesbfRhFlMBfX3dJcUC43viRYMTjh8GuEHohuHRPCIK0WrJAqClu/s1600-h/image%25255B17%25255D.png&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-186RHVxavqsQ1m5Lw2d1_Okh8FldmnlJxEg4rbYsqN5vOa3B8u54KCaiN4QlNse0-q-ygzqlirubtDiVoytR2HrFIIUKQZ8DRgxqtjUDTJtpebTfvv9aghcvR_FJiBAhZOsvb6r3BmjG/?imgmax=800&quot; width=&quot;486&quot; height=&quot;217&quot;&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcs9C35NSta1k2SgS-2cDf1_Uef58nLTnjXrECXw-p3H-mG76917gsVAzw3zAFTkNXFxLRDcP_QJFta-JyPsimB3UjCsXDshRva4kaNKkKhgPZZNFJF24yUbtMrhWYBn9JH8X9T5EQc_xo/s1600-h/image%25255B22%25255D.png&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghCteb-Zb0jksU_jQo7UoeP6fDXg2BJD9eENHUp_U1KUVLRmU9l9T6egFBQ6aNMOcaNEo-zM0UnNM-2X_zVdG_ece2YHpKGiHT-s4a3GnLeTYG1Ek8Zsaa2TYn2V63gXC9J5leN26_5hTw/?imgmax=800&quot; width=&quot;539&quot; height=&quot;436&quot;&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAid_r713lz6oanCJq1FgvwJBbX8z0SZd96kOGg1rFr0j1Qi1biUX2nGffxeV1Z8jcP3JTgVjeyHfEYs6tC87lW4tlIKYHvbzepHG1SRFsxVwfLewGNgdOZMHvu5ATJ_UjoINH5UpbrwE0/s1600-h/image%25255B27%25255D.png&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqyyIehfo9Ak10X2yI5geMrRSj0FnwyFG4Q8aAF19uvddFOomzsjDnhztO9luJIRDwMVs1uFvdhalCtXNfZPzTytmu9tT_jVim_Boe9TMIJbBXTQSHiR2obq4Ji93q3OqzWql1FBNvbxib/?imgmax=800&quot; width=&quot;537&quot; height=&quot;390&quot;&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNNY_XUZZ3NJFGvAjwJrSSmwRxCHuvqE_l_Q_M369vsh_qD73nE2ypRWJBfOgkiDhw4ylMIqslS4DaKjSe2kBg4EQlBSZRNPtU2KN3EySfxXMi2OwqplSjXQUObwOQH7nn3Z3vefKLzzvZ/s1600-h/image%25255B31%25255D.png&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTBVO5cQYqSXlq82xlhy9cQLqEF8qfqdPPKjfY8n3a6q4h8U3A-5SHVkyMi1O5_3iA5g-WEA0gxgvCQVo2XZXxUgEGTRpA_Tvmc4Mf2FYI9tjb9tEibSowA7-7rmFR8RDMeOAe-f4gUmfk/?imgmax=800&quot; width=&quot;475&quot; height=&quot;391&quot;&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;Now we need to modify the following files accordingly,&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;listener.ora&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&gt;# Generated by Oracle configuration tools.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;SID_LIST_LISTENER =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&amp;nbsp; (SID_LIST =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SID_DESC =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ENVS = &quot;EXTPROC_DLLS=ONLY:C:\shrik\Oracle\Database\product\11.2.0\dbhome_1\bin\oraclr11.dll&quot;)&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&amp;nbsp; )&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;LISTENER =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt; (DESCRIPTION_LIST =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (DESCRIPTION =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;Calibri&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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=&quot;2&quot; face=&quot;Calibri&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&amp;nbsp; )&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;ADR_BASE_LISTENER = C:\shrik\Oracle\Database&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&gt;SSL_CLIENT_AUTHENTICATION=FALSE&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;tnsnames.ora&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&gt;# Generated by Oracle configuration tools.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;LISTENER_ORCL =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&amp;nbsp; (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;ORACLR_CONNECTION_DATA =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&amp;nbsp; (DESCRIPTION =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (ADDRESS_LIST =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (CONNECT_DATA =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&amp;nbsp; )&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;ORCL =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&amp;nbsp; (DESCRIPTION =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (CONNECT_DATA =&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&amp;nbsp; )&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font size=&quot;2&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&gt;&amp;nbsp; (DESCRIPTION =&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SECURITY=(SSL_SERVER_CERT_DN=\&quot;CN=test,C=IN\&quot;))&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&amp;nbsp; )&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;sqlnet.ora&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&gt;# Generated by Oracle configuration tools.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&gt;# install &quot;Software Only&quot;, this file wont exist and without the native &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&gt;SQLNET.AUTHENTICATION_SERVICES= (BEQ,TCPS,NTS)&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&gt;SSL_CLIENT_AUTHENTICATION=FALSE&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&gt;Add the certs that you generated in above steps in weblogic trust store.[please refer &lt;/font&gt;&lt;a title=&quot;http://shrikworld.blogspot.in/2011/07/securing-soa-11g-environment.html&quot; href=&quot;http://shrikworld.blogspot.in/2011/07/securing-soa-11g-environment.html&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;http://shrikworld.blogspot.in/2011/07/securing-soa-11g-environment.html&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;]&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;restart weblogic server.Go to the datasource,&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&gt;jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCPS)(HOST=localhost)(PORT=2490)))(CONNECT_DATA=(SERVICE_NAME=orcl))(SECURITY=(SSL_SERVER_CERT_DN=&quot;CN=test,C=IN&quot;)))&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&gt;javax.net.ssl.trustStorePassword=Password&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;user=DEV_MDS&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&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=&quot;2&quot; face=&quot;Calibri&quot;&gt;javax.net.ssl.trustStoreType=JKS&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;Test the same.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;Now the datasource is SSL enabled.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Calibri&quot;&gt;&lt;/font&gt;&lt;/p&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/fullpage/post/342277253848129789/689960861819697569?isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/689960861819697569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/689960861819697569'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/2012/05/configure-ssl-in-fmw-datasource.html' title='Configure SSL in FMW DataSource'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOsRpRNEBAPsva9jC77B3Az5a4qYlqwMXdvCaquLqnC7omdUL-m6nQ6fqk-dMDeivdX9QSMWFaIzIKlhtSR2QeCijycwbQEjwr0w9aAmLZXiNmbHd_3zi-8J8f7KTjdfEqBaK-eoBPw-8k/s72-c?imgmax=800" height="72" width="72"/><thr:total>1</thr:total></entry><entry><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><category scheme="http://www.blogger.com/atom/ns#" term="OSB"/><title type='text'>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=&quot;1.0&quot; encoding=&quot;windows-1252&quot; ?&amp;gt;&lt;br&gt;&amp;lt;xsd:schema xmlns:xsd=&quot;&lt;a href=&quot;http://www.w3.org/2001/XMLSchema&amp;quot;&quot;&gt;http://www.w3.org/2001/XMLSchema&quot;&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=&quot;&lt;a href=&quot;http://www.oracle.com&amp;quot;&quot;&gt;http://www.oracle.com&quot;&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=&quot;&lt;a href=&quot;http://www.oracle.com&amp;quot;&quot;&gt;http://www.oracle.com&quot;&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=&quot;qualified&quot;&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;xsd:element name=&quot;PurchaseOrder&quot;&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=&quot;date&quot; type=&quot;xsd:string&quot;/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:element name=&quot;custID&quot; type=&quot;xsd:string&quot;/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsd:element name=&quot;items&quot;&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=&quot;item&quot; maxOccurs=&quot;unbounded&quot;&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=&quot;description&quot; type=&quot;xsd:string&quot;/&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=&quot;department&quot; type=&quot;xsd:string&quot;/&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=&quot;price&quot; type=&quot;xsd:float&quot;/&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=&quot;quantity&quot; type=&quot;xsd:integer&quot;/&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=&quot;id&quot; type=&quot;xsd:string&quot;/&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=&quot;cardDetails&quot;&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=&quot;type&quot; type=&quot;xsd:string&quot;/&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=&quot;cardNumber&quot; type=&quot;xsd:string&quot;/&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=&quot;id&quot; type=&quot;xsd:integer&quot;/&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=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&lt;br&gt;&amp;lt;p:PurchaseOrder id=&quot;1234&quot; xmlns:p=&quot;&lt;a href=&quot;http://www.oracle.com&amp;quot;&quot;&gt;http://www.oracle.com&quot;&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=&quot;GF234324&quot;&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=&quot;HD312782&quot;&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=&quot;HD998775&quot;&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=&quot;KD123984&quot;&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=&quot;HD998775.&lt;/p&gt; &lt;p&gt;Solution: $body//*:item[@id=&#39;HD998775&#39;]&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;  </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/fullpage/post/342277253848129789/9155229932045898511?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/9155229932045898511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/9155229932045898511'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/2011/12/xpath-in-osb.html' title='XPATH in OSB'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><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><category scheme="http://www.blogger.com/atom/ns#" term="SOA"/><category scheme="http://www.blogger.com/atom/ns#" term="XSLT"/><title type='text'>Search &amp;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(&quot;trx.properties&quot;));&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(&quot;FileRoot&quot;));&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(&quot;FileRoot&quot;));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String[] extensions = { properties.getProperty(&quot;FileExt&quot;) };&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(&quot;File = &quot; + 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(&quot;SearchStr&quot;),properties.getProperty(&quot;ReplaceStr&quot;));&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=&quot;com.shrik.utility.SearchAndReplaceXSLT&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguuYxXknnjtc6nGlLlm6SezGzFS6hHkaro5jsPn_2-TJc3h6GdnFZRSwZ9lwK8C6Dm2LaWdX6Je6bDYpx8A-92UD0dqNpzlbI8Y_3Zf0BK1RXPrYevw3C_3crFds7pmWe6VoF3m4BqgyrR/s1600-h/image%25255B4%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXrCFcA14JZZFxxMFtGXhLIb0ykXkICjf1yHPmtzt41Hm5JvGTZlzrhdjQsSv8ga1ozAz1Krg6n4oG7oyYKMNtik979wq8aVgql83HGK-MTU9qFgKvwPca9akKZoZd2Mi_CYfK87y0ybQ-/?imgmax=800&quot; width=&quot;455&quot; height=&quot;171&quot;&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=&quot;SearchAndReplaceXSLT&quot; basedir=&quot;.&quot; default=&quot;run&quot;&amp;gt;&lt;/p&gt; &lt;p&gt;&amp;lt;property file=&quot;trx.properties&quot;/&amp;gt;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name=&quot;jar.dir&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; value=&quot;${build.dir}/jar&quot;/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name=&quot;classes.dir&quot; value=&quot;${build.dir}/classes&quot;/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;path id=&quot;classpath&quot;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;fileset dir=&quot;${lib.dir}&quot; includes=&quot;**/*.jar&quot;/&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=&quot;run&quot; &amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;java fork=&quot;true&quot; classname=&quot;${main-class}&quot;&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=&quot;classpath&quot;/&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=&quot;${jar.dir}/${ant.project.name}.jar&quot;/&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=&quot;deployAll&quot;&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=&quot;${trx.amendment}&quot; arg2=&quot;true&quot;/&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=&quot;${env.CURRENT_FOLDER}/trx.xml&quot; inheritAll=&quot;false&quot; target=&quot;run&quot;/&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=&quot;${mds.enabled}&quot; arg2=&quot;true&quot;/&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=&quot;deployMDS&quot; inheritall=&quot;true&quot;/&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=&quot;${applications}&quot; param=&quot;application&quot; target=&quot;deployApplication&quot; inheritall=&quot;true&quot; inheritrefs=&quot;false&quot;/&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;  </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/fullpage/post/342277253848129789/8579572986071071215?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/8579572986071071215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/8579572986071071215'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/2011/10/search-replace-jdbc-data-source-in-xslt.html' title='Search &amp;amp; Replace JDBC Data source in XSLT using ANT'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXrCFcA14JZZFxxMFtGXhLIb0ykXkICjf1yHPmtzt41Hm5JvGTZlzrhdjQsSv8ga1ozAz1Krg6n4oG7oyYKMNtik979wq8aVgql83HGK-MTU9qFgKvwPca9akKZoZd2Mi_CYfK87y0ybQ-/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><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><category scheme="http://www.blogger.com/atom/ns#" term="OEG"/><category scheme="http://www.blogger.com/atom/ns#" term="SOA"/><title type='text'>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=&quot;https://docs.google.com/leaf?id=1D0Z0KfgFdvqGHIcpG_7B32mWImGGCRkWhO882KyRVJFYAx94QK9yf6vVTjQP&amp;amp;hl=en&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhFj4Ey8Hs1KdWaRrskZIcWAJBBSvMNoz3gkWRWev-n5F8yuOKWwHCgCnMBTegRNMieKb8f53mNEON_L2H3m75smHmE7yRB1nbhjtbW95sqyvZ3ARlCNkkdJ6UkY_btxYedUTTi7whL1S6/s1600-h/image%25255B14%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg2ndlUAQV18roZ7Oe9dWGwohPtQhjSUoqBevkIHillB79LpbThtr5S7qVFh85CUj7C9Q1Mn19CivFppM7ICLk1nGJQFN0Icyeb6Rg66giDxK_zhOicSum0UASEabO-MmxN-AHIbPmrUdh/?imgmax=800&quot; width=&quot;439&quot; height=&quot;310&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9C1_BfjN0Vj7KtG2nulyGU8e0FLU40bnQjNchfRY9mTLzvrfFpbCVxbij-rToGoEAwTXNKUxUkD_FlybIHMQILf43_N0R_7WScugIMAa_s8YNFAYpAw3hDDkLUL2nujQSagvvJt3wRlZy/s1600-h/image%25255B13%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPTd7GqBjYmhbmw24-u_1NbeWikCvDVTDpFb30POpEscP32FatplLiOtwRuyBjNmvkf6z6YWsTgRCOgzeAVBVRGipIM3EYWbBMmYjwjJljobqoryfmbIJBLo1KeLMboJgr-NAXDmMOOCef/?imgmax=800&quot; width=&quot;442&quot; height=&quot;374&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsLcAzcYs2U9kizJzX0pTxNB3qCuDegiG_F1bAi45yZwPxVpk12r7koZhlEpJdKUYoPm-JwGUwqJSTwH9yHyntaTPJaf9G1twXt39Gw-tJLXDECUDe_fLeApqXNgSbLecIcpcbdEhuZljv/s1600-h/image%25255B12%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhs4Ii5h1pXH4UwVqJ8t7iRrF39q1BYy7qer5zVJoiF-P7XuY2reXEfitvPigcFgVX0Gdtq2buUGiOKKapvktYFq2N7KluPq6CdijYFM3Xj23GLdGjbreXjX7u37MCCx_hXBS2y6zE8SmBC/?imgmax=800&quot; width=&quot;445&quot; height=&quot;307&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiReQ_VbbVYzE3lCjyXufZSnFbM48wYm130Kr2ALJtIipWWKUQnd4bljDPlmqUl6rXMpG40s6Q3qAlmKCT2CEqmHf6XX3i3mk_Dxk57CqLAk9cWq8RPqmxvs6RHu3ECe0pK6HEZtI3FieZ2/s1600-h/image%25255B19%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu9grIhiQMhT8CXV8kQCXFhXC15NZBL_0kbpijaeO5A8beatRYNX9BQBekwY-CTlY5ZGybHqlSsLM8lVbnJRyuuc94vS41Vo_YwGwsUCMF1GmqrF6HpHG1QRXPv-cHA7KqRA9ziiujEC60/?imgmax=800&quot; width=&quot;599&quot; height=&quot;385&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYjyO8GQrjzlOi_BgmeCNzcUrxm70NDSatXTa5g1CHCuVbtXAVkZ_02DNyudYPzhXicpMTJlBDSrJFh_x8nasFeewMGaITNcE8UpJ5RLDKaEqXKxi_NIVYp9JUc02pYO9dqBLi2Qrv9kti/s1600-h/image%25255B23%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqlYLSw35Pn5nFfkBw1QDU24VfEqgHMNG5A170hpD2anL98vqnK8Es7ahxtoXJ-S8DlxjGbG8sNUoC3dUCe2J8cSDHid7O2A_BSGPZL7xRov2tWPmi11xq2GfNPvtWnDTfgABWD8m-HNEE/?imgmax=800&quot; width=&quot;429&quot; height=&quot;273&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHYkD1JJDtz4ukkJeY6Z793isXVEqUMvJaTP5E4PkGtVi1xHNzlrGs2GrmROz4ypK1i38Wem3LoTt0tamBNpy_azYHMqI2cCOMjU9CHD8W8ARvFM2NMYhl6vKZT_AumOSSpXrL2GzPRi4C/s1600-h/image%25255B27%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh88dgHkU-DMkIGzrd2YoOlBTC7mJcKiNekmHxEnMY5YRXx_l3mHmGHk6oKM-xqb-hiVNDZa9nAJubDUe4t4NWXctRadgzUoDnd5oJaGBy7YDNdKsaGEV1VdwvhwmFFzIpC5ih7ZyVowB9X/?imgmax=800&quot; width=&quot;481&quot; height=&quot;288&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjILmEOmGZzfpI4K5_5LyHcsJfbXJezj8EFQxccf3UmAULEcwiOyonlJF6SSL6pndU02PcE790T3q9t8Nq7W5zAx_RNRSCvHIflHDhiRpU-ycXMny-APhYte71mMUQFdoHkgsAf5ycHTqRc/s1600-h/image%25255B32%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhScHeyBMQAMc2lpv9O_SW4q8UypUx7SkdWsUyjfAPeZXOFPjTIRExF2N18JhZzBej2-ZrrMaUSw40-oYLMtH4KkVYFsWdmVlH72hk8NKrc8W410_kqwNwQ9n5pmoRkf8_8VmBOGPlzw1sn/?imgmax=800&quot; width=&quot;597&quot; height=&quot;334&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiShuDcESbVruzFbHEn1L3gO9GFtYeQ71d6ifIuRzAB2ioFYOq7As_V9sZAhvc1MpX4Qr6LUPu3XTNl9iBj-7dFaD107OQHH3Kt6YcsazyMbSc0quodX7ht2xxueN_9o3avgb9WlxhjK3TU/s1600-h/image%25255B41%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhqQeXHNjtOaQieMDFryBNvWb4W8bGvmxRGVvup-NH9yaikh2whNGWw2LQ78oavRNzZ25lt6IliksGSUxuPjuC0BOzuE8ZREx9E_XWne0wKvpuXB1nbNsxSJsI2lGB3tv5e83A2xI_nqDv/?imgmax=800&quot; width=&quot;461&quot; height=&quot;219&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin-LxItuIrPYFCd3tL0Qbdiv14FcgEEBwSBgBJ_ROASfzuyBq6fgV2niDwmLoEF1JuBvaoSEbadH5LdA_ASQDuHCRup82WsDWogFk5V5wb_r7I5aD4XT2i3j6KkpxxC0HnCMHbXSvrxPKy/s1600-h/image%25255B37%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDkgg6n3gZk3rzmu_e6MPQoTey9UdYIVN23SbdzTfbWow2YSoJPNW7eLNU42KViBphX2oJkIfCBp3bYnzmnHnqDFKGbRR3vMe0ghHrSAArljDw0RuWNaEEVLbudgevJoqX6yfKXTq_sIvt/?imgmax=800&quot; width=&quot;598&quot; height=&quot;403&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEMUgedpQP6auybq7g-HaSsEL9-2PSYyOKAJh7OkW1-x2pi7iwwsoFh44qn3AY0iNfafhbdW-D-fM4bW_fYVlF8_e36BebKuHqUXD8LLP7IA_puRMIh0xkWM3vH81-Sd5pgNmzDIJA4iD_/s1600-h/image%25255B46%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhygABNva6LdEuY-P5iF5rtGkBStiTJpneByMZ5xW0XnzWKRst5tUN6OvQkBwBsOjdeRuO1Zq-WG_6Fszjx-fPRnCn6ynwEYXq8IcKLWeluQMk8NnF7DUU89beKlRYmJDbM2EH0Vv-MmqlD/?imgmax=800&quot; width=&quot;582&quot; height=&quot;287&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv6n5gvwdKs4vIc97m_aMiEIYSAKOG9dbXaQEv2wruVGNaMnHpGAnxE2aFOzc3WmFfe9c4bIfpmVxzx8wVvkhey2SElw2mkX7ooSslsySkDsxg6OTc22uN70mDJZoEOkdF7MKyuKcWTkU7/s1600-h/image%25255B51%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiHXYTs1kLfp2_MWjKJJBB6vImVSSQTQ78cVCiMUXFKxsbQprobRD-x-IivuYvbrFGBWStcmicTeZ4MeiITKY1LpdTxjWIXQRVLmU8pJJg4LWsbkOtxKREiky7iAvi86hpbTtqQhiwuKBt/?imgmax=800&quot; width=&quot;602&quot; height=&quot;406&quot;&gt;&lt;/a&gt; Now test the service and you should get HTTP 200 response.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAIMErqEodPHGgkslP5MzQ0Uzmla3udt3gb6sFuLnyx2vYQh6CHHbuRgonGO-3dr1wY3AeRerqf2bxpAWZMTGx-IR9L4LfHZfeEh7jrNFBC6qUbYKhA4LYr6ch5_F6PK-X2AR11bUgVVGk/s1600-h/image%25255B55%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgR0tjpdy8GJp7mbNstQqnIVJd6AlUyeCXL-KY2t2mYlvmPYkuhFcVl_PHzo5rUDHjnZbXRPWb4dsJV-GIIorShgYGzvpVJ07R6xEgQsGMwNTBd0TwFUqFFoBQYMdOKOiCrx0Yr3Q1xRbf/?imgmax=800&quot; width=&quot;597&quot; height=&quot;256&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEtWJhQmMwceKsevim5QXe3ODAXibGonZKbl4pUl6GAG_nwmGFYJa8ce_OA0zH4z2ShoS-j8eyDRxwl0uAOLcJY9pRRNx549VqKPdJId-TSUqvJShzAq84ig1aO6ng2C6DADcNOdMIselP/s1600-h/image%25255B60%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEik3QifJ2J-4mNTkwUj97vUNNCcZbpkHAM3SqvHbOwzogy8GeynHdGW6MAFt81cdN5jgdRP_LR1q6XfMhWWXxqazU4ApzjG6Z6xtAxD1UkCWwAMDAUfuRE8MmpoT5n3_7MbXpX3pbPGXuvJ/?imgmax=800&quot; width=&quot;592&quot; height=&quot;332&quot;&gt;&lt;/a&gt;&lt;/p&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/fullpage/post/342277253848129789/1235699540857944853?isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/1235699540857944853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/1235699540857944853'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/2011/10/securing-bpel-composite-using-oeg.html' title='Securing a BPEL composite using OEG'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg2ndlUAQV18roZ7Oe9dWGwohPtQhjSUoqBevkIHillB79LpbThtr5S7qVFh85CUj7C9Q1Mn19CivFppM7ICLk1nGJQFN0Icyeb6Rg66giDxK_zhOicSum0UASEabO-MmxN-AHIbPmrUdh/s72-c?imgmax=800" height="72" width="72"/><thr:total>1</thr:total></entry><entry><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><category scheme="http://www.blogger.com/atom/ns#" term="SOA"/><category scheme="http://www.blogger.com/atom/ns#" term="XSLT"/><title type='text'>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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNrDU22nF9MuWrnJTawE80pFTRDVnTffSL1I0h3qrDJFObvbulY_qCYikT-JQmWut0w1LEAA9C55R27UpK_m7ddUToxcGI-yKwKWNBOD-J8F6eyRxHdXl6JTOXEeC4PzkgyCRgFaFLzKZ_/s1600-h/image%25255B12%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoYwhOJBfrLHctqs1yYjR4MJcZtmvQOPMyx4hW6QuvNl773mEqcXwydrUsRmXvMRZ329jz3r3X04QMBp7cI5iZFPjZF_0NoAW9jOCyQnRYOkN8lEfmQtHH2NySguKtGO-iQdDOxwPOvI8q/?imgmax=800&quot; width=&quot;438&quot; height=&quot;182&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMOZDoPn1uK87XjBAtU0zo-s-xIglHZu7iZE-synVnpG4F5FtFqVPBNvastVd4Cj0W4uhp0Uh-0-8cpDFXmjw_D-Ml4Edq5jCpRxmr-H9fQDhpmfud_WTTN7M58av2QMXjABFybraYSs0I/s1600-h/image%25255B13%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgkrXYMugAh0bAa21gUo984DErTxR-BT0oG1N0JBUC3misYbUrR82zV1ToR06bRL7J4DBaFbMd3LZSJiAzjLaB3_asHJOb5cOvolN4ptdkNQVy2ttJUmOovcDOZh8MikKebGDDLgBJk0Za/?imgmax=800&quot; width=&quot;434&quot; height=&quot;215&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiItQ-Uqqjg59Cuwn1ygX7NZ7GXa9dYhl6ANdk20FcWwiLXJTDTdlTwm7n-FOY9pW5mebS7FQNq0hWj9er_XHpusQpwUFO3PcLTKIZ3scoTQAIcGE7xtxNKKGaCN8uEtTK8ggK_N8hRQebv/s1600-h/image%25255B17%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2bqX3dEZsWX-saqBIE-IbRfKa9jEnL8a2YaRBVCZwuIzNwqbbuKR5O9kGoMn9Ko_P3BGwT_S-Rl4SPs5Ri_6I4LJw6jxG6rdwGR36plmK4sVTH2BT5DpmlJWiJKTaWCoQ01VcjL4ZUzWs/?imgmax=800&quot; width=&quot;435&quot; height=&quot;268&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYBIvw9l68siti_pBMSvqlLbnOIwNX_kxTL3qCbjsaVZR1Pi2Ki9tiPv1n_FmdxCWVlZzv0re_FQWqj6A7zvG3iavy5eOtVo7ewIGIpSOvfbp5TxxClkymE_XxpfMt8jXpLicQvogUlL88/s1600-h/image%25255B21%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimWJM3gZqzqoMpNOYPToyDaXpFE5ZpOrNjis90yAMhB1NndlVrEAouyEW6zwOuHuuJ4BGeeXQM3awakznAwNN_ldctg9cQU7nznMxj1mo9YqXJmlkiceJzYfebOoLU6HVppChpZHfhsByU/?imgmax=800&quot; width=&quot;460&quot; height=&quot;293&quot;&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:template match=&quot;/&quot;&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=&quot;/ns1:CustomerInfo1/ns1:Customer&quot;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:variable name=&quot;custID&quot; select=&quot;ns1:CustomerId&quot;/&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=&quot;ns1:CustomerId&quot;/&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=&quot;ns1:Name&quot;/&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=&quot;ns1:PAN&quot;/&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=&quot;&lt;strong&gt;$custDetails/ns2:CustomerInfo2/ns2:CustomerOtherInfo[(ns2:CustomerId = $custID)]/ns2:Address&lt;/strong&gt;&quot;/&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=&quot;&lt;strong&gt;$custDetails/ns2:CustomerInfo2/ns2:CustomerOtherInfo[(ns2:CustomerId = $custID)]/ns2:Age&lt;/strong&gt;&quot;/&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=&quot;&lt;strong&gt;$custDetails/ns2:CustomerInfo2/ns2:CustomerOtherInfo[(ns2:CustomerId = $custID)]/ns2:Gender&lt;/strong&gt;&quot;/&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;  </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/fullpage/post/342277253848129789/871342644659874858?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/871342644659874858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/871342644659874858'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/2011/09/merge-two-source-element-based-on.html' title='Merge Two Source Element based on a Common Key in XSLT'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoYwhOJBfrLHctqs1yYjR4MJcZtmvQOPMyx4hW6QuvNl773mEqcXwydrUsRmXvMRZ329jz3r3X04QMBp7cI5iZFPjZF_0NoAW9jOCyQnRYOkN8lEfmQtHH2NySguKtGO-iQdDOxwPOvI8q/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><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><category scheme="http://www.blogger.com/atom/ns#" term="SOA"/><category scheme="http://www.blogger.com/atom/ns#" term="XSLT"/><title type='text'>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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeSZUeIS4-alKxCTkh-m5OwDXxW8vTnW7-k8-MXDwdfCxrVRx4FmucmnA1oMqamzuQ-UUUAXdvSQhaMevzhc2uzyuaJ4B4UFnDQjl9wn9rOmUJD7-8zOxBQUOTtu1g-3rW7BcQxLD7DbDN/s1600-h/image%25255B3%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoFHlToYAahyMCbWnMd31PRY3YOJVmSl5BYbhz2M9JWuXit_o69v98UciWrFg-mXcS8_WXEUq0hH7h8IZvUC5IxeStblWF28-KSPwq68S0KqX1eLjBRVJSzAaLd3y72RXYQ-UA8B4rjbZF/?imgmax=800&quot; width=&quot;587&quot; height=&quot;142&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZQDQ-_WGyH7jGw5oHzSaKpwbmk5leJvCmY1zxw-N-LMWfZ4ajUSLUeCH5e7yFtj2LX-_XHyvvpcVQtbEz47X7R6Wjc0YcYPZ8c09vy4EQlzj578f0dpRgRCaLnWbCsqwhMfQNvk4pXR_K/s1600-h/image%25255B7%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF0dRFTYCXoDpz_mYf0KCXcvowBf00eO-E4_-jThEs3vGDABrUgZEnz8iVRSXsDa3iTFxpCxf-LPaOunoNgS863B44VRJUH1iB-AgixWhi_h6P-otXzo73jebn048jfDvFpqSida9Dz4ju/?imgmax=800&quot; width=&quot;384&quot; height=&quot;280&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-2L6fyu07WJAEk4XHqbUK73uujikT6-LrXaHypgjdSsl5AZz7YOJMJ-ddPhZYUWn786oYD38798F4wMYvVvTFNtfWUMDSqRC4rbiNYe81j8pQisPiErW9aUceoZQqtcnLRZD7FLhTlI32/s1600-h/image%25255B11%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoOXO1DnQ9nSVC89nDP8bNgOXKQVq_BtBMjEcfmDbm7gUODYaCxBsUEDUt7gf-oBn8P_TroqYuUGueoilDfjt1w9pgjQk-AgX_ijbU7kNtXJUZthsn4AM9XQkgtxCWoQiYHRHryL4y6WA6/?imgmax=800&quot; width=&quot;392&quot; height=&quot;264&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;and whole sqlquery is &lt;strong&gt;concat(&quot;select to_char(to_date(&#39;&quot;,/ns0:arrivalDate,&quot;&#39;,&#39;DD-MON-YYYY&#39;),&#39;YYYY-MM-DD&#39;) arrivalDate from dual&quot;)&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;handy for me as well for future reference.&lt;/p&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/fullpage/post/342277253848129789/5286653939061257532?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/5286653939061257532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/5286653939061257532'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/2011/09/string-to-date-conversion-in-xslt.html' title='String to Date Conversion in XSLT'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoFHlToYAahyMCbWnMd31PRY3YOJVmSl5BYbhz2M9JWuXit_o69v98UciWrFg-mXcS8_WXEUq0hH7h8IZvUC5IxeStblWF28-KSPwq68S0KqX1eLjBRVJSzAaLd3y72RXYQ-UA8B4rjbZF/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><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><category scheme="http://www.blogger.com/atom/ns#" term="ADF"/><category scheme="http://www.blogger.com/atom/ns#" term="SOA"/><title type='text'>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=&quot;http://shrikworld.blogspot.com/2011/03/errorhandling-in-soa-11g.html&quot;&gt;http://shrikworld.blogspot.com/2011/03/errorhandling-in-soa-11g.html&lt;/a&gt; and &lt;a href=&quot;http://shrikworld.blogspot.com/2011/04/error-handling-in-soa-11g-part-2.html&quot;&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(&quot;Retry Success&quot;);&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(&quot;****************Fault Metadata********************************&quot;);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&quot;Fault policy id: &quot; +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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(&quot;Fault type: &quot; + iFaultRecoveryContext.getType());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&quot;Partnerlink: &quot; +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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(&quot;Port type: &quot; +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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(&quot;**************************************************************&quot;);&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(&quot;Properties Set for the Fault&quot;);&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(&quot;Key : &quot; + key.toString() + &quot; Value : &quot; +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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(&quot;****************Fault Details********************************&quot;);&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(&quot;Fault: &quot; + 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(&quot;Activity: &quot; + 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(&quot;Composite Instance: &quot; +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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(&quot;Composite Name: &quot; +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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(&quot;***********************************************************&quot;);&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(&quot;Enqueueing Data into ErrorQ.....&quot;);&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(&quot;env:Server&quot;) ? &quot;Terminate&quot;:&quot;Manual&quot;;&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(&quot;error.qcf&quot;);&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(&quot;error.q&quot;);&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; &quot;&amp;lt;SOAFault xmlns=\&quot;&lt;a href=&quot;http://www.shrik.world.com/\&amp;quot;&quot;&gt;http://www.shrik.world.com/\&quot;&lt;/a&gt;&amp;gt;\n&quot; +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot; &amp;lt;ecid&amp;gt;UNKNOWN_ECID&amp;lt;/ecid&amp;gt;\n&quot; +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot; &amp;lt;policyID&amp;gt;&quot;+ iFaultRecoveryContext.getPolicyId() + &quot;&amp;lt;/policyID&amp;gt;\n&quot; +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot; &amp;lt;type&amp;gt;&quot;+ iFaultRecoveryContext.getType() + &quot;&amp;lt;/type&amp;gt;\n&quot; +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot; &amp;lt;partnerLink&amp;gt;&quot;+ iFaultRecoveryContext.getReferenceName() + &quot;&amp;lt;/partnerLink&amp;gt;\n&quot; +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot; &amp;lt;port&amp;gt;&quot;+ iFaultRecoveryContext.getPortType() + &quot;&amp;lt;/port&amp;gt;\n&quot; +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot; &amp;lt;faultDetails&amp;gt;UNKNOWN_FAULT_DETAILS&amp;lt;/faultDetails&amp;gt;\n&quot; +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot; &amp;lt;activity&amp;gt;UNKNOWN_ACTIVITY&amp;lt;/activity&amp;gt;\n&quot; +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot; &amp;lt;compositeID&amp;gt;UNKNOWN_INSTANCE_ID&amp;lt;/compositeID&amp;gt;\n&quot; +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot; &amp;lt;compositeName&amp;gt;UNKNOWN_COMPOSITE_NAME&amp;lt;/compositeName&amp;gt;\n&quot; +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot; &amp;lt;compositeName&amp;gt;UNKNOWN_COMPONENT_NAME&amp;lt;/compositeName&amp;gt;\n&quot; +&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;&amp;lt;/SOAFault&amp;gt;&quot;;&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(&quot;UNKNOWN_ECID&quot;, 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(&quot;UNKNOWN_ECID&quot;, 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(&quot;UNKNOWN_FAULT_DETAILS&quot;, 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(&quot;UNKNOWN_ACTIVITY&quot;, 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(&quot;UNKNOWN_INSTANCE_ID&quot;, 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(&quot;UNKNOWN_COMPOSITE_NAME&quot;, 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(&quot;UNKNOWN_COMPONENT_NAME&quot;, 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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_kv9leq_ctTzSsXY5U5-Y6FX2q3HEJHjcpw_zTBvSmWaa2RNCO-NqJZ44F0w4ZFA_3-mIqrjFpD-0IcTchjgiGY2VHJV3yoxXuDzt6soVuVpFeraE1M-Ay1uY5_JO3mjMejtfGr48RT1U/s1600-h/image3.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBLf1Crh7HmdlU3azNQuCDno4R6p9Dcy-AfcWVxGJFZxN1kd0NE-dEXZ4-sl5jHkrFI94lsvXDnphOiJh0I4LamDm8V_TICWSHe1oPg9aYiD9ZlrDIk_OfqfXSqdGBE4Cq6LxUOcJi0oz-/?imgmax=800&quot; width=&quot;589&quot; height=&quot;133&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;&amp;lt;SOAFault xmlns=&quot;&lt;/em&gt;&lt;a href=&quot;http://www.shrik.world.com/&amp;quot;&quot;&gt;&lt;em&gt;http://www.shrik.world.com/&quot;&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=&quot;http://xmlns.oracle.com/ErrorHandlingApp/HelloWorld/sayHello}sayHello&quot;&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=&quot;http://schemas.oracle.com/bpel/extension}remoteFault}&quot;&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=&quot;http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage}&quot;&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 &quot;off&quot;.&amp;nbsp; The composite can be turned &quot;on&quot; 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 &quot;off&quot;.&amp;nbsp; The composite can be turned &quot;on&quot; 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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMNIW4hoGjRXo7iMgHxytVJq913axTxJfEeVGxypQKuVVelwlAVdjtr3jNUgDNtwxQlAR0N7lA8_2i2E8NnPPsjf1CLDdmCUSjkA7NCvSwgRCRBxuRitOAjYnIROvBrtoQn56INSdO4zsl/s1600-h/image7.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy02i-03YygZfnsif_7M5nL0G9YzHck3D_1uxR9tzS1RF7kEut9UEGhloD4p3BQGpgfDHW3F2fFiw0qedNw5pHwRgmUOQeF92HkIXFlSYQD5kItUCtswRQn4kCsdQ_CS44FYdVyTrCtj4T/?imgmax=800&quot; width=&quot;578&quot; height=&quot;320&quot;&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=&quot;1&quot;&gt;CREATE TABLE &quot;DEV_SOAINFRA&quot;.&quot;XX_COMPOSITE_ERRORS&quot;&lt;br&gt;&amp;nbsp; (&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;ECID&quot;&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; &quot;POLICY_ID&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARCHAR2(100 BYTE),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;TYPE&quot;&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; &quot;PARTNERLINK&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARCHAR2(50 BYTE),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;PORT&quot;&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; &quot;FAULT_SUMMARY&quot;&amp;nbsp; VARCHAR2(1000 BYTE),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;FAULT_DETAILS&quot;&amp;nbsp; VARCHAR2(1000 BYTE),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;FAULT_CODE&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARCHAR2(100 BYTE),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;ACTIVITY&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARCHAR2(20 BYTE),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;COMPOSITE_ID&quot;&amp;nbsp;&amp;nbsp; VARCHAR2(100 BYTE),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;COMPOSITE_NAME&quot; VARCHAR2(1000 BYTE),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;ERROR_TIME&quot; DATE,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CONSTRAINT &quot;XX_COMPOSITE_ERRORS_PK&quot; PRIMARY KEY (&quot;ECID&quot;) 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 &quot;DEV_SOAINFRA&quot; 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 &quot;DEV_SOAINFRA&quot; ;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWY99Ev3Amwb0mqYRjGg69suutTyHL-xJwsQeIG4W3ixL7w1m3lGidTSP9gLemikNPgaijzACuPuRZM9km1W4MKw_XVsAPfTDeaGm7hnwjR35Suv9bnBD1I8KGRoxJwSFpkVV0JW-dAU8O/s1600-h/image11.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7Fk4q1R1-wuPnyFFfDi0i1pXf0kTxyZgb2nrx3DeYPv_1qVEtp7kZgtWQ0KBAqciEQH1KDojWEAWsY_EVgdmP5FhxUhFMFl_XVSubWxXzdgxSRotHWWAdrTA-uU24V3YQ7HOWWlR850EB/?imgmax=800&quot; width=&quot;594&quot; height=&quot;294&quot;&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&#39;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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpYZvdWbjUySLydsJIUZC09fA4QIdgCtSDuO2z9brVAvKTBBSg5EASNZ1GmjrOJs6YVJdSstUIgMhdj5jfDqU0JqxqWCw_aI9D6L7XceX9WFo9r5AuiCN8otGIyUOC0GpNBj7akx_m__nO/s1600-h/image15.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw-iEiogzjXhWfrEauofNbo3-AuFRqW1ZW2GRZ8BOZhjceWYw3YnezzGnfSnf99N4sJ2vlF-H7KE8iJYRyS2QhRHM5-v9the2OJomjsl5PVCwgpwUG1SlsU3vtZW0Gl1thVY73zq8309qC/?imgmax=800&quot; width=&quot;588&quot; height=&quot;320&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVEtbZ8051s4_zpIn_KmtnvM5pIdEAIMnd-8pScg1qSzSEGKJWwA2HDPah_ToPkCgk4JBNqieuxelp9TH7DGk2V8V69BhBLy80c_nced2CRDh5l6Tta9szV8aAoWKdG5D4TVsVoUIbVi57/s1600-h/image20.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzv5zcNdmudCOC7lqDPkVP7NgJqGyakiOdtLK8xd3Tq7tmoRg0O8gMkbOvK3lnhpwTW-_uJdKJzJ8QMN41akb6CA7hpgXmO1UYG9U9oEnBH0NSjqkPlZPBNyYPMs9OYjajpSc7vnxjIHZI/?imgmax=800&quot; width=&quot;598&quot; height=&quot;337&quot;&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=&quot;1&quot;&gt;SELECT (CASE WHEN STATE=1 THEN &#39;OPEN AND RUNNING&#39;&lt;br&gt;WHEN STATE=2 THEN &#39;OPEN AND SUSPENDED&#39;&lt;br&gt;WHEN STATE=3 THEN &#39;OPEN AND FAULTED&#39;&lt;br&gt;WHEN STATE=4 THEN &#39;CLOSED AND PENDING&#39;&lt;br&gt;WHEN STATE=5 THEN &#39;CLOSED AND COMPLETED&#39;&lt;br&gt;WHEN STATE=6 THEN &#39;CLOSED AND FAUTED&#39;&lt;br&gt;WHEN STATE=7 THEN &#39;CLOSED AND CANCELLED&#39;&lt;br&gt;WHEN STATE=8 THEN &#39;CLOSED AND ABORTED&#39;&lt;br&gt;WHEN STATE=9 THEN &#39;CLOSED AND STALE&#39;&lt;br&gt;WHEN STATE=10 THEN &#39;NON-RECOVERABLE&#39;&lt;br&gt;ELSE STATE || &#39;&#39;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTg9_LgoN3CUQgaPw25U_XwOd_GceVwbt0snvz81HDR8OCyap0BquR9benGJS3uC0Kqjke0FcNOl0KPPKMNRzw6qmF02wRSQ9td7aG03Ale1896kTj5eUwIZpz46HG-apiOMrzDzi_a_gN/s1600-h/image29.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkfWgy6yAtwkDatEuMCiRhGHjuIuE5rKse1-mcg-WugUEwnLxtVCIQWRDaOwjCVy8PLxjmqM6E1VSwGwOZeJzCU7u4zcG7i4seb4ZohUSHCfrqJKe33ylnyRW-hnWvPHspPXthxy3WD98_/?imgmax=800&quot; width=&quot;594&quot; height=&quot;354&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL8kyVf7Mk2GJoX_QtP7UqkXu4DpQs2W0Y_y3mHD0dUvt8mRGzgvRDqjp_vyeHhpqITuWJoCiiRzEjsTwI9A8kZ9RygoGUFGIQfgrm1Wi7e2fOP7r8DYX8TGGzZt2yhPQIPF9Ox5bY1mjy/s1600-h/image33.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2vt-Lx6s4RNxPn4jf8dVk8Qhqtd0OzFiAq28UnffKq7chPtcNjs7L2gWiMuEXRghApyjelkWzhZpCUeUqOMJ5fAt0fzlZDbBBDmERCxSzboPk833Oxw2MLpk1QP2kZMIeauoVsOyuzjlX/?imgmax=800&quot; width=&quot;598&quot; height=&quot;291&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC-Gnjenw9WNlHfp3vuWcqIbpAscpiTyDhi2EWQTIDl5f0U19b8W4DGcVHpRpo149OiouTgXnohjvGcLlp2BcGoO58-kDO4U3NJjXTOzx2SE38jbt6gzS04Pil-xsgxDURO1gnpBAIrn2t/s1600-h/image38.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK6_8_n9k6kSWKq7kzs3BqB1mM2LCl_ayaIx-SHk9iHEMQYpRwlNPuf4S7UGk_QMtyIFl1I66opa77BA0ZNn1r4lcyvtVDTiEEzvRlFWT_OYe01MU140H_IRPiq4vbIPPyfaZXhRDQK5WL/?imgmax=800&quot; width=&quot;594&quot; height=&quot;355&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTX1UehK7XQCmKsW_1l6HlxrM8l1TqZoD4-9Mec5G2DjKA410RRxwGRkLGKiaxDboLparpgW-ZJMsNRJaokS50bkus2zTGJwHjXXnq1c4rx_VoBLKiu2mxbx_I_jjOP-X6_y0GtauJemKg/s1600-h/image43.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEE9UUFSM6l9dfZ1eUlC3D8Ot6bUjciO-ZYHje2SYeZsUML7l76PzSadPJFDRTsSld1tMLTx_TdZjNRVc10QyOvuVi8G2e3aO7olT1XmglKAhsWl_eJ0_KxS4rva3YTobbmgX8r1j5fObF/?imgmax=800&quot; width=&quot;604&quot; height=&quot;266&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfDOR5SlVCMIe9_koWQjmYFWTSmHTsHZXIJK7pnQ-Z0Wq62owUoCuZ4ivz2WnrDtLDNuN9mIKUnMkrEWEKH1Tuuc3UDOWDwRgBO2SmA6HKKg2g99W0HQMSMyxs4Rml561V8CohyretL4O1/s1600-h/image48.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjABsW9TBEWa0Xxf7c1pfrVnbTUF2KjrRDQBxNo9ukKys-zc-8A-jhzYs4rNS2xYsi_oSxdgPTb_d08W5secGN-mNDoq94VU__k3gau6_qDr5dCvT1goHB5LWRXEfnk0JkiC4igHC3AssNK/?imgmax=800&quot; width=&quot;599&quot; height=&quot;317&quot;&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(&quot;{&lt;a href=&quot;http://schemas.oracle.com/bpel/extension}remoteFault&amp;quot;);&quot;&gt;http://schemas.oracle.com/bpel/extension}remoteFault&quot;);&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, &quot;t3://localhost:8001/soa-infra&quot;);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jndiProps.put(Context.INITIAL_CONTEXT_FACTORY, &quot;weblogic.jndi.WLInitialContextFactory&quot;);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jndiProps.put(Context.SECURITY_PRINCIPAL, &quot;weblogic&quot;);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jndiProps.put(Context.SECURITY_CREDENTIALS, &quot;welcome1&quot;);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jndiProps.put(&quot;dedicated.connection&quot;, &quot;true&quot;);&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrh_UzE3EleE8UP4Ja6rpA3eW83hYmjjKzMsPhhek0aLsHUwSxTFgGzAZ1Y9xAEnYUaxmi1p9ma8W60eVJtNOJPlVXdDNbT9hWOcqpVgWcNyqfooBKcM1W_geUoWDMJzXB3az-XtMJ5tvP/s1600-h/image52.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKJI-n2YxzRc9-Nzj_jbdknW6dAqH4bKv_8wz_wFWakA8R_9vwWvvMd8mov2kkiocB_YCXKY4hi9u6swo2rpcbUkKvGvWLFyR9aQwB9G1B5_i7KrnhO7g8l4gA9RloJGNMtAERfY53NYOa/?imgmax=800&quot; width=&quot;199&quot; height=&quot;277&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinnhbWxDMx79iYd6xKVajxSaNeyX3UFs81OtwxOdYLDn4r9lXex95OyUVXCDCAYx6MglH4kkKMSVf1JJgtvL0tlIQkArLWZ7u7ozGnBhMp0D7gN-hGnN6iZWuOEM40ic3AFkaoDYHawhYl/s1600-h/image57.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj48XhN1AHRb_2HWOjX6j21NLA-cqECS5D7XK6vV93s5ozPazOzVDXK2sd8UTva8SYJRw-lRj9W1p8e17BXiP0_qvkaXA4-ru0y14X3ZIlBpaC1Pt3293VTgDrZ52tgjIntJoBPg_GTn2g8/?imgmax=800&quot; width=&quot;598&quot; height=&quot;326&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAhIauRhvuEurfwWoldkkRRMSuwRtry2GhuZuclwo755QQHRlZWPkNg3Sh7RemzI9dB2eTUQajx-yF6-_CeJhVX5Gs8fIpW8atFvDN3xz8pqdn30AWz6Z2pkn8e8CKAfkVH2A9_ja2u3ul/s1600-h/image61.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipKKHRq4yhr-6l1GGw-HuIfwmOe3Ry7SC9-ybxdApppM6hom2EnUaBJgzCniggcjzCTjPbu-tZXstuoDVXVQ-AqcxCQrEfLEVbq4tlDRyTy6esU3rAmaxHDb81ehRsql3ff1XX0ENDHWWU/?imgmax=800&quot; width=&quot;596&quot; height=&quot;290&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRtYhNvXU1Zo689pBiXlD-61zNJGFlzgUcqngd6NLVvEjExUY9COXtKYtE2vQVawDHKTCr6r1E8fBzlFjw2bAO3TQDamDfJf66o__x2hFMsmTTQwPiFwIFFzKd6QcQJvA4kydCSC2D_TuP/s1600-h/image65.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzBVioIGs6_ApK-Sl8aNEutY0ZoSd4GH4DpG6iPL2WkNjYjbFxIaodseUy9KYFP6LIp5sXRh0uaIwBlkQzUn_LKw44dXBAjuZgau07f4uMEZCV7yFi3MupQgxrGLKyA-Rk0NEug81W4xyy/?imgmax=800&quot; width=&quot;596&quot; height=&quot;300&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi772W08qaZJn0SD1OT7qhJg8i6LTJZz42fmmgetPESoqXlrDaxjU9RhCS6Cj6jEOvV7oUYj6ozVu10e9bQtCtGtf4M__YGO84VgYMY9-jtDdbREBA1JSiIPeinmmxgQx6MBMXHyr9nQuV9/s1600-h/image70.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAdpzhyTknso3eNw1LpNw9tUEzBz_q9zTDzcSCGlsFwk8uMQPwt8QqCJf6cOg9tqTUdO-N_LGpMhxXfp4cr-6pCzQLf536ueunvcpjlBUE7nrnpDsUw5_Bm_XwH2txxWole9prPw4XIBF_/?imgmax=800&quot; width=&quot;580&quot; height=&quot;313&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg40Wcf8b8C9D35woyA_ruMFdSnjVSK-q1WeHHUY-Rr_UwmIHI7WCxnj88Bfo2jI142fe7vLIurSw8DMijS19VE7arZUlIkC3rBVFQWhUKpvZzCe-_QCADFW9g9PDf99QcY7KhgpCuRu1P9/s1600-h/image76.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGuNj11xHYSRAhcum3dCBzlepGVYe9mzW_3hOkgQWptmmNp0RpRvUnh_UuZaNGbGmhfrG3yszf9Z1PAnrvONyB6i90Xm_CYqT4weARIInX4Lgn_quPNOXko7JwglpFnetqyXCCBLugR5j_/?imgmax=800&quot; width=&quot;599&quot; height=&quot;373&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidV1tXeyx5YmllHweqIRmbDf_Vcz0ujCCBo84HrLo804OAEnuZXnrZ8hwSfNdPYo6tM6vhEe7Gqg-ARCe4p4w0jQUlWBgUK3c2v80TV4rwd-Oox7QCEt2QZF4Cgh-VG86qLg7dlsRx84WZ/s1600-h/image80.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZWb5PXjWmIRc_lJRrkvxZQ9G27tU-VCW-uWVPpB3ScPvJ-Q57gzfAZW2kwsQg5XfTIqGJZCg7V6G4WuRug31LlQrH8PoYi-xYRUE9KWafjIVADqLjbiXJ_a9rA2I3VG-rucaGjWekXZsm/?imgmax=800&quot; width=&quot;601&quot; height=&quot;300&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcq8J3LjoIxj3k7XR7blUjdcMO8W42JmjQ3w4yvm9WbLJSpb9UUshe31zudmgpRK4bWLoLoYUzT7eLjcZ5CAj4FnXNJ1Z0Q4Wz9Zil0CZ1RYIkwowRRl9FJOegHNv10fIrKknlxErzRyU0/s1600-h/image84.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZZ2l3He92S1uRD6zXpJ3Jw2uBT9GBkk4MsQgn0nxjj1CmD8DA5U0T85yzJxEUQVfeOMkDWe3nIfNMCcaCnS7M4vFxvqkbUaUIMGZ3SK_ILEBxwh2l2bleXKPEjnPWQ9nWDlc_hfpLm1u0/?imgmax=800&quot; width=&quot;594&quot; height=&quot;260&quot;&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;  </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/fullpage/post/342277253848129789/3116244838924072442?isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/3116244838924072442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/3116244838924072442'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/2011/08/error-handling-in-soa-11g-introducing.html' title='Error Handling in SOA 11g :Introducing Error Report: Part 3'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBLf1Crh7HmdlU3azNQuCDno4R6p9Dcy-AfcWVxGJFZxN1kd0NE-dEXZ4-sl5jHkrFI94lsvXDnphOiJh0I4LamDm8V_TICWSHe1oPg9aYiD9ZlrDIk_OfqfXSqdGBE4Cq6LxUOcJi0oz-/s72-c?imgmax=800" height="72" width="72"/><thr:total>3</thr:total></entry><entry><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><category scheme="http://www.blogger.com/atom/ns#" term="SOA"/><title type='text'>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=&quot;http://www.getacert.com/signacert.html&quot; href=&quot;http://www.getacert.com/signacert.html&quot;&gt;http://www.getacert.com/signacert.html&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC9HfIQWXfNOrdzugSTdK3H1Nh_PEBWbL3StCyOlOSeuIMMqxUBlrxjwuaPUfE46GjxnYGQ8nYpo-mpOVPi14R9hyb6xx8U5s-s6pea9jjgp4fWZPE8GwaEZE8EU2Qg8XJBaCRftsNklbP/s1600-h/image%25255B4%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyPc2b47175CE0YhtQdlLJfze4LYGEWiYXVJccyBDyD-ZjEM_v8sr2N5t6VmkeZzTCvCdE8mJcPcBedzyqD8TvuANdMVmPqQ4RmzZrSz_ZR9bJO0P0Enj9OvH3urmNElFcE3Ov3kBYGJVm/?imgmax=800&quot; width=&quot;598&quot; height=&quot;329&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhI4OHXlL5Yph0NcsTPqWoJOXr0fFHsGlTSlMWkHjedxTo6gIZrlsKnyM_xmiRqsyCZhDPpFfbLP6Ug68ATDA3RTIrQ8d9cmwRQRIJiDR7XRxtv0RBeHlBB4gLnz-adPbTcgjz12hn0ZlWs/s1600-h/image%25255B9%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRGPj0SCCUUEY6Xm-f_pwcDl8ErjJoTdcAbX-SrM6R9OQIhQo_L0fIhj267Vs4A9K7_LwaFa0ibhyAcUWyAPifx2yUTOQBM76QhljeH8V-1o_zKCMI-KSpYv2dkdc7VYzGCMbOOnoNLoOv/?imgmax=800&quot; width=&quot;574&quot; height=&quot;415&quot;&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=&quot;http://code.google.com/p/keytool-iui/&quot; href=&quot;http://code.google.com/p/keytool-iui/&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigOXTMVjcsR7CZi4IiJdBu5r2sbAfPl9KolLh9XO434F-2WXXPDCj4bYzNoHAPkAftZyR4KSVO6xetGNbZ609JqlyERQTeEB7VYIwCNr8RSSnArap6PWlXNShA2ndagoNVLxZM2tUUVPZv/s1600-h/image%25255B14%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkhPoY58G96QdnvKVtv3KLgKI1PmwT8qshg7caqAAh9gPxOF2RfGJBRVWdFlsxUswu8GB-6Zb2XuzBxSmykURbUmPJOtl1auhRilL34_KP2d63r-z2SKq5oqq8yP1WiG99Zxzw3Vg8d_0X/?imgmax=800&quot; width=&quot;580&quot; height=&quot;430&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGu-rsxw-cn5dkwe64sGMpZomtc6Kvot1vbB04mVffcQ-GReXo9dPsI1wqhHpsc0_TAYQjgRFRIdfanBWE776aw_b5E1ahO81FkvYyo3Scpe-ImBC1nIRvTJzJ195pFJUfX1oqzJ_1yXQY/s1600-h/image%25255B19%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbMrBRWbFrffNFjpwrpRoE5FJkfjY5KB3ZBdmQIi2Vqn8asnc3b9igpOc5b-l6HFh0hzAlB4lKBkedkJ8pzT0CEs3mDHEKT1lKl7qJt67QS9YTwFqQHIm5WjaAzgrXj8ESJsD69QDBTz4a/?imgmax=800&quot; width=&quot;584&quot; height=&quot;432&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBZYqg-j1ReNsVoFPJbH1A3M9BvNtrHE6VRJjD9fbo_t4xJS6W4lWA3z5kNA8_26l5llOM3agvWVYuJyh8g_TCo7ShJRRxhkcJMoT3E13IkaB6ToP0bz83m8B4mhTwBWZoEZzjYRKvIrbg/s1600-h/image%25255B23%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZY4g5THZS3blv_fj2mAiZb0q1mBreWWxVbRQQCde4t4ReMQ3sqNZyyPuA6LT4VNBE8iftC502mT3iOJtK9-moHfZ0sRHVT9dH7qTDx6ql6eW8IRD-F4uKqNDnCQF7vnhdvGBEwXYIelHi/?imgmax=800&quot; width=&quot;584&quot; height=&quot;185&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrHvG9QMvdrnFv9OPkj6HxrTsLKx74wLzNrJAZeaAYv-owIcGs2pSfw2BQvTHnGZG8aziwtIsAgssnYwjhYyW4SkJQ4GYG-dnhX9M-IluVJjL4ww0tXat8RdSDKonOII5pg0_bf6cfmv0h/s1600-h/image%25255B28%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb-X87sKvLry0rWj1TYlvnTZ-MfxyFvXiVzlWF6244tTQ7yhrj1YdWtAZ8QPGsS9Gbyh4yFZXZJ-r8n3khaACmIQV9Mnnpu_u8srTkiqJyKh-1O1GUH75CDKrQc6k9w5aExTL0bEDLFxCj/?imgmax=800&quot; width=&quot;586&quot; height=&quot;384&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6dDOmdFOqY3PvOF8CWCiyaMuAarSIA2HLtAlEdDcZgP5MJRBVIO8KLJXtyby3IlJORWTTqiiGsBJMfQJYAxGRNHIKJAStsq0Iyd0EgHAZVEWS3-t7kdL5mvs-V05CS-jXvncmVOfO46Qr/s1600-h/image%25255B33%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGy0SNj7ym8LBztJhcSbGHvipvnUf8N_hv3jpYfS321A5I2QvEmAYssJSD3LgC0rIdZpjJ50fTFl_lUOhr2u-6LYZHQaY2sF23v3NYCanIxkE2VSxOdeWu4yUXl2pZBfQTdlBBu-eFNbL2/?imgmax=800&quot; width=&quot;582&quot; height=&quot;373&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4KfnwRRqKUQ91eNA4ONPJER4nQBK3DX6HItjE0WFTYA2MoN90AHVGObEiZm_s7jlGazde0TyxniS6nnKA_IP93fQ4t26c3Vxs-2CvTYrxNchyRGDAF8yqQcfkvsFNfpHq8jdMEsnZumzE/s1600-h/image%25255B38%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj69ua_Vmx5Q-q3ERIv0VAMBGPal3IZ30CV4trl9ukDMsqEuMtvnaZRrYaCDbnCZEhpna21IspxxT1_gC1Eo1XwPmgj_wzhlGulDx6J5fpSs1WOBZJzQtGKIlOTzaGJDftwiKb3Ykeagm4f/?imgmax=800&quot; width=&quot;584&quot; height=&quot;364&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRnkHMaEAXrx_cOi7m4lWIfZrKxiwcHkGD05vx_uR52qE4y2FiqTYWSw_QmV59uKIND9jIobRKiKQyIQBmyx2_82hhNx9qh1Ak-fQKAYPoz9R23tOcSFuwhJCIHc9kE8uR0VFBL1COFwJj/s1600-h/image%25255B43%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH8TEtOmFKcWNminfUIRuKJ2Cw8okfG47qHF3jRQVv449jjbATEYTrJdutgY6DFF-OhiaXdVu-LoKoOEHoAJGAXfWSTgSKWurUKI72XeQy5G7zL0ERR5mLBoEQ_nM0YbTNVdxR8VQLiDO1/?imgmax=800&quot; width=&quot;592&quot; height=&quot;361&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM2XOIo1ncpYj4HEe3Qj789wfAIeQyc98pjyg84ktd7_EX6OapN1QIju1S75h7D3Itzid0uvxEekzL9AGZaIDXD3GEjOh7CIbXwgh4QBT6BcuiX9e6aI9m8_ElyiWU1Buaw8wMHxg-EqXX/s1600-h/image%25255B47%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIgSzyJjqH8AqLwU_6GSozpCAVOsLbtw-Oi3K_cFRyCnj8-BaFn2uFZ2r7bq7MTYeoLCDfNPqnCHlDCXCsMOIIMk9y-zo53D2ryOXNUiRyYdivY11fJqriv2Bx2XFXc3reddiXFVEgPh28/?imgmax=800&quot; width=&quot;575&quot; height=&quot;168&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGKcIby72K4hl4y2SQOYyv-i5lNiItnToLkMeTzIqUy5nACYwpD04MRzh7WKzbAMaE1Vd46oZjTXBrBeZ7g_P7vP-mrdFcVMm0AL4DFHNrDsm_zNtrpCsx5oB2HZOgFshf9peeqrIRL5eI/s1600-h/image%25255B52%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHx6O8H6V-BpCWtMQGbtz6vkGRNF43rCvNoKoeegmYGvrOrIWgq8G2_lUkhwC4KhuFcjetggYOreIT3icglnTEJYP3Y7QGodDvLC8WZKYSGhMpDxOa1fTfucZAi1BcyjxOaqZlKJvxU7oK/?imgmax=800&quot; width=&quot;518&quot; height=&quot;398&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYCvBqKF8QjjC-JgyCL2hGPsAwinssTrear2s-Bg92qvjsBtOyIouZVmuoH3LDGJogUG8sYEKlB0YL_DCbPcsd5JpXlCCuzsrktgzuWNgCkQH1hOWAtUBLAbjYu2w0S7SKhSbQUEuNi_qF/s1600-h/image%25255B56%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwWXFCYDE59c-t4EY2HOBmVhB61ZklIJGiLYLYaBXh_z_XMKT9_gPNxIQoV-YTPBK5A-xD0qj8FIjmk_4tLUBsbU1OcKmT4texuB8T1EZ_K_JC8H0FwjQrKsyGqeZYOFarG428jR76f7VQ/?imgmax=800&quot; width=&quot;447&quot; height=&quot;417&quot;&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;  </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/fullpage/post/342277253848129789/1956066127579045182?isPopup=true' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/1956066127579045182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/1956066127579045182'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/2011/07/securing-soa-11g-environment.html' title='Securing SOA 11g Environment'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyPc2b47175CE0YhtQdlLJfze4LYGEWiYXVJccyBDyD-ZjEM_v8sr2N5t6VmkeZzTCvCdE8mJcPcBedzyqD8TvuANdMVmPqQ4RmzZrSz_ZR9bJO0P0Enj9OvH3urmNElFcE3Ov3kBYGJVm/s72-c?imgmax=800" height="72" width="72"/><thr:total>7</thr:total></entry><entry><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><category scheme="http://www.blogger.com/atom/ns#" term="BAM"/><category scheme="http://www.blogger.com/atom/ns#" term="OSB"/><title type='text'>OSB-BAM Integration Approach—Part 2</title><content type='html'>&lt;p&gt;In &lt;a title=&quot;http://shrikworld.blogspot.com/2011/06/osb-bam-integration-approachpart-1.html&quot; href=&quot;http://shrikworld.blogspot.com/2011/06/osb-bam-integration-approachpart-1.html&quot;&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=&quot;http://beatechnologies.wordpress.com/2011/05/20/integrating-oracle-bam-11g-with-bpel-jms-sensor-action/&quot; href=&quot;http://beatechnologies.wordpress.com/2011/05/20/integrating-oracle-bam-11g-with-bpel-jms-sensor-action/&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUJyoflXdrDsVSaAEsuyx11WTOwgZWzf5NoW4OrK7XnBVilSsDAvnk_d-6oO4bDBRNi4fs5DCWyxv8Eqcn0ezb6vBw9RWT6-AQNI627HIGeyzuZobikSN0mMEip_s6JdaaT4tBWPrPK000/s1600-h/image%25255B3%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAJ1t3pL5qTHEkPWIwlrXToLKR_W_5R7YCO_VjQs_lf8BxQGAG0VyDMUGx9eZrir_97Dan7WbMAMm0OGfOs5TBrbTLPeSwNkiS3_O7rNb4hYpdvruIQm5k43v4ntHlfiK_9yU4B_8DCVH2/?imgmax=800&quot; width=&quot;591&quot; height=&quot;307&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXnJGJ0Uam0r7C9sEJXOT2-gEKHtCGw06we1BDJZySHC5cmlG2tphwmIytGIRMF5jVs5ZjjGsLLw3npt5U7kSJC0JWNYm0MDep8LkszaU2TzVtqGt3h3DmSiit0IzSKgoBiKjHKu_AkKiT/s1600-h/image%25255B8%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKG-mHAidsQHKh0KafzprvCnCUhYJa14xQ3CqpREoH96hgKAiFCaPBehvI7x6JyF583oxLdmC9kKc-5KSjhEuvcJymtOLq29hezBQcs_5O5iTUPbgzQ5L7SqshmVptHqualO0nSeU4Mu9q/?imgmax=800&quot; width=&quot;597&quot; height=&quot;344&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXhbRPWYa0abB9bkbvc8DuVBkvVm_B1MTyYCxDtOvfIc0JmgbQprQO4W-5cvq7uZlXBIJzZ24XQ10qvsE2ZIg5KDFu0rMrhDyaNwGlYFJ77mcY6Pv0caF5jOnpLEcQ6MBefMqMG3IyzEbr/s1600-h/image%25255B13%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzWW6AoLBCDCQuT4GhN5qiVq2MdZ4RhzWsSZWoRYCyaazr3RykNZnqOf2i_UKaTpDHbxq0MUDTkmId2YotEc9qkmt5odzpZZ9SvAplnLaKcP9bUSQKNetfXYQOGHHltJc1byUoHAHK76oE/?imgmax=800&quot; width=&quot;599&quot; height=&quot;345&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2KXHmzEkLpdPkSZxizuVoIdFoDzaI86lvl0n9ND8SvwdOUr08ZQbdO4MFLZsTwZEfWTScDMUo4-dvlisMsC2qVDPfGB5BRQ2m3nrrrznDhy2mq1knoA2un_BKkT1bcIYAugiHhGW1xeE5/s1600-h/image%25255B18%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiyzuMfg3nYh0So0evAygndmuW9WijefdKBFWfuTvmrT40mhDKiy7bqvs_Mq1tYotuR-xGN9LLIVz92AstMtARkKgIowuPTLQxKzM3xXwPF80VIBduqBHw1DlkA0Io7tEoAYUvEHH1S1cY/?imgmax=800&quot; width=&quot;600&quot; height=&quot;320&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_R-YBNMF2xadtERX_xvylaKJW3uL1__-LYAsuVXW9U9K9zcuihDQqgjXseHjgto_siDQTN6Ik6IplyBLU-85I5-PGSs4DRKjvRZwjsAOj15Z2Sby7ODWqQftBoCi4izyS5NyqBQzTUmiS/s1600-h/image%25255B22%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0y09cNcPbJqNybDIz5ZVx2HfYigGp3GxwkL62cWmbzSxnxgRfuCIzXZx-WAojyugy-wUFaScKRYn_A1PwzSDoayE8CKsNglHtj7zg90BFCiNYPpivQzPh1-idwlpOuGD0YMVyYhlW0XAv/?imgmax=800&quot; width=&quot;602&quot; height=&quot;313&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx2oblOT6eNt2Ii4FP9GfJ5b2sdBXiwn8sh3z07j7FqgcrKQll2HgjQAli6_mQMQWQBv3LxngQk8HlEbCeoZgfOCu5dVEtaQ94p34GthZNmlSf-kiv50hn37YeVLtwY-8ENAypPNI-t2fI/s1600-h/image%25255B26%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMxmBa4AlGsAAiwjb4sfb_nR4lxy7and4tKGi7PeAS5fGjP0RcaLqt0pAuYGAzlVM1kpu1R21mGSC8Vd6Rzvua2gruAP7UdCPlppt03EWQhd-0p6zyhaltIiWutRs1gG6xnyNwkXHEoaBp/?imgmax=800&quot; width=&quot;599&quot; height=&quot;299&quot;&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;  </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/fullpage/post/342277253848129789/5132477963520788542?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/5132477963520788542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/5132477963520788542'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/2011/06/osb-bam-integration-approachpart-2.html' title='OSB-BAM Integration Approach—Part 2'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAJ1t3pL5qTHEkPWIwlrXToLKR_W_5R7YCO_VjQs_lf8BxQGAG0VyDMUGx9eZrir_97Dan7WbMAMm0OGfOs5TBrbTLPeSwNkiS3_O7rNb4hYpdvruIQm5k43v4ntHlfiK_9yU4B_8DCVH2/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><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><category scheme="http://www.blogger.com/atom/ns#" term="BAM"/><category scheme="http://www.blogger.com/atom/ns#" term="OSB"/><title type='text'>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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_dxjrDeUzsPnVD4h9wS2IvR7M7sHuD9Otlc65jWwn5bpsPBP8Ey-hU6nXzG5EpwgqMXoErzjJk4u1juHWdKVHGZ5pEiiyyk2jV3FC516WkoKrtOTiqTpuuVmcGX5ZPWNQARMIiQvkoW8A/s1600-h/image%25255B6%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgp40r1wwy3rNeYX6eFHi6dlYwTyj_tY7NT_KBLyYh2OWFZg_v3hzxgeCE_bGcpUB3lE6B5xSK6wK5CYNnnWreYcKQ11DBlYQ7T2-Lmv9ZSntfgYQfp_7uhgC0M1igxKiifYDyhlUEhrwer/?imgmax=800&quot; width=&quot;601&quot; height=&quot;263&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwOpx9TIxRWtNVYkJUlzmxp0LeH8PfLLnN48PlTMHRp2h1CEuNDbrVA0JdKKtGL3gt6WyRGeRd5dTbq78EwISkjVkAzn06Q65tPXp8TmEN_ROQpHpoe98PiQQm5BoGh-VRbObPuFW2MXTm/s1600-h/image%25255B11%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK9ZSItE6rVCbsPii3RRTQ5kMlmuABMKhRfKEaWYnKHphVNKl1osOs-RJ8nIHB7ijPfRqYm737Tdlq7BeGtw9W5FtJUgBX8QLuGsnJthm2IpuWOR2tq7tNbLnUDR7Vsx9jMdW9sDkzbH5U/?imgmax=800&quot; width=&quot;600&quot; height=&quot;365&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidZB9iKWl6f4a3q-IORitbk5LRrZCH4GwYxDIyPSo3XrFq_T7O9YDexvDCBq0yluTmA6aTQrubqU_LtuQ0cnP9vvPftVQRuuaqiWW_wxqOE8ddbNqE5pWSuLOb3q3BE9151gLMn3Ykrlhw/s1600-h/image%25255B15%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzwDAt-uZrw6LF4ETKPP4VPKTiOiXLNryldICMeQXDe9HfWBHTYbX3cVZUZVhUf9kqa7RIBvhVGXuo5RDxbbvLvVMLKhWFeBMUBQBSnGnJSA8GqYIq45ad6QGAuftSkKP3qpJxn2SPYBKF/?imgmax=800&quot; width=&quot;463&quot; height=&quot;344&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQDsb89zvtF_mJojOpD-2mEgbRq0G4thb_e_MEyywTB3M6neut7rL5IDoAL0Vxj_uW6Noo7YR7GW1NzlguqPGHNP1IbkNcYEuUxFr1slAlLJEZiMtDCQ9e1ubsstTnN27QqDm2MEQvv2nV/s1600-h/image%25255B20%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZlEDlnjh2SlKLANOt2j42FY8nEpEFrcAO_ONy36LnE4iUI7Zs4nUKoJV7lDJl-VUOPfkR3JDyDVfUAVf7nlkQhPEJGG9Xf9N_jOj3Gxw0OqbGEs1ahGtIRasdM_r4Es6o88eEaBAjr3pH/?imgmax=800&quot; width=&quot;311&quot; height=&quot;423&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggQ8RNU55sT0j8vC0GxjcNPViOs3iz44oq6v_cYmlEXc4tZzqz_5kdWgArhkii-IXHYjyvPmNYEJhcDI_EgnTVR-H-y6QJuTbH8_SjFeQripy-JEE7avViUIh9hBn5FQasAfujn_envVYD/s1600-h/image%25255B24%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz9fomaQtaioVSXaB7qqxE46uoPDL-Z2k5YW3cgdbzKKfv_RciwJl8pAPI_JzrKY-nF_-bbTioVXjdmHRyC723tkOF6z5YHJMKPQPB1_ju0I3RA6_Qx8SrI3ulr-nmcRYsaDCa3Uja68jb/?imgmax=800&quot; width=&quot;346&quot; height=&quot;370&quot;&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=&quot;1&quot;&gt;&amp;lt;?xml version = &#39;1.0&#39; encoding = &#39;UTF-8&#39;?&amp;gt;&lt;br&gt;&amp;lt;schema xmlns:xsd=&quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://www.w3.org/2001/XMLSchema&amp;quot;&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://www.w3.org/2001/XMLSchema&quot;&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;br&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:tns=&quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://shrikworld.blogspot.com/soa&amp;quot;&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://shrikworld.blogspot.com/soa&quot;&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;br&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns=&quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://www.w3.org/2001/XMLSchema&amp;quot;&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://www.w3.org/2001/XMLSchema&quot;&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;br&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; attributeFormDefault=&quot;qualified&quot; elementFormDefault=&quot;qualified&quot;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; targetNamespace=&quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://shrikworld.blogspot.com/soa&amp;quot;&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://shrikworld.blogspot.com/soa&quot;&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&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=&quot;SalesOrderCollection&quot;&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=&quot;unbounded&quot; minOccurs=&quot;0&quot; name=&quot;SalesOrder&quot;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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=&quot;tns:SalesOrder&quot;/&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=&quot;SalesOrder&quot;&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=&quot;0&quot; name=&quot;OrderID&quot;&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=&quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://xmlns.oracle.com/bam&amp;quot;&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://xmlns.oracle.com/bam&quot;&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&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=&quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://xmlns.oracle.com/bam&amp;quot;&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://xmlns.oracle.com/bam&quot;&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&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=&quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://xmlns.oracle.com/bam&amp;quot;/&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://xmlns.oracle.com/bam&quot;/&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&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=&quot;xsd:string&quot;&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=&quot;100&quot;/&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=&quot;0&quot; name=&quot;OrderDate&quot; type=&quot;xsd:dateTime&quot;&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=&quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://xmlns.oracle.com/bam&amp;quot;&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://xmlns.oracle.com/bam&quot;&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&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=&quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://xmlns.oracle.com/bam&amp;quot;&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://xmlns.oracle.com/bam&quot;&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&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=&quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://xmlns.oracle.com/bam&amp;quot;/&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://xmlns.oracle.com/bam&quot;/&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&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=&quot;0&quot; name=&quot;CustomerNo&quot;&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=&quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://xmlns.oracle.com/bam&amp;quot;&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://xmlns.oracle.com/bam&quot;&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&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=&quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://xmlns.oracle.com/bam&amp;quot;&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://xmlns.oracle.com/bam&quot;&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&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=&quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://xmlns.oracle.com/bam&amp;quot;/&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://xmlns.oracle.com/bam&quot;/&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&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=&quot;xsd:string&quot;&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=&quot;100&quot;/&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=&quot;0&quot; name=&quot;Discount&quot;&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=&quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://xmlns.oracle.com/bam&amp;quot;&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://xmlns.oracle.com/bam&quot;&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&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=&quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://xmlns.oracle.com/bam&amp;quot;&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://xmlns.oracle.com/bam&quot;&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&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=&quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://xmlns.oracle.com/bam&amp;quot;/&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://xmlns.oracle.com/bam&quot;/&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&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=&quot;xsd:string&quot;&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=&quot;100&quot;/&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=&quot;0&quot; name=&quot;OrderTotal&quot;&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=&quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://xmlns.oracle.com/bam&amp;quot;&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://xmlns.oracle.com/bam&quot;&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&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=&quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://xmlns.oracle.com/bam&amp;quot;&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://xmlns.oracle.com/bam&quot;&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&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=&quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://xmlns.oracle.com/bam&amp;quot;/&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://xmlns.oracle.com/bam&quot;/&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&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=&quot;xsd:string&quot;&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=&quot;100&quot;/&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=&quot;0&quot; name=&quot;OrderLines&quot;&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=&quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://xmlns.oracle.com/bam&amp;quot;&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://xmlns.oracle.com/bam&quot;&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&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=&quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://xmlns.oracle.com/bam&amp;quot;&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://xmlns.oracle.com/bam&quot;&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&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=&quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://xmlns.oracle.com/bam&amp;quot;/&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://xmlns.oracle.com/bam&quot;/&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&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=&quot;xsd:string&quot;&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=&quot;100&quot;/&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=&quot;0&quot; name=&quot;ShipDate&quot; type=&quot;xsd:dateTime&quot;&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=&quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://xmlns.oracle.com/bam&amp;quot;&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://xmlns.oracle.com/bam&quot;&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&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=&quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://xmlns.oracle.com/bam&amp;quot;&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://xmlns.oracle.com/bam&quot;&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&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=&quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://xmlns.oracle.com/bam&amp;quot;/&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://xmlns.oracle.com/bam&quot;/&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhF5WyC2JpG7r9zWb4DRaPMbD9IZMWnqC_jO8Mp2DaZycCpoUZzTWgDWFL2a3phcKgRIlVMSRdBzMRJsa1DR7lbKF7OGeM0KgWCIGrXZ9b-o2Sbey5mQslARrz4y-u5g2ZPBDPuL9sKrRQ1/s1600-h/image%25255B29%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVxZn5-cgI7jZ5pweGGPBXm0iHl2bH73VwQ9kIEy3K2ynyVjoUFHd7KqorGGt8StCdaUwGzTx2r72HHwV7EIRrrEwQseszSTmGpe-02KhNvbXS3twOplUWNCTEeXDFc2tBPYS3aQgmP2eN/?imgmax=800&quot; width=&quot;604&quot; height=&quot;329&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzu-fUu4uMM5T7z3FIIarRkFFwlXb93P8b1sgtYfNWLbut99_X4IWb6JxqKeWHN27HRFNdyVw2lMi36OjzOYVjlsRG13DfI19O6sdrJTU_E0MPWyL2TDbHYZ-pMhjzOpx_2kRjpi6lc-i6/s1600-h/image%25255B34%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDBocWpVdIDt1NfRRau9Vc21hyWzbEYRfNuF50aE_b7W_n8nfl4g-h7rfl7FZxsIyB-TYZs31lw8_UxPZwdr0BIeoBqc0IvPS5XzeQK0adcUOdUAGFGBmT-TgJwZMf53nROubX2m0_uHeb/?imgmax=800&quot; width=&quot;603&quot; height=&quot;347&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEL64Gf1WujuOEZF-fMKt2yvIsnnnEAKyAUEXlN1FIqJWMxci6ab66f3fd61El_bM5wmQektYxsiFo_kqmzSYeTapJUiJZ47LmEUnmnjKSxoTCQTWMZGB51chsXyfd5uxDnKFcZdFrQ-Ts/s1600-h/image%25255B41%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLS5eOcjBgMUxEwGAl9LLvPtIl4SuCHnZlObMldFvSGW6PYV2wtkJNXD2IYnlTVowOojzmLNHR-mfNyN5tjT7NBusEY_6tW1QaEN9T7Rb774Vil91cRHm2QKOyLe9CNNhNoZjSKvRwFfLd/?imgmax=800&quot; width=&quot;484&quot; height=&quot;390&quot;&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=&quot;1&quot;&gt;(:: pragma bea:global-element-parameter parameter=&quot;$salesOrderCollection1&quot; element=&quot;ns1:SalesOrderCollection&quot; location=&quot;../adapter/BAMAdapterTest/xsd/SalesOrder.xsd&quot; ::)&lt;br&gt;(:: pragma bea:global-element-return element=&quot;ns0:_SalesOrderCollection&quot; location=&quot;../adapter/BAMAdapterTest/xsd/SOAVMBAMConn_Order_SalesOrder.xsd&quot; ::)&lt;/font&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;declare namespace ns1 = &quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://shrikworld.blogspot.com/soa&amp;quot;;&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://shrikworld.blogspot.com/soa&quot;;&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;br&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;declare namespace ns0 = &quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://xmlns.oracle.com/bam&amp;quot;;&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://xmlns.oracle.com/bam&quot;;&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;br&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;declare namespace xf = &quot;&lt;/font&gt;&lt;/em&gt;&lt;a href=&quot;http://tempuri.org/DBAdapterTest/xq/SOIn2BAM/&amp;quot;;&quot;&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&gt;http://tempuri.org/DBAdapterTest/xq/SOIn2BAM/&quot;;&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;font size=&quot;1&quot;&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=&quot;1&quot;&gt;declare variable $salesOrderCollection1 as element(ns1:SalesOrderCollection) external;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;1&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjF1XifsH6DqfYo1hdXizAsiJ4rbAst2MHvJKgzFUDGp2ulEJFP1R29sMzOY3OlV7b43pvW3kyclEoMXqvFusPhOvDWlboXWpRdAIPwkDtFSZzYMBK8cmOgiGMsmfgZFC_TLirER_cIoIPb/s1600-h/image%25255B45%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNoR-L4IwJlRKvp0XA3LqBIxoRrLqH0aCBDXOXeMPcSofyQyu2QZUqTwpGwbaphyphenhyphennzY2nULVf7qbNePnleg7CynWHDvuI_F-fjGcLsBlwIwiIZ57fRKge_N25nT_lyH5dOsREic-8U377z/?imgmax=800&quot; width=&quot;540&quot; height=&quot;196&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil1Bm8eiO0BQn2kaXgmxvuyBUnJ46Sk7pzVbDhqdldEZeSdE5B1Wp1Yea89CJtHwnJ1kYAx2PXGP6jtyF2ly1-Hau6EcdcMnVQHXL-QImmisUJ6_-kCPx0p7La__yUfITJs-le5z2LFXOW/s1600-h/image%25255B49%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg536N5cpp771wU8-UKZGdtGN8vUEpDK3b20B44cU4_vF2e2gNoorwJrPNeqo9vc-J0DGFoVUjYiG_DcJRci3wTrJjc7Z6cJmpb8kmm6r2gXP-AVdRdlfgohSZanPXxIdX9vjckL934sikI/?imgmax=800&quot; width=&quot;544&quot; height=&quot;173&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8LOn-8XpG0Gb8CYJNfis3TquLypifO-T8RN-hFyjUhuW3xsIjriJRLnSR-lww4i1I2SkWjo7-MYMBlb4iiv9EaKkzEo5DTOCDsPVancFrmcoYV2ovYqHA4Q3b9zjDaGktxfTxsK4Ws-iu/s1600-h/image%25255B54%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgboIed8KH0o8SMaHQchAbwqakyimBOLEXNP7D9teT-MSdf6szlCZc4CL3XMT-vemDFzbz54KvKaR0BZCYHZT5dl-EhzR7sVcJEK9scXwsLRMrSFGfRY6XKPc77SyDeanQwetvWGxW-9DIh/?imgmax=800&quot; width=&quot;591&quot; height=&quot;471&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbgELf_MI2XTEI5t-7mRL3DRm-VV9y6n6vcRMQMOxLDAcwNv6EADaoqSO8rDgx7KFupz_4KPKjiRnbkwzXXSDvhe_Rk_TRE0ud-1ifrrUbu9fwUI9UhjmthLuryOD1Yz7RI1G_fNwGsVYN/s1600-h/image%25255B58%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1miAIEWiGB4Sk3lWhzXkBtqXGrrDBmgHLXlgUWeKKYUkKbNadXMRAmQ4pxOn0h4zKUvva_GJIp5Gb6T592zs9VBoLIqdrFrqeDAn5fQG-8FE2hFPW3gi1MaFbyTSAkwQOqhBfbWPapjEn/?imgmax=800&quot; width=&quot;596&quot; height=&quot;300&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh625oT8WCYIj9nFswkbLuEz7XX7dG_x3N-iA0Vu2mMnigpmWfQOWeJJ89zfFhMMvL6SMqtv11_aDlzykio5rKK80yYg5kU_QoTyuozUYPhsU5o6_bD1-qdZESxptUw88MM2IAqo4Yd85TK/s1600-h/image%25255B62%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxhRf6PdXCjKpKpQa-QnGQgaYANDI1KSZkg2-yiX9tJ9qLBgOmvMh2c8ZugJLLUj6gTnkW9vHj9llOaX8480tTEzm5SJKuvgM6sH3eL9R0-3U7suJgVzVahLySpGTy8DONocfNrGcMyZHt/?imgmax=800&quot; width=&quot;605&quot; height=&quot;257&quot;&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;  </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/fullpage/post/342277253848129789/3759857064954633712?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/3759857064954633712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/3759857064954633712'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/2011/06/osb-bam-integration-approachpart-1.html' title='OSB-BAM Integration Approach–Part 1'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgp40r1wwy3rNeYX6eFHi6dlYwTyj_tY7NT_KBLyYh2OWFZg_v3hzxgeCE_bGcpUB3lE6B5xSK6wK5CYNnnWreYcKQ11DBlYQ7T2-Lmv9ZSntfgYQfp_7uhgC0M1igxKiifYDyhlUEhrwer/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></entry><entry><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><category scheme="http://www.blogger.com/atom/ns#" term="B2B"/><title type='text'>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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji98_vL3-kIHEaZfWnH-tSHuR-myM-KE72EpJeKlP1xD9Z9rXtllS1QkYsiInsaLJE2_2QsA_mVMLr5fm-O9jLL1VoBsYvuhaXPLbzRbABGxWKuabe-wHpckYRQTaiRsbeg9noZGghcxGo/s1600-h/image%25255B4%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFME0x4YSu2zckP8R-A0MgOPR0HtayDeXqqt7QOX3vJMIiHoJE0JU431PO7AY5UqINrWiXCMUAPOdMmirm-QDGt96kdAetE0rYImkMcX6MW0HvmJiE7QSELBH3jWUHI5azmacC7b2AFmkY/?imgmax=800&quot; width=&quot;550&quot; height=&quot;293&quot;&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()=&#39;purchaseOrder&#39;] &lt;/strong&gt;where &#39;purchaseOrder&#39; 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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH2n2ttEBxZfPyuKpk3oQ2xLydhKFWEsEhwe7UbYQhQLkC7WWoezlXqeIL8EeWBlvcgiMRZWdpTn_hZIVWkW-HjTKPZcRY0VfqujoAa6wUDumh6XRhtDGyhTn6I7oyBREiTONarDj4iXxP/s1600-h/image%25255B8%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWE_pAp4ifyDMkwt43PifqQAFSELDiN9Uy1Xpl6-gg_oQLzWLTGkYT7TnCtR4CDDSMh05H4VdZOVlKq_chf1GVJ63BUQVDmDHrAu__XYH3rsZGocrAzO_XgI8sndZXv_3qlC7yqdd0Yd95/?imgmax=800&quot; width=&quot;328&quot; height=&quot;93&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidCE6iHkaTa79eD6WxvDdzXW3o97iaT3QNHWAoo1go47PN_UUXcR-XhncB3V7GlKpLD_DFVySRzTAv46pe-LTnG4LkfMBad0OmSds2b8d08Mzz1o6fKJ1fU4iDIyWEXAuTj27S_xEoMfpr/s1600-h/image%25255B14%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCwPWiiheGdbQJocjRUzBjVDiwhP3dfsaYIbXAtGLPVaCPu1f0x06IF5J4ZHiiU9QwZhQvosiwXijc53HOJM0zNM_o1UHPMZDXCyE_84q3GXp-naemz2LSfDKbHql9Rgaleb5bjIYACmcH/?imgmax=800&quot; width=&quot;544&quot; height=&quot;187&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlmyCg6II1Ossr_6HJ8Ih9KdAZ4ZxfhuLA6FTjqC906s31nDOwWwubl0KWc_Ydgm3mZbFSrFGo3Gy3z00zjVx0TF1Vc4gNnzuXs5b5d-KgcIqWjPeLrSLe4Soi09mUzEz-NjTBbuyiN_JT/s1600-h/image%25255B37%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6P7cB5HUEELfQCBg_q4YpScq9cU2p5bLsQZovgxi7Xsmsi3a9d3Z-5oH29SniDGZoWlmTk9yuuTI6Tj2c2HwHgy1Y7gYhbJYHcEJLjCJqK4PKo97_gUhkQuNC9sLhFzKBhMIY5xnG6fWl/?imgmax=800&quot; width=&quot;585&quot; height=&quot;280&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipu6R82E9L9F0noMzMDiHFBciOD8Re4azsd04rrdro7-OYC9DPMqO2lXROPyE6NsHAxYu4cefQqOPxE6hDEtHKAQqCCvfwV_vRK8Cjo_hAIa2sJ-j13qYtwTUxb4HSFDZDVFFdBVcl0LjB/s1600-h/image%25255B41%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEtFKYlCu8AUyEqSF2k6E23oKs9meL0MDUbhc6zLLRXoEMYXOM83vc7asRFxytTFsEeTcWDfK_cyxlei6WKx77YmFfJzJRAFNket7rMUfkv5gLlOoNHVeK5YEVV67f-MrIJ8ayFW1_Su5o/?imgmax=800&quot; width=&quot;594&quot; height=&quot;265&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd8u3Tghkj-uqjwnwuafivAedw69C83nZc7lkJXzoT6VXVhUi0iMHtpfpOb0L8p7FQ0XCfU0EZcYsbsrcQ2IgFon3ZTBcmyztFK9LysXCEF85ly7mWsDbtDeMYfAKe1dEjEjKkCIENpWOY/s1600-h/image%25255B19%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk3ahe7yIELjUamCMlta4K3YLz6bYGmYE1sMzpba9KWbAoUyYEKg6Xd4DW9OwcqsFEIvbmKzvaH2ABZdbDdndI6BPr3gIIgC8gWJ1XUgA5CSGdp-P_7NalGzF4HpGK4LW87xEfusc-ZJpf/?imgmax=800&quot; width=&quot;587&quot; height=&quot;277&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;B2B HTTP lister channel has &lt;a href=&quot;http://&amp;lt;hostname:8001&amp;gt;/b2b/httpreceiver&quot;&gt;http://&amp;lt;hostname:8001&amp;gt;/b2b/httpreceiver&lt;/a&gt; URL so in our case it would be &lt;a href=&quot;http://S1:8080/b2b/httpreceiver&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh99k1h0Y8VgO3WymIUQsLEvyAo0y4bh4FMkvBubQD8IXwpXBsC74e_qwcb6oFLZxzGv6bm_cgP8G2PgSra816iSRFPMWE1a3TQi2L82NZCWQN4bjNEuYEMmZHot8eX6RxOSJYtX0kkCAHu/s1600-h/image%25255B24%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0pg1OIC77HPycBbRjeK0gmVcrEBe8j8uKgMN9O_Sjf0g1QGVHhJrGzPq5sHc3tdPxHqHDWg4cm62AaPmtf_gkrE6XU1ms1Ult4IdCNNn4Oz-dncbyA6CCltm1vlpL4n06jLgMJS203I1o/?imgmax=800&quot; width=&quot;596&quot; height=&quot;286&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzX6ANT4iZ6jM6Au4eKPNWhoBk0Rr44C1fkds5pyzLEqnRGjxI9fhl_Au-oVVWRpHkiAeMy3VBRBA-5Lnbc8UzpbikC1arZ133qJvlMknFb4LdVXz83VH0DlZznFFwA8XQLXupK6NrgaOr/s1600-h/image%25255B28%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3HUfTE6Xy_nq8JJe5w-4SYHsihfwDcYg_rjAmjSwBcRI5ExUDlFpxo0Zy3AeEFpGY8Xj57k5KWxHX2ZICDRqw5eIf-Fj2cC6N6MwAHnZWtI6cQsEgAAPLrfIMCjlGZ0sGXUyQHy1y5t3L/?imgmax=800&quot; width=&quot;601&quot; height=&quot;253&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCzD-iqLmFmo9bdzwphjiaslkpT0DH-jwGRt8M7gSHrUF6jMUYvj4xznObt3CEzP3O8bDWtBUN7p79PLmLCnV3tDoow3II-dhCim_lc1aWpWjdu_ywRZ6nnqZrak82y1JPqVFnMORnp4dF/s1600-h/image%25255B51%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9LkZCwG0G3qEnqpQEIKzxcYIgn51gz1cZexYQ-7i4lTKsPU7v2VeOgmm1PIHs56Vyqqj_SVLBkMz9siLRVy79FrXBscn54bnbIuhCr8MDgKG1_B7EBe8KnmykyuZQJFIrfHk6N3nXEL08/?imgmax=800&quot; width=&quot;593&quot; height=&quot;291&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghwN8IhRIS4xeH7xFWvsiywan70fYtcrghTEdz_Rs1H9XthvWCoPuRQy1jbGzk7JMC6ndCEjs7oq5OFDUfS3NQFMRXgqo3qwIirCrKWMgp4lLhcwHff0l1CG7AsD_HMeznFm3Lwt1VKGwA/s1600-h/image%25255B56%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1FBWfEpoQbQU8NEQZc2aUTIm9fcbPrkirNjbPpx1Enu1WV-UZsEiTPyIoNe4yECzgJZMrdSh_SXOCbzhUq-9dCMaHmhR5D1JNDShrPOtC1IsbAbvOeVWxq9Mc_BjlhneseEORFNC-yjlL/?imgmax=800&quot; width=&quot;596&quot; height=&quot;303&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Create agreement as below,&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0OS8kCDLnv5ss1x2O7mgwiM3ki1HFLx6jhQw-mWzUWmDzX3TwvnmpvM-X-yil_ESoUity-dkzYkj2aLf6cpyzk4jcrqzSNwPc4nPmrzPG3nrZc0EO3YAFJZHyXCiuv8O-zLmPmT6OWpkw/s1600-h/image%25255B33%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlZf_qhl4Izsxah7_OgdSReCKG2L2h06vcdQwksMuKq50hIb-EJSTksHdrz3xqQgOUHJeQw1sK5CcVb4sR90RVpCVIjsB9C_08VEF8Nr1SRHFLH1Rbs3CcZq2s0S8YKly0mprx6Wr9yHyE/?imgmax=800&quot; width=&quot;599&quot; height=&quot;290&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyHyr81AzpyVPG0JG1rYmXm692rNSkpY7nD7KR-0T4wMyl1Yf8dPbaMg88z9CJyRLmj_O-7LPp-26jfqhRVIAjYY6Sys0REr1BkJRgRkEzr_AKfH9rN7iZdgyrgccqtem6MerdnoneLK0s/s1600-h/image%25255B60%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0srGZzNx9jRyJB2XhT5Gh3h-3MJ9sQf1jWuNLf3PCKe6sMLQP0xSA0MW6fgQm9lIsUlwbatDIlrGWZneIcrhlM-WwdPfenxrr0FUkbtAMzAHbRl1SqJMrLeJPUiTtRi5Gz6wxRHVmY3nt/?imgmax=800&quot; width=&quot;593&quot; height=&quot;218&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpiNUx9fZEr6NxXYy1Ed5z_wKyFzA7ZY6Zc30H128uZAFSJroM8Poepx1JBL5LK2K4_aBMwLzh_ZX2NiIDnWP8riXxGuU8Fem00inbOOq-ft2oKR52rTGlRGY0rpc1EmzAa8D0cuVn9Q2m/s1600-h/image%25255B63%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-nUlH8GdrHY4vGvQTIaNUevwDFWJe9VlTAur5tdsoncKhL4XI-Pfp_cEJEHwbBWcVwtUKMlszvgZgF2Ao2cgpxQ7xNZYL1m9rHwdEqQkQtAiGjHvY88RHRsz6apZd4hkLrfvVqqmzdu4o/?imgmax=800&quot; width=&quot;244&quot; height=&quot;206&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6bD-tZb6ncqz3h39l5p-fzd_QEGQDRzt5oX6bCrkLCAjdlhP5jd3Q5O_VEnYX71_4rtL6YmrIknMJRle7tCL2PBeJilLCP8yIVu4r7SpalkboGeZuDr6DnwQDtsrpC6bkak9mbz8M4dO1/s1600-h/image%25255B66%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8ThL4Ta4o-nPKA_wcW0iCZZDJW5MF61wyPGci8ZM24u-6PMyOpFBhg7s_lYmiR4-f2FULPMLdkrpRBu_z2H7KOMDWlrw1VAb8LoAwH7vQsMyFYIMewGNErEwynbW6WvWeVVF7bLIu45JN/?imgmax=800&quot; width=&quot;244&quot; height=&quot;203&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQxKtUde01nPGDiyWjChE4ufpU0hYAZZ_IA628H5UjhHmr0lP5fu51MGIULztdBrCkjWFVuKTqNW2mWSt1YyTE8uPdbGG2-MRjKd2UBuc9WEd3N4lquNXqqr72GRXj9heDvxDJNtTaMLdB/s1600-h/image%25255B69%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFasBiEgCYiSfuYIDssqBvE__wwKRHSaZWaCrLSgVwAKLZnYMZyYwbXC0wmZFoAlSARl8l8hamnQEp4bGfScnrsbq5U2L8BuOZ0USmE3xuCDP51NmQ47zCmG9oDGcMFmO03pYUkf2afDzG/?imgmax=800&quot; width=&quot;244&quot; height=&quot;205&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdD8yk5zjHDrxv5vEPix6rYvwI6omcZvpRqBM_IjQONpFgGtwsrurPuyD-_GbiDLuAGLpmps7UeKyd89j9bhKj3pOU_hyBw-0j4PQoD_eDNIm_JFp1VQXQD-nQaJ-pKvvLceWJHmPZxHPo/s1600-h/image%25255B72%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHsFhisf-H0_8a-RaZ0ww98tGbc8hjIH0WTSK1gvVqSY9Q8Awd1D3Jd6ggofMgTtmZPngiF9E-6RSfosg15gc6VBP6tgAsgL6tjrcU7AfjUruPQ7aphkq94WKBtbrvfXekoMpq1ef6W21M/?imgmax=800&quot; width=&quot;244&quot; height=&quot;204&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipnLDmEQ8WCJWVRuhEoLWXHR3xi7FN-OWS4fgT-M_a6Fjl8jTpzAaLiY6PItic4gDgXCpVo62GaKVyV4d3PxSTRofjcgcKUYqJ4HgnvBAxAqAljfUpmJuO5T8jhlFkh5E_QSxZYAYUKfCq/s1600-h/image%25255B77%25255D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVwVa9Iy0tYskxBDBcoDEh3skEQ_aWKkxwRivAHBcllsMkRB9xPpPkxfdHxQ4aMqGFZgQDKN32alBIsx1A7D7hR0J1xzCEhWvgX3pKzx6uzMaQ61_14hyn5N1IaEADrfNTwN8qNUTsMbKy/?imgmax=800&quot; width=&quot;582&quot; height=&quot;435&quot;&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;  </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/fullpage/post/342277253848129789/6616069841265333756?isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/6616069841265333756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/6616069841265333756'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/2011/06/getting-started-with-b2b11g.html' title='Getting started with B2B11g'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFME0x4YSu2zckP8R-A0MgOPR0HtayDeXqqt7QOX3vJMIiHoJE0JU431PO7AY5UqINrWiXCMUAPOdMmirm-QDGt96kdAetE0rYImkMcX6MW0HvmJiE7QSELBH3jWUHI5azmacC7b2AFmkY/s72-c?imgmax=800" height="72" width="72"/><thr:total>1</thr:total></entry><entry><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><category scheme="http://www.blogger.com/atom/ns#" term="SOA"/><title type='text'>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=&quot;http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html&quot; href=&quot;http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html&quot;&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 [ &quot;${debugFlag}&quot; = &quot;true&quot; ] ; then&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; JAVA_DEBUG=&quot;-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,&lt;strong&gt;address=${DEBUG_PORT},&lt;/strong&gt;server=y,suspend=n -Djava.compiler=NONE&quot;&lt;/p&gt; &lt;p&gt;I changed to &lt;/p&gt; &lt;p&gt;if [ &quot;${debugFlag}&quot; = &quot;true&quot; ] ; then&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; JAVA_DEBUG=&quot;-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,&lt;strong&gt;address=8000&lt;/strong&gt;,server=y,suspend=n -Djava.compiler=NONE&quot;&lt;/p&gt; &lt;p&gt;After changing the Java Debugging Interface binding address it started working &lt;img style=&quot;border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none&quot; class=&quot;wlEmoticon wlEmoticon-smile&quot; alt=&quot;Smile&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-IG9Ysl4IZWxNXeaA8v3E8QgOIXlpMDtKTp5lRlxZYC7bUsiDu6f9bJsSwFgo2dFRpRV_PlpulHtTjR_nBVPnA2dgF6HgZDT9ACJh3IRXBbCAAP15sHdUv37YPTX64nEg8iCXCwiHuLJY/?imgmax=800&quot;&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;  </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/fullpage/post/342277253848129789/2621167735209394092?isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/2621167735209394092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/2621167735209394092'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/2011/05/tweaking-node-manager.html' title='Tweaking Node manager'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-IG9Ysl4IZWxNXeaA8v3E8QgOIXlpMDtKTp5lRlxZYC7bUsiDu6f9bJsSwFgo2dFRpRV_PlpulHtTjR_nBVPnA2dgF6HgZDT9ACJh3IRXBbCAAP15sHdUv37YPTX64nEg8iCXCwiHuLJY/s72-c?imgmax=800" height="72" width="72"/><thr:total>1</thr:total></entry><entry><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><category scheme="http://www.blogger.com/atom/ns#" term="SOA"/><title type='text'>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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9MfOmkFbPi8go3vmqguGJBXzOAsLREP2qNBfqDZuvSZPVf7-xfVA-4hyjFufZTck9jleV6uwOJq9tZWWKabC_0p1xhRwx2xZ09Nqqb3sOyuY8sAuEhrgadBOLLDD4GwksOZkf4IktFzvn/s1600-h/image%5B3%5D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8lrybte2thI_yYnMIvrkQ-peByGU2HQj5P7KgNhjh5mrMyH1Tp-0_8xCfp6c7kvyTATl9O9dHC88_jWkcc3bU1cjzUNjhnAAS0QWR-KCAQ8WCQbIbCVZClEC0cAhkJEjojS4XZaI0EQ7L/?imgmax=800&quot; width=&quot;579&quot; height=&quot;220&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The insertDeptBPEL is synchronous one,&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjritmcX9x8uqt_WtazCKv3LMXbA02A9Xc1Z1XDx-xKCpo3q_FZU1WNksCxvOk00smfmpCyP-RBLAPT5QKnKd5OC1cXBDC8rqVnkgY7QHKbPRDsRr6Erbt6vn-T39-hqsu65ySyAt7BRppe/s1600-h/image%5B7%5D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJTRdb0nCLUYx5IE0_wRf7noEUY8BoU9rkw5rYPsFXA0iBboqWn6tKNTc5TVN-_HnpKmBykxadQjzNaCyLbQxaFODXZnAceirMWxjUppeeEOoE5FH5TBc6GP0uIuPDtV8cm7VpyIgu2rWk/?imgmax=800&quot; width=&quot;579&quot; height=&quot;292&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilmU6OirDe2i-LVcKbK3l06i4ZcHG8A9FwiPzWZe0FNe8vqjj9hRDIc556-QuBapvDxpBvq8PgUaY1xKgxmukvCSUL9TTL6zAwS0W4seAV58UxYx6RPFoWyjgc91Bmnw_MqR-AexFVDgXe/s1600-h/image%5B11%5D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLSKOHzrrwhuombtOr_zR343NmlOQ5bXcfifKeouwUGpOx8DGfm_964LibtGN6_eTBk-19lq-rHNcSed7L1OGIuOO6eYKuTJbCRKxh6SNmwEE-MYj6OpR1p2g3JvT6yQ-0Nj-fHpKrFv5b/?imgmax=800&quot; width=&quot;573&quot; height=&quot;286&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Here in the throw activity,&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7hki-aZIm39z7vsTMMO45tCWISda138U-ugSAmESUacezhblN1_p6S2Bsli8iokivgyFggLY_4oPI9jnV7Kc3BF_7lCUeGTsZ_EvmUVrVCnmNG8_QBhGsP_dxqO9O2P0ep_NK67slgo0h/s1600-h/image%5B15%5D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiBsgVpFCjqDjBHrHGWSmevzS9n1gSPV7oQRw1OqI21Iue2o-4G6DyXBTADwamaEvIMxxFO1pFg0P1OAdEymNK_j-2IxglFjC05vviAkzNz1nHUqyNZvSrI7Sn8bYIyqtPQwYIc2rhbKVs/?imgmax=800&quot; width=&quot;325&quot; height=&quot;310&quot;&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=&quot;insertDeptBPEL&quot; version=&quot;1.1&quot;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;implementation.bpel src=&quot;insertDeptBPEL.bpel&quot;/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;&amp;lt;property name=&quot;bpel.config.transaction&quot; many=&quot;false&quot; type=&quot;xs:string&quot;&amp;gt;requiresNew&amp;lt;/property&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name=&quot;onewayDeliveryPolicy&quot;&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=&quot;insertChildBPEL&quot; version=&quot;1.1&quot;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;implementation.bpel src=&quot;insertChildBPEL.bpel&quot;/&amp;gt;&lt;br&gt;&amp;nbsp; &lt;strong&gt;&amp;nbsp; &amp;lt;property name=&quot;bpel.config.transaction&quot; many=&quot;false&quot; type=&quot;xs:string&quot;&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;  </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/fullpage/post/342277253848129789/7734618735020583079?isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/7734618735020583079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/7734618735020583079'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/2011/05/configuring-transaction-in-composite.html' title='Configuring Transaction in Composite'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8lrybte2thI_yYnMIvrkQ-peByGU2HQj5P7KgNhjh5mrMyH1Tp-0_8xCfp6c7kvyTATl9O9dHC88_jWkcc3bU1cjzUNjhnAAS0QWR-KCAQ8WCQbIbCVZClEC0cAhkJEjojS4XZaI0EQ7L/s72-c?imgmax=800" height="72" width="72"/><thr:total>4</thr:total></entry><entry><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><category scheme="http://www.blogger.com/atom/ns#" term="SOA"/><title type='text'>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&#39;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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLQ6c8JTUDriMzCLXbkGgYsh79fl_bt4PGQZ427aq3r3eo8WDfbLUpZzuNo70SJ1-pQk294NwSn4pyA90b4gkXSYJ51TVasjMrtEsX3SHBKnJP-T0uoarLSG5LHwVCftYn0kasezTYU-My/s1600-h/image%5B7%5D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3eXkKwaIXD-Bkhb2jkt53YJFjWRS0vEKeaMHkPniFMos17qATNxcjlGz_tqwxsm1St9yPtFJ-Q4aG-qkCrDhlu9_WZM1HkGRcH-rD99QEPrF-tKQaLYR4A6p9mp8uyfEGY7Xxyq5oG_hU/?imgmax=800&quot; width=&quot;308&quot; height=&quot;157&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXDoD0iR2_vFbQF-Loyz6FrJEtVirBGDjfOnz38AqLVZcGgcYqVDyzAxMcUXrKZOlsM55E9YYgToAhWG1wDzCA93j5NLZzb68RLTSH1nBbOGlHfZfGfduCHkkBGfOqJdmSJoOjfFRsRumq/s1600-h/image%5B11%5D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJKed6bnR4uMkfkKC_emQ7TMviS3qHg2Ea_UtTerpvGyoP145GmW_wfivUEW8qS2kKQII6efvltBpl1IBfs0uk73ATrfDppOK0YEdhZv36Jmf2xSbkShCQA7JFQEr23yV_pTSup-wNk1IW/?imgmax=800&quot; width=&quot;367&quot; height=&quot;95&quot;&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=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiW0CnyzXNCgf-m50Wj_1uAnaseOX9xDRuYq8P6VN7yHgPadTUzgg1mAcqV6zHuPpehgkVa2_LNAwvWOVSm7BT8a1q6JgOjx2B2tuSbrT-sRFx__hlonNTPBuJw_tx0GDWYXN-jOm0FFJ8/s1600-h/image%5B15%5D.png&quot;&gt;&lt;img style=&quot;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&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguL1bjSXG9ycSCzd_hv7guDQ6UlYnT2wQS8RfnkblN5UffuTfmAe9kFu8CXKBqjTGOnu1Ep2SPZJ2j1xZqlOpAmXIHb7B2IwZZy5_3cFkFFm1dmuXRUt1UmqpyWMp30S3sLGzDdek8UdM0/?imgmax=800&quot; width=&quot;283&quot; height=&quot;246&quot;&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=&quot;sql-call&quot;&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=&#39;READ&#39; 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=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&lt;br&gt;&amp;lt;object-persistence xmlns=&quot;&lt;a href=&quot;http://www.eclipse.org/eclipselink/xsds/persistence&amp;quot;&quot;&gt;http://www.eclipse.org/eclipselink/xsds/persistence&quot;&lt;/a&gt; xmlns:xsd=&quot;&lt;a href=&quot;http://www.w3.org/2001/XMLSchema&amp;quot;&quot;&gt;http://www.w3.org/2001/XMLSchema&quot;&lt;/a&gt; xmlns:eclipselink=&quot;&lt;a href=&quot;http://www.eclipse.org/eclipselink/xsds/persistence&amp;quot;&quot;&gt;http://www.eclipse.org/eclipselink/xsds/persistence&quot;&lt;/a&gt; xmlns:xsi=&quot;&lt;a href=&quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&quot;&gt;http://www.w3.org/2001/XMLSchema-instance&quot;&lt;/a&gt; version=&quot;Eclipse Persistence Services - 2.1.3.v20110304-r9073&quot;&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=&quot;object-relational-class-mapping-descriptor&quot;&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=&quot;TEST&quot; name=&quot;COLUMN1&quot; xsi:type=&quot;column&quot;/&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=&quot;getDataSelect&quot; xsi:type=&quot;read-all-query&quot;&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=&quot;isNull&quot; xsi:type=&quot;function-expression&quot;&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=&quot;column3&quot; xsi:type=&quot;query-key-expression&quot;&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=&quot;base-expression&quot;/&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=&quot;list-container-policy&quot;&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=&quot;sql-call&quot;&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=&#39;READ&#39; 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=&quot;direct-mapping&quot;&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=&quot;TEST&quot; name=&quot;COLUMN1&quot; xsi:type=&quot;column&quot;/&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=&quot;direct-mapping&quot;&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=&quot;TEST&quot; name=&quot;COLUMN2&quot; xsi:type=&quot;column&quot;/&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=&quot;direct-mapping&quot;&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=&quot;TEST&quot; name=&quot;COLUMN3&quot; xsi:type=&quot;column&quot;/&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=&quot;instantiation-copy-policy&quot;/&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=&quot;TEST&quot;/&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=&quot;database-login&quot;&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;  </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/fullpage/post/342277253848129789/3688353049835227432?isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/3688353049835227432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/342277253848129789/posts/default/3688353049835227432'/><link rel='alternate' type='text/html' href='http://shrikworld.blogspot.com/2011/05/customizing-delete-polling-strategy.html' title='Customizing delete-polling strategy'/><author><name>shrikworld</name><uri>http://www.blogger.com/profile/15125967837612155092</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3eXkKwaIXD-Bkhb2jkt53YJFjWRS0vEKeaMHkPniFMos17qATNxcjlGz_tqwxsm1St9yPtFJ-Q4aG-qkCrDhlu9_WZM1HkGRcH-rD99QEPrF-tKQaLYR4A6p9mp8uyfEGY7Xxyq5oG_hU/s72-c?imgmax=800" height="72" width="72"/><thr:total>4</thr:total></entry></feed>