<?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: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-7035395466087300695</id><updated>2011-11-27T23:56:39.383Z</updated><category term='Manual Recovery'/><category term='Java API'/><category term='Undeploy'/><category term='JNDI'/><category term='Array'/><category term='BPEL Processes'/><category term='Vista Install'/><category term='Install'/><category term='onAlarm'/><category term='Transformation'/><category term='Deployment'/><category term='Manage Prod'/><category term='FlowN'/><category term='Pick'/><category term='FTP Adapter'/><category term='Fault Handling'/><category term='Partnerlink'/><category term='Code Tricks'/><category term='Correlation'/><category term='Stree Test'/><category term='BPEL Error'/><category term='WorkFlow'/><title type='text'>Oracle BPEL In Depth</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>38</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-8302455188410179255</id><published>2009-12-06T14:31:00.002Z</published><updated>2009-12-06T14:45:17.333Z</updated><title type='text'>BPEL thread tuning</title><content type='html'>&lt;b&gt;Why I write this?&lt;/b&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Oracle has been changing the way the threads are increased or decreased from different versions of the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;SOA&lt;/span&gt; stack.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are quite a number of people who do not read the documentations quite often and the change are put up like a small note some where.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And when you look at any presentations that talks about changing the number of threads, there are different version of the document as it was prepared for a version of the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;SOA&lt;/span&gt; stack.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here I am trying to capture the thread setting for 10.1.3.4 and for older versions it is different.&lt;/div&gt;&lt;div&gt;For 10.1.3.5 and 11 there are no changes for the thread settings.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;What is it with 10.1.3.4 and how it was before that?&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In 10.1.3.1.0 there was this concept of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;dspMaxThreads&lt;/span&gt; which has been totally done away with.&lt;/div&gt;&lt;div&gt;The other setting were &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;dspMinThreads&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;dspInvokeAllocFactor&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;All this has been done away with and now there are only 3 different threads that you allocate directly to the server.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;These are&lt;/div&gt;&lt;div&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;dspInvokeThreads&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;dspEngineThreads&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;dspSystemThreads&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The number of threads you allocate to the domain is directly controlled by these parameter.&lt;/div&gt;&lt;div&gt;There are no more any &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;dspMaxThreads&lt;/span&gt;&lt;/div&gt;&lt;div&gt;All that crap calculations that was required with number of threads total in all domain is less that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;dspMaxThreads&lt;/span&gt; has been done away with.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I think oracle has been consistently adding value into the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;SOA&lt;/span&gt; stack and clearing out all that mess.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Best document to read&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;This document shows what was and what change and how it looks in 11&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://download.oracle.com/docs/cd/E15523_01/upgrade.1111/e10127/upgrade_bpel_apps.htm"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="color:#3366FF;"&gt;http://download.oracle.com/docs/cd/E15523_01/upgrade.1111/e10127/upgrade_bpel_apps.htm&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-8302455188410179255?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/8302455188410179255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=8302455188410179255' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/8302455188410179255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/8302455188410179255'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2009/12/bpel-thread-tuning.html' title='BPEL thread tuning'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-8919698065703476396</id><published>2009-08-29T04:20:00.051+01:00</published><updated>2009-08-29T05:02:44.269+01:00</updated><title type='text'>How to get Oracle Fusion 11.1.1 into Ubuntu 9.04</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Why the hell Ubuntu&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Well to be frank windows in a crap to run, no offense but I hate windows to run my servers.&lt;br /&gt;Ubuntu is what i like to use and I am sure some one else would also make use of what I have to share here.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What surprised me!!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I have never seen a installation of Oracle SOA suite go smooth till I came to Oracle Fusion 11.1.1&lt;br /&gt;The installation was smooth as silk. No hiccups. And a cool new GUI  for IRCA.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Here is what I started with&lt;/span&gt; :)&lt;br /&gt;&lt;br /&gt;I have a Oracle database running in Ubuntu&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);font-size:85%;" &gt;&lt;span style="font-family:arial;"&gt;Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Nothing else to start with.&lt;br /&gt;And don't worry if you are already running 10.1.3.4 as all the schemas a new ones. You can run them in parallel.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Is it supported??&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ubuntu is not officially supported&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The steps&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Just follow the installation steps in the documentation.&lt;br /&gt;1. Check fusion requirements&lt;br /&gt;2. Run the RCU (Repository Creation Utility) - well this is cool GUI replacement for the old boring IRCA fianlly from oracle.&lt;br /&gt;3. Installation of weblogic server&lt;br /&gt;4. Installation of SOA suite&lt;br /&gt;5. Finally the configuration&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What is the catch!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There are a few things that might try to stop you installing, but here is the blog to help you as I helped my self.&lt;br /&gt;As I could find no one has written about this yet.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Upgrade the JDK and JRE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You might need to upgrade the JDK&lt;br /&gt;Fire this and you are ready to go. And don't worry you will both jdk and jrocket after installation.&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);font-family:arial;font-size:85%;"  &gt;sudo apt-get install sun-java6-jdk&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Follow the link to get JRE upgraded&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);font-size:85%;" &gt;&lt;a href="http://www.ubuntugeek.com/how-to-install-java-runtime-environment-jre-in-ubuntu-904-jaunty.html"&gt;http://www.ubuntugeek.com/how-to-install-java-runtime-environment-jre-in-ubuntu-904-jaunty.html&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And finally you might have to change the default JRE. Get this done from the link&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);font-family:arial;font-size:85%;"  &gt;&lt;a href="http://ubuntuforums.org/showthread.php?t=87395"&gt;http://ubuntuforums.org/showthread.php?t=87395&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;During Installation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now during installation, there are few checks that says this OS is not supported ans few like them. Just ignore them and continue. You should be home.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Just Incase&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Just in case you are unable to start the managed server with the command &lt;span style="color: rgb(0, 0, 153);font-family:arial;font-size:85%;"  &gt;startManagedWebLogic.sh soa_server1&lt;/span&gt;&lt;br /&gt;and some strange error like Unable to authenticate, remember to check that the your localhost and &lt;pc&gt; are pointing to the same IP address in &lt;span style="color: rgb(0, 0, 153);font-size:85%;" &gt;/etc/hosts&lt;/span&gt; file&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What was the pain&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The pain in the ass was to get the whole thing downloaded. Nothing seems less than a gig.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Word of advice&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Don't do the installation in a rush. Read the pre-req and follow each step.&lt;br /&gt;&lt;/pc&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-8919698065703476396?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/8919698065703476396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=8919698065703476396' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/8919698065703476396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/8919698065703476396'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2009/08/how-to-get-oracle-fusion-1111-into.html' title='How to get Oracle Fusion 11.1.1 into Ubuntu 9.04'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-4139493481582835884</id><published>2009-05-13T10:38:00.011+01:00</published><updated>2009-06-05T12:22:45.117+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Deployment'/><title type='text'>BPEL Deployment on highly available SOA cluster server</title><content type='html'>&lt;span style="font-weight: bold;"&gt;What is highly available SOA cluster server?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Well this is the standard oracle recommended server configuration were you have say 2 application server, and a single RAC dehydration database.&lt;br /&gt;&lt;br /&gt;You can find the details of this here.&lt;br /&gt;&lt;a href="http://download.oracle.com/docs/cd/E10291_01/core.1013/e10294/overview.htm"&gt;http://download.oracle.com/docs/cd/E10291_01/core.1013/e10294/overview.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What is the default load balancer mechanism?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The default load balancer does a round robin request routing. Say if this is 2 AS instance, then first request goes to instance 1 and second request goes to instance 2.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Do you deploy on both servers?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Well this is a good question. As you got say atleast 2 Oc4J-SOA instances running.&lt;br /&gt;Do I deploy to both the server or does the server take care when deployed to 1.&lt;br /&gt;&lt;br /&gt;Well the answer is, the server takes care when you deploy to 1 server.&lt;br /&gt;It automatically goes into the second server also.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How is load balancer related to deployment?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Well if look at the logs during deployment you would see that once you have some automated process to deploy.&lt;br /&gt;&lt;br /&gt;The first process physically get deployed to server 1 and second process to server 2 and so on.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What about Polling processes running on both servers?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Well there are no issues with polling processes, it is taken care internally to do the right thing.&lt;br /&gt;If one OC4J-SOA instance goes down the other picks in up automatically.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Server Configuration&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Be sure to do server configuration on all the instaces as this does not get replicated at all.&lt;br /&gt;You need to physically do this, that is logical.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Issue&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;With deployment plans there is a bug with cluster deployment.&lt;br /&gt;The replacement happens only in the server where the process is deployed, the other servers still seem to get a copy of the non-replaced code.&lt;br /&gt;&lt;br /&gt;This causes issues in deployment with 10.1.3.4 deployment plan.&lt;br /&gt;This is a know bug and oracle has logged a bug to fix this.&lt;br /&gt;A fix might be available soon.&lt;br /&gt;&lt;br /&gt;Alternative for now  is to while a shell script to do the find and replace for environment specific replacement. Once the fix from oracle is available, deployment plan should take care of the stuff for you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-4139493481582835884?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/4139493481582835884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=4139493481582835884' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/4139493481582835884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/4139493481582835884'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2009/05/deployment-bpel-on-highly-available-soa.html' title='BPEL Deployment on highly available SOA cluster server'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-3794761320272729496</id><published>2009-04-20T10:48:00.013+01:00</published><updated>2009-05-13T11:15:06.407+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Deployment'/><title type='text'>Deployment Problems-Can't get oracle user password</title><content type='html'>&lt;span style="font-weight: bold;"&gt;What happens for deployment?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you have a wrapper shell script to perform deployment of BPEL processes, you would need to have a user to log in to the box.&lt;br /&gt;Generally such wrapper scripts for deployment of BPEL processes are run as &lt;span style="font-weight: bold;"&gt;oracle&lt;/span&gt; user.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What is the concern?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Generally &lt;span style="font-weight: bold;"&gt;oracle &lt;/span&gt;user is used to run the installation.&lt;br /&gt;Now for installation to run oracle user has every access to do any thing in the system.&lt;br /&gt;&lt;br /&gt;Now if the oracle password is given for deployment, there is concern of miss use of it.&lt;br /&gt;Who ever has access to it can mess up the system big time.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Why is this so?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;oracle user has sys admin privileges. So generally the DBA would not give this to you.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Alternative option&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Create a new user for deployment.&lt;br /&gt;Get this user the following access and you don't need oracle username password.&lt;br /&gt;Only read and execute access in the below list would be enough to get depployment script working.&lt;br /&gt;&lt;br /&gt; &lt;table str="" style="border-collapse: collapse; width: 624pt;" border="0" cellpadding="0" cellspacing="0" width="830"&gt;&lt;col style="width: 248pt;" width="330"&gt;  &lt;col style="width: 125pt;" width="166"&gt;  &lt;col style="width: 203pt;" width="270"&gt;  &lt;col style="width: 48pt;" width="64"&gt;  &lt;tbody&gt;&lt;tr style="height: 12.75pt;" height="17"&gt;   &lt;td class="xl24" style="height: 12.75pt; width: 248pt;" height="17" width="330"&gt;${ORACLE_HOME}/bpel/bin&lt;/td&gt;   &lt;td class="xl24" style="border-left: medium none; width: 125pt;" width="166"&gt;All files&lt;/td&gt;   &lt;td class="xl24" style="border-left: medium none; width: 203pt;" width="270"&gt;BPEL deployment   related files&lt;/td&gt;   &lt;td class="xl25" style="border-left: medium none; width: 48pt;" width="64"&gt;r-x&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 12.75pt;" height="17"&gt;   &lt;td class="xl24" style="border-top: medium none; height: 12.75pt;" height="17"&gt;${ORACLE_HOME}/jdk&lt;/td&gt;   &lt;td class="xl24" style="border-top: medium none; border-left: medium none;"&gt;All files and sub   directories&lt;/td&gt;   &lt;td class="xl24" style="border-top: medium none; border-left: medium none;"&gt;set jdk home for   deployment&lt;/td&gt;   &lt;td class="xl25" style="border-top: medium none; border-left: medium none;"&gt;r-x&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 12.75pt;" height="17"&gt;   &lt;td class="xl24" style="border-top: medium none; height: 12.75pt;" height="17"&gt;${ORACLE_HOME}/ant&lt;/td&gt;   &lt;td class="xl24" style="border-top: medium none; border-left: medium none;"&gt;All files and sub   directories&lt;/td&gt;   &lt;td class="xl24" style="border-top: medium none; border-left: medium none;"&gt;set deployment ant   modules&lt;/td&gt;   &lt;td class="xl25" style="border-top: medium none; border-left: medium none;"&gt;r-x&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 12.75pt;" height="17"&gt;   &lt;td class="xl24" style="border-top: medium none; height: 12.75pt;" height="17"&gt;${ORACLE_HOME}/bpel/system/classes&lt;/td&gt;   &lt;td class="xl24" style="border-top: medium none; border-left: medium none;"&gt;All files and sub   directories&lt;/td&gt;   &lt;td class="xl24" style="border-top: medium none; border-left: medium none;"&gt;bpel classpath&lt;/td&gt;   &lt;td class="xl25" style="border-top: medium none; border-left: medium none;"&gt;r-x&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 12.75pt;" height="17"&gt;   &lt;td class="xl24" style="border-top: medium none; height: 12.75pt;" height="17"&gt;${ORACLE_HOME}/j2ee/${oc4j_instance}/applications&lt;/td&gt;   &lt;td class="xl24" style="border-top: medium none; border-left: medium none;"&gt;All files and sub   directories&lt;/td&gt;   &lt;td class="xl24" style="border-top: medium none; border-left: medium none;"&gt;for j2ee related   deployment&lt;/td&gt;   &lt;td class="xl25" style="border-top: medium none; border-left: medium none;"&gt;r-x&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 12.75pt;" height="17"&gt;   &lt;td class="xl24" style="border-top: medium none; height: 12.75pt;" height="17"&gt;${ORACLE_HOME}/bpel/lib&lt;/td&gt;   &lt;td class="xl24" style="border-top: medium none; border-left: medium none;"&gt;All files&lt;/td&gt;   &lt;td class="xl24" style="border-top: medium none; border-left: medium none;"&gt;BPEL libraries to be   included for compilation&lt;/td&gt;   &lt;td class="xl25" style="border-top: medium none; border-left: medium none;"&gt;r-x&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 12.75pt;" height="17"&gt;   &lt;td class="xl24" style="border-top: medium none; height: 12.75pt;" height="17"&gt;${ORACLE_HOME}/j2ee/home&lt;/td&gt;   &lt;td class="xl24" style="border-top: medium none; border-left: medium none;"&gt;All JAR files&lt;/td&gt;   &lt;td class="xl24" style="border-top: medium none; border-left: medium none;"&gt;BPEL client jar files&lt;/td&gt;   &lt;td class="xl25" style="border-top: medium none; border-left: medium none;"&gt;r-x&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 12.75pt;" height="17"&gt;   &lt;td class="xl24" style="border-top: medium none; height: 12.75pt;" height="17"&gt;${ORACLE_HOME}/j2ee/home/lib&lt;/td&gt;   &lt;td class="xl24" style="border-top: medium none; border-left: medium none;"&gt;All JAR files&lt;/td&gt;   &lt;td class="xl24" style="border-top: medium none; border-left: medium none;"&gt;BPEL client jar files&lt;/td&gt;   &lt;td class="xl25" style="border-top: medium none; border-left: medium none;"&gt;r-x&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 12.75pt;" height="17"&gt;   &lt;td class="xl24" style="border-top: medium none; height: 12.75pt;" height="17"&gt;${ORACLE_HOME}/lib&lt;/td&gt;   &lt;td class="xl24" style="border-top: medium none; border-left: medium none;"&gt;All JAR files&lt;/td&gt;   &lt;td class="xl24" style="border-top: medium none; border-left: medium none;"&gt;dependent JAR files&lt;/td&gt;   &lt;td class="xl25" style="border-top: medium none; border-left: medium none;"&gt;r-x&lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-3794761320272729496?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/3794761320272729496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=3794761320272729496' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/3794761320272729496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/3794761320272729496'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2009/04/deployment-problems-cant-get-oracle.html' title='Deployment Problems-Can&apos;t get oracle user password'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-4123083541951378294</id><published>2009-04-07T12:08:00.053+01:00</published><updated>2009-05-13T11:14:59.763+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fault Handling'/><title type='text'>java.lang.OutOfMemoryError: PermGen space KILLER</title><content type='html'>&lt;span style="font-weight: bold;"&gt;When did I see this happen?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I seem to have seen this in 2 different places with in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;BPEL&lt;/span&gt; world so far.&lt;br /&gt;&lt;br /&gt;Firstly when I try to use the automated deployment process while deploying to System Test or Use Acceptance Test (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;UAT&lt;/span&gt;)  and even in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;pre&lt;/span&gt;-prod some times. I have this whole bunch of about 30+ &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;bpel&lt;/span&gt; processes to deploy and have a automated deployment process to do this. In random order in the middle of deployment you get this crap.&lt;br /&gt;&lt;br /&gt;Secondly I have even seen this in Development environment, while deploying &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;BPEL&lt;/span&gt; process from &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;JDeveloper&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;I have never seen this happen any other time at least in the scenarios that I have worked in.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Where do you see this?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If I take this second one first, I mean &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;JDeveloper&lt;/span&gt; deployment in DEV, then it is in the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;JDeveloper&lt;/span&gt; logging window.&lt;br /&gt;&lt;br /&gt;Now to the first scenario is a bit of a pain. You have a deployment running and all of a sudden the deployment fails. Time to dig into the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;opmn&lt;/span&gt; log file and find these words there.&lt;br /&gt;"&lt;span style="color: rgb(255, 0, 0);font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;java.lang.OutOfMemoryError: &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;PermGen&lt;/span&gt; space&lt;/span&gt;&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What the hell is &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;PermGen&lt;/span&gt; space?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;First of all it is NOT &lt;span style="font-weight: bold;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;PermGe&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;m&lt;/span&gt;&lt;/span&gt; space but it is Perm Gen space.&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;PermGen&lt;/span&gt; stands for &lt;span style="font-weight: bold; color: rgb(51, 51, 255);"&gt;Permanent Generation&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How the hell is this related to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;BPEL&lt;/span&gt;?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The answer is both &lt;span style="font-weight: bold;"&gt;No&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;Yes&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Why NO?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This weired error is not a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;BPEL&lt;/span&gt; error but a java &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;JVM&lt;/span&gt; memory error.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Why YES?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You see this crap come up while deploying &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;BPEL&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;So what is the background of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;PermGen&lt;/span&gt; Error?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Well let us dig into java. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;JVM&lt;/span&gt; has this memory called virtual memory. This is the memory that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;JVM&lt;/span&gt; uses to work with what ever it has in hand.&lt;br /&gt;But &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;JVM&lt;/span&gt; has 3 different space of it.&lt;br /&gt;The Young, Tenured and Perm.&lt;br /&gt;&lt;br /&gt;All the objects that get created are first stored in Young Generation. If the objects survive long enough from garbage collector they get transferred to Tenured Generation.&lt;br /&gt;&lt;br /&gt;Now Permanent Generation is special. When there is no space left in Perm you see this error.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;So what does Perm Gen contain?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Permanent Generation is special as it contains class definitions.&lt;br /&gt;Objects are in Young and Tenured Generation.&lt;br /&gt;&lt;br /&gt;Basically it contains&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Basic fields of java class&lt;/li&gt;&lt;li&gt;Methods of a class (including the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;bytecodes&lt;/span&gt;)&lt;/li&gt;&lt;li&gt;Names of the classes&lt;/li&gt;&lt;li&gt;Constant pool information&lt;/li&gt;&lt;li&gt;Object arrays and type arrays associated with a class&lt;/li&gt;&lt;li&gt;Internal objects created by the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;JVM&lt;/span&gt; (java/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;lang&lt;/span&gt;/Object or java/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;lang&lt;/span&gt;/exception  for instance)&lt;/li&gt;&lt;li&gt;Information used for optimization by the compilers (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;JITs&lt;/span&gt;)&lt;/li&gt;&lt;/ul&gt;There are a few more pieces in there but this is most of it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;So what causes Perm Gen?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As you are loading &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;BPEL&lt;/span&gt; through some ANT task.&lt;br /&gt;ANT runs the java stuff to load &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;BPEL&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;The class loader that loads the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;BPEL&lt;/span&gt; fills up the Permanent Generation with the class details of all the classes that you have loaded.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What is the default &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;PermGen&lt;/span&gt;?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The default max permanent generation size is 64M, not quite enough.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What is recommended?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1024 is recommended.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How to control this?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Use the following with the command line&lt;br /&gt;-XX:&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;MaxPermSize&lt;/span&gt;=1024m&lt;b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What does &lt;/span&gt;&lt;/b&gt;&lt;span style="font-weight: bold;"&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;Xms&lt;/span&gt; and -&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;Xmx&lt;/span&gt; do to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;PermGen&lt;/span&gt;?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;These 2 parameters does nothing to change the Perm Gen space setup by &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;JVM&lt;/span&gt;.&lt;br /&gt;You just do want to default Max Perm Gen space to 64 M.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Is this the final solution?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Not really, if you keep loading loads of new processes or huge number of classes this might delay your Out Of Memory Error but will not fix it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The only solution?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The only solution is to bounce the server once you see this error.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Where else?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is a general issue faced by all sun java based servers. When huge number if class are loaded as part of an application, this error is expected.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Related Links I liked&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.sun.com/jonthecollector/entry/presenting_the_permanent_generation"&gt;http://blogs.sun.com/jonthecollector/entry/presenting_the_permanent_generation&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.oracle.com/forums/thread.jspa?messageID=3344909&amp;amp;#3344909"&gt;http://forums.oracle.com/forums/thread.jspa?messageID=3344909&amp;amp;#3344909&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.jroller.com/agileanswers/entry/preventing_java_s_java_lang"&gt;http://www.jroller.com/agileanswers/entry/preventing_java_s_java_lang&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-4123083541951378294?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/4123083541951378294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=4123083541951378294' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/4123083541951378294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/4123083541951378294'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2009/04/javalangoutofmemoryerror-permgen-space.html' title='java.lang.OutOfMemoryError: PermGen space KILLER'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-3286932945039084813</id><published>2009-01-21T12:13:00.052Z</published><updated>2009-01-21T13:29:37.240Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Install'/><title type='text'>hostname with and without domain name issue</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Why I write this?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The reason why I write this is as I faced this.&lt;br /&gt;Some kind of a behaviour that I have never seen to known, but yes I did find this.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What did I see?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I was happy developing my BPEL process. everything looks cool and alright.&lt;br /&gt;Now I had BPEL process A and B.&lt;br /&gt;&lt;br /&gt;A was calling process B&lt;br /&gt;B was developed happily and deployed&lt;br /&gt;&lt;br /&gt;Started developing A, this is when I see this strange error&lt;br /&gt;When I tried to create a partner link for B from the service explorer in partner link wizard&lt;br /&gt;"The WSDL could not be located" error was displayed in the wizard&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How can that be?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Yes how can this be, I was actually using the service explorer and making my way to B and selecting it and still WSDL not discoverable&lt;br /&gt;What stupidity, how can this be?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What does the partner link actually not like?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Well, what I found is this. The URL for webservice was causing the issue. The wonderful hostname.&lt;br /&gt;&lt;br /&gt;The URL from service explorer did not have the domain name in the hostname.&lt;br /&gt;When I added the domain name there in the WSDL location, the WSDL was working alright.&lt;br /&gt;&lt;br /&gt;Strage aint it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What was the other issue?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The WSDL was alright, but there was some thing else that broke.&lt;br /&gt;When I tried to deploy A it came back with the following error.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-family:arial;font-size:85%;"  &gt;Error:&lt;br /&gt;[Error ORABPEL-10902]: compilation failed&lt;br /&gt;[Description]: in "bpel.xml", XML parsing failed because "undefined part element.&lt;br /&gt;In WSDL at "http://&lt;span style="font-weight: bold;"&gt;hostname.domainname&lt;/span&gt;:&lt;span style="font-weight: bold;"&gt;portnumber&lt;/span&gt;/orabpel/&lt;span style="font-weight: bold;"&gt;domain/&lt;/span&gt;B/B?wsdl", message part element "{http://schemas.xmlsoap.org/ws/2003/03/addressing}MessageID" is not defined in any of the schemas.&lt;br /&gt;Please make sure the spelling of the element QName is correct and the WSDL import is complete.&lt;br /&gt;".&lt;br /&gt;[Potential fix]: n/a.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What does the error mean?&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;When I opened up the WSDL from BPEL console I saw this.&lt;br /&gt;The WSDL from BPEL console was looking like this &lt;span style="color: rgb(255, 0, 0);font-family:arial;font-size:85%;"  &gt;http://hostname:portnumber/orabpel/domain/B/B?wsdl&lt;/span&gt;&lt;br /&gt;With out the domain name.&lt;br /&gt;&lt;br /&gt;Also when I opened the WSDL, the ws-addrressing was like this&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:arial;font-size:85%;"  &gt;&amp;lt;schema&gt;&lt;br /&gt;&amp;lt;import namespace="http://schemas.xmlsoap.org/ws/2003/03/addressing" schemaLocation="http://&lt;span style="font-weight: bold;"&gt;domainname:portnumber&lt;/span&gt;/orabpel/xmllib/ws-addressing.xsd"/&gt;&lt;br /&gt;&amp;lt;/schema&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;The domain name was missing from the import.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What does this mean?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As the domain was missing the server could not locate the import from ws-addressing.&lt;br /&gt;And the namespace that was present right at the taop was&lt;br /&gt;&lt;pre id="line1"&gt;&lt;span class="attribute-name"&gt;xmlns:wsa&lt;/span&gt;=&lt;span class="attribute-value"&gt;"http://schemas.xmlsoap.org/ws/2003/03/addressing"&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;wsa was refering to wsa:RelatesTo,&lt;span class="attribute-value"&gt; wsa:MessageID&lt;/span&gt; and &lt;span class="attribute-value"&gt;wsa:ReplyTo&lt;br /&gt;All these should be failing one by one in trial to deploy to the server the BPEL process that tries to partnerlink B.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;How to fix this?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The fix is as simple as changing the WSDL to have the complete domain name in hostname.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;But how to do that?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The change is as simple as this.&lt;br /&gt;Open up the file &lt;span style="color: rgb(51, 51, 255);font-family:arial;font-size:85%;"  &gt;&lt;span style="font-weight: bold;"&gt;${OracleAS_Home}\bpel\system\config\collaxa-config.xml&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Change the following&lt;br /&gt;Property name &lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;soapServerUrl&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&amp;lt;property id="soapServerUrl"&gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;name&gt;BPEL soap server URL&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;/name&gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;value&gt;http://&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;hostname:portnumber&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;/value&gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;comment&gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;![CDATA[This URL is published as part of the SOAP address of a process in the WSDL file.&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;p/&gt; The hostname and port for this URL should be customized to match the hostname of your system and the port of your HTTP gateway.]]&gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;/comment&gt;&lt;br /&gt;   &lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;/property&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To&lt;br /&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&amp;lt;property id="soapServerUrl"&gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;name&gt;BPEL soap server URL&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;/name&gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;value&gt;http://&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;hostname.domain:portnumber&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;/value&gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;comment&gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;![CDATA[This URL is published as part of the SOAP address of a process in the WSDL file.&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;p/&gt; The hostname and port for this URL should be customized to match the hostname of your system and the port of your HTTP gateway.]]&gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;/comment&gt;&lt;br /&gt;   &lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;/property&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Also change similarly in the next property&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;soapCallbackUrl&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What caused the problem?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;During install the hostname file had the server host name before the hostname with domain name causing all this error.&lt;br /&gt;So be sure to install with care and check the host file before install. Even if you break it, you are sure now how to fix this, aint you!!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-3286932945039084813?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/3286932945039084813/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=3286932945039084813' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/3286932945039084813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/3286932945039084813'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2009/01/hostname-with-and-without-domain-name.html' title='hostname with and without domain name issue'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-3871233447603687515</id><published>2009-01-06T10:55:00.137Z</published><updated>2009-01-21T13:26:54.847Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Deployment'/><title type='text'>BPEL 10.1.3.4 Deployment Framework</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Why I want to write this?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I wanted to find some quick start material for using BPEL deployment framework in 10.1.3.4&lt;br /&gt;Damn I could not find any. Nothing that looked like a quick start thing.&lt;br /&gt;And the worst part was the closest I could find was oracle documentation about it.&lt;br /&gt;&lt;br /&gt;At least I could not google any thing even close&lt;br /&gt;But neither of them helped me quick start like a quick list of things to do. :(&lt;br /&gt;&lt;br /&gt;I hope this post comes up in google for the help of those who want it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What is the first thing to do?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The first thing to do is edit your build.xml file&lt;br /&gt;If you open up your BPEL project you will find that in Folder called &lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;Resources&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;If you are looking in the actual physical folder then you will find this in &lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;${process.dir}&lt;/span&gt;&lt;/span&gt; (the bpel ant terminology)&lt;br /&gt;Basically the top project folder where you find your jpr file.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Why build.xml first?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Fundamentals first, as you are going to use ant to perform deployment automation, you need to edit the build.xml file that ant uses.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Do what in build.xml?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You need to include the ant things that oracle has come up with.&lt;br /&gt;Basically it has 4 things new&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;generateplan&lt;/span&gt;&lt;/span&gt; - to generate a brand new plan for you, isn't that cool&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;attachplan &lt;/span&gt;&lt;/span&gt;- to attach the plan to your jar while deplyoing&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;validateplan&lt;/span&gt;&lt;/span&gt; - to validate the plan, use for developement purpose only and disbale in PROD&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;extractplan &lt;/span&gt;&lt;/span&gt;- to extract the plan out from your jar file&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Down to business in build.xml&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;how the hell to use these.&lt;br /&gt;First things first. You need to create plan file as a starting point.&lt;br /&gt;generateplan is the good thing that help you do this.&lt;br /&gt;&lt;br /&gt;Stick this piece of code before the &lt;span style="color: rgb(51, 51, 255);font-family:arial;font-size:85%;"  &gt;&amp;lt;/project&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:arial;font-size:85%;"  &gt;   &amp;lt;target name="generateMyPlanFromProjectFile"&gt;&lt;br /&gt;           &amp;lt;generateplan planfile="${process.dir}/MyPlanFile.xml" verbose="true"&lt;br /&gt;                       overwrite="true" descfile="${process.dir}/bpel/bpel.xml"/&gt;&lt;br /&gt; &amp;lt;/target&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;What this does is, generate a file called &lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;MyPlanFile.xml&lt;/span&gt;&lt;/span&gt; in your &lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;${process.dir}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you want to generate the plan file from jar file, you can stick this piece there as well.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:arial;font-size:85%;"  &gt;target name="GenerateMyPlanFromSuitcaseFile"&gt;&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:arial;font-size:85%;"  &gt;generateplan planfile="${process.dir}/MyPlanFile.xml" verbose="true"&lt;br /&gt;                   overwrite="true"&lt;br /&gt;                   suitecase="${process.dir}/output/bpel_${BPELSuitcase.BPELProcess(id)}_${rev}.jar"/&gt;&lt;br /&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:arial;font-size:85%;"  &gt;/target&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;What this does is, generate the plan fuile from jar file.&lt;br /&gt;Here the use of some things like &lt;span style="color: rgb(51, 51, 255);font-family:arial;font-size:85%;"  &gt;${rev}&lt;/span&gt; etc can found some where below in build.properties&lt;br /&gt;For now just know that this will pick the correct jar&lt;br /&gt;&lt;br /&gt;Basically stick both the pieces there.&lt;br /&gt;&lt;br /&gt;If you have not yet complied to generate the jar, do not be surprised to see the &lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;GenerateMyPlanFromSuitcaseFile&lt;/span&gt;&lt;/span&gt; fail&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What the hell do I do with this generateplan thing....&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Well what else but run as ANT&lt;br /&gt;Right click the build.xml in Jdeveloper, Open up &lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;Run Ant Target&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Choose &lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;generateMyPlanFromProjectFile&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;JDeveloper should fire up and generate a file for you called &lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;MyPlanFile.xml&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;If you are not able to see that in Resources folder (same place where the build.xml is located) click refresh mate and you should see it&lt;br /&gt;&lt;br /&gt;Congrats you have completed the first step easily&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Changes in build.properties file&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There is a file called build.properties in the same good old folder &lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;${process.dir}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Open that up and see 2 properties called domain and rev&lt;br /&gt;These are commented out by default&lt;br /&gt;&lt;br /&gt;uncomment them and change them as below&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;#if domain name is "commmon" then type in common&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;domain = ${enter the name of the domain yoiu want to deploy}&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;#if revision is 2.0 then type in 2.0&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;rev = ${version number of the bpel process}&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Good with all this but where is the search and replace thing&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Open up the MyPlanFile.xml and you should see some thing there.&lt;br /&gt;Some thing like &lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;wsdlAndSchema&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There is a element called &lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;search &lt;/span&gt;&lt;/span&gt;and &lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 255);"&gt;replace&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Need to fill this up to search and replace. Read the documentation to find how all to use it. This is the easy part aint it!! Just fill in some strings to test your code.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How to attach the plan&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Stick this thing into the build.xml file&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:arial;font-size:85%;"  &gt;&amp;lt;target name="AttachMyPlan"&gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:arial;font-size:85%;"  &gt;echo&gt; -------------------------------------------------------------- | Attaching the plan file ------------------------------------------------  &lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:arial;font-size:85%;"  &gt;/echo&gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:arial;font-size:85%;"  &gt;attachplan planfile="${process.dir}/MyPlanFile.xml" verbose="true"&lt;br /&gt;                   overwrite="true"&lt;br /&gt;                   suitecase="${process.dir}/output/bpel_${BPELSuitcase.BPELProcess(id)}_${rev}.jar"/&gt;&lt;br /&gt;   &lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:arial;font-size:85%;"  &gt;/target&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;What this does is attach the plan file to your jar.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What about extract plan&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I am not sure if you want this or not, but here is the piece of code&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:arial;font-size:85%;"  &gt;&amp;lt;target name="ExtractMyPlan"&gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:arial;font-size:85%;"  &gt;extractplan planfile="${process.dir}/MyPlanFile.xml" verbose="true"&lt;br /&gt;                    overwrite="true"&lt;br /&gt;                    suitecase="${process.dir}/output/bpel_${BPELSuitcase.BPELProcess(id)}_${rev}.jar"/&gt;&lt;br /&gt;   &lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:arial;font-size:85%;"  &gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:arial;font-size:85%;"  &gt;/target&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ya ya I know that you know what this does.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Now what else?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The last part, add the new target you added to the default target &lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;process-deploy&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In the &lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 255); font-weight: bold;"&gt;depends &lt;/span&gt;&lt;/span&gt;part of &lt;span style="font-weight: bold; color: rgb(51, 51, 255);font-size:85%;" &gt;&amp;amp;lttarget name="process-deploy"&lt;/span&gt;&lt;br /&gt;Add the target &lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 255);"&gt;AttachMyPlan&lt;/span&gt;&lt;/span&gt; after &lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 255); font-weight: bold;"&gt;complie&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So the new target will look like&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&lt;span style="font-weight: bold;"&gt;&amp;lt;target name="process-deploy"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;            depends="validateTask, compile, &lt;span style="color: rgb(255, 0, 0);"&gt;AttachMyPlan&lt;/span&gt;, deployProcess, deployTaskForm, deployDecisionServices"/&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Why Am I not adding the generateplan thing in there&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Well you do not want to generate the plans always and over write the search and replace that you have read form the documentation and build&lt;br /&gt;&lt;br /&gt;If you did then do not be surprised but only thing is I will be laughing ha ha ha :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How to deploy to other Environments&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Well that is for you to discover and explore&lt;br /&gt;Just that you need to run this in dev prompt. Go to the same old ${process.dir} directory and run the ANT as&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;command promt&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;ant process-deploy&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Congrats mate you have done it.&lt;br /&gt;There are other few things that you can learn from the documentation if you are interested at all&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Links that I liked&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I could hardly google a lot of stuff for this.&lt;br /&gt;The best is oracle documentation&lt;br /&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&lt;a href="http://download.oracle.com/docs/cd/E12524_01/relnotes.1013/e12523/bpelrn.htm#BABCEBAA"&gt;http://download.oracle.com/docs/cd/E12524_01/relnotes.1013/e12523/bpelrn.htm#BABCEBAA&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The next best I could find was&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;a style="font-family: arial;" href="http://blogs.oracle.com/reynolds/2008/11/bpel_deployment_framework.html"&gt;http://blogs.oracle.com/reynolds/2008/11/bpel_deployment_framework.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-3871233447603687515?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/3871233447603687515/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=3871233447603687515' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/3871233447603687515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/3871233447603687515'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2009/01/bpel-10134-deployment-framework.html' title='BPEL 10.1.3.4 Deployment Framework'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-8157582463639298615</id><published>2008-12-19T17:19:00.010Z</published><updated>2008-12-23T12:08:58.916Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Deployment'/><title type='text'>Deploy BPEL process with different name</title><content type='html'>&lt;span style="font-weight: bold;"&gt;What I want to do?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;What I want to do is this.&lt;br /&gt;There is a process A.&lt;br /&gt;I want to deploy this to the server with name X.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How I did it?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is just very simple.&lt;br /&gt;Just open up the bpel.xml file&lt;br /&gt;&lt;br /&gt;Change the following tag&lt;br /&gt;&amp;lt;BPELProcess id="A"&lt;br /&gt;to&lt;br /&gt;&amp;lt;BPELProcess id="X"&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Why I want to do this?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;No particular reason actually. One of my friends wanted to know this.&lt;br /&gt;If he wanted to know there could be other too who want to know this.&lt;br /&gt;So I put this up.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-8157582463639298615?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/8157582463639298615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=8157582463639298615' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/8157582463639298615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/8157582463639298615'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/12/deploy-process-with-different-name.html' title='Deploy BPEL process with different name'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-442587621749294911</id><published>2008-12-19T16:32:00.033Z</published><updated>2008-12-23T12:09:25.515Z</updated><title type='text'>Do All ASync BPEL process require correlation?</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Why I ask this?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Well it is natural to ask this question once you have read about correlation.&lt;br /&gt;When to use correlation? And a even better question when not to use correlation?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;When not to use correlations?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you have 2 BPEL processes that behave in the following way you do not require correlation.&lt;br /&gt;&lt;br /&gt;A calls B --&gt; ASync(Invoke)&lt;br /&gt;B send result back to A --&gt; ASync(Invoke)&lt;br /&gt;&lt;br /&gt;This scenario does not require you to use correlation if you are with in BPEL realm.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How does this work?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;BPEL does this behind the scenes for you.&lt;br /&gt;Well there is some thing called WS-Adressing that takes care of this.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;When does this above rule break?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you are using a Async callback in a flowN branch you break this rule as there will be more than one process waiting to receive the input. WS-Addressing is not enough.&lt;br /&gt;&lt;br /&gt;The other scenario is when you have atleast 3 processes that work as stated below.&lt;br /&gt;&lt;br /&gt;A calls B&lt;br /&gt;B calls C&lt;br /&gt;C calls A&lt;br /&gt;&lt;br /&gt;Now how does C know which instance of A to call. This forces you to use correlation.&lt;br /&gt;&lt;br /&gt;There are other complex scenarios that can make you use correlation that is a variance of the above.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Links&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;How to use correlation in FlowN&lt;br /&gt;&lt;a href="http://oraclebpelindepth.blogspot.com/search/label/FlowN"&gt;http://oraclebpelindepth.blogspot.com/search/label/FlowN&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-442587621749294911?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/442587621749294911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=442587621749294911' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/442587621749294911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/442587621749294911'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/12/do-all-async-process-require.html' title='Do All ASync BPEL process require correlation?'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-1083277065281981202</id><published>2008-12-12T17:13:00.033Z</published><updated>2008-12-19T16:32:04.609Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fault Handling'/><title type='text'>getFaultAsString( ) in SOA version and wonderful JDev</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Why I write this?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;When one of my team members questioned that getFaultAsString( ) was shown as invalid in JDev that had my bells ringing. He also dig up some posts that were talking about some versions.&lt;br /&gt;&lt;br /&gt;Well when I read a few posts after googling them out to say that getFaultAsString( ) had gone and has come back. I wanted to see that in my version of SOA suite.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What did I find out?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A few posts read this feature had disappeared in soa 10.1.3 and has come back in soa 10.1.3.3.&lt;br /&gt;So what the hell is this, do it work or not work.&lt;br /&gt;So does it work with soa 10.1.3.4 version.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Working or not in versions?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;soa 10.1.3.3 -&gt; Yes it works&lt;br /&gt;soa 10.1.3.3 after MLR patches -&gt; Yes it works&lt;br /&gt;soa 10.1.3.4 -&gt; Yes it works&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Whatz it with JDev?&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;Jdev&lt;/span&gt;&lt;span&gt; 10&lt;/span&gt;&lt;span&gt;.1.3.3 -&gt; complains in JDev while creating the assign&lt;br /&gt;Function of name "getFaultAsString" not Found&lt;br /&gt;Just Ignore this and proceed with deployment, it will work in server.&lt;br /&gt;&lt;br /&gt;Jdev 10.1.3.4 -&gt; worked!! :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Links I found&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://forums.oracle.com/forums/message.jspa?messageID=2139312"&gt;&lt;span style="font-family: arial;"&gt;http://forums.oracle.com/forums/message.jspa?messageID=2139312&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-1083277065281981202?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/1083277065281981202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=1083277065281981202' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/1083277065281981202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/1083277065281981202'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/12/getfaultasstring-in-soa-version-and.html' title='getFaultAsString( ) in SOA version and wonderful JDev'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-5676189827250313309</id><published>2008-12-01T15:17:00.017Z</published><updated>2008-12-19T17:29:29.949Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Install'/><title type='text'>SOA suite 10.1.3.1.0 with oracle 10.2.0.2 joke</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Why I write this&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I just tried to install SOA suite 10.1.3.1.0 onto my PC.&lt;br /&gt;So i went onto download the oracle DB. That when I was surprised.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What is the version of oracle you want???&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The SOA suite advanced install database version support recommended by oracle is&lt;br /&gt;&lt;p&gt;Oracle Database 10&lt;span class="italic"&gt;g&lt;/span&gt; Release 2 (10.2.x) --&gt;10.2.0.2 or later&lt;/p&gt;OK. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Thatz&lt;/span&gt; cool. Just that I can not download one for the version of OS i have.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What is this to do with the OS&lt;/span&gt; !! :(&lt;br /&gt;&lt;br /&gt;I have got Windows &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;XP&lt;/span&gt; professional running on my PC.&lt;br /&gt;So naturally I want to download oracle DB version 10.2.0.2 or later for windows.&lt;br /&gt;&lt;br /&gt;But I can not find it. Oracle only gives these to download.&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201winsoft.html" class="bodylink"&gt;Oracle                          Database 10&lt;i&gt;g&lt;/i&gt; Release 2 (10.2.0.1.0) for Microsoft                          Windows&lt;/a&gt; -  &lt;span style="font-weight: bold;"&gt;This I can't use&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10203vista.html" class="bodylink"&gt;Oracle                          Database 10&lt;i&gt;g&lt;/i&gt; Release 2 (10.2.0.3/10.2.0.4) for                          Microsoft Windows Vista and Windows 2008&lt;/a&gt; - &lt;span style="font-weight: bold;"&gt;This I don't want&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;as this is for Vista&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10204_winx64_vista_win2k8.html" class="bodylink"&gt;Oracle                          Database 10&lt;i&gt;g&lt;/i&gt; Release 2 (10.2.0.4) for Microsoft              Windows Vista x64 and Microsoft Windows Server 2008 x64  &lt;/a&gt;- &lt;span style="font-weight: bold;"&gt;This I don't want &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;as this is for Vista&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;What the questions in my mind&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;The basic question is if oracle &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;SOA&lt;/span&gt; suite 10.1.3.1.0 needs Oracle DB 10.2.02 or higher. Why is there no Windows &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Xp&lt;/span&gt; &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;compatible&lt;/span&gt; 10.2.0.3 or higher. Why only vista?&lt;br /&gt;&lt;br /&gt;To get &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;SOA&lt;/span&gt; suite onto my &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Xp&lt;/span&gt;, looks like i have to go through a lot of pain to just get the dehydration database up and running. Not at all &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_7"&gt;elegant&lt;/span&gt;.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;What did i end up doing&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=""&gt;Well I end up download the database &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_8"&gt;upgrade&lt;/span&gt; for 10.2.0.1 to 10.2.0.2.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How to upgrade 10.2.0.1 to 10.2.0.2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You will find all the &lt;/span&gt;information on how to upgrade from 10.2.0.1 database to version 10.2.0.2 follow &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_9"&gt;read me&lt;/span&gt; of patch 4547817 or &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;metalink&lt;/span&gt; note 316900.1&lt;br /&gt;&lt;br /&gt;Basically you will end up downloading the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_11"&gt;path set&lt;/span&gt; for oracle database and applying it.&lt;br /&gt;&lt;br /&gt;Just be sure to follow post installation instructions.&lt;br /&gt;Link that helped me was&lt;br /&gt;&lt;a href="http://becomeappsdba.blogspot.com/2007/06/upgrade-oracle-database-to-10202-soa.html"&gt;http://becomeappsdba.blogspot.com/2007/06/upgrade-oracle-database-to-10202-soa.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-5676189827250313309?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/5676189827250313309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=5676189827250313309' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/5676189827250313309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/5676189827250313309'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/12/soa-suite-101310-with-oracle-10202-joke.html' title='SOA suite 10.1.3.1.0 with oracle 10.2.0.2 joke'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-1035475616807694724</id><published>2008-10-30T13:29:00.005Z</published><updated>2008-12-01T16:47:53.227Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Manage Prod'/><title type='text'>Default Retired BPEL process</title><content type='html'>&lt;div&gt;&lt;strong&gt;How did I find this?&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;I was testing the rollback of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;BPEL&lt;/span&gt; processes. That is when I found this behaviour.&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt; &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;What was the setup?&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;There were 2 versions of a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;BPEL&lt;/span&gt; process say A.&lt;/div&gt;&lt;div&gt;Say version 1.0 and version 1.1&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Version 1.1 was deployed.&lt;/div&gt;&lt;div&gt;Version 1.0 was retired.&lt;/div&gt;&lt;div&gt;&lt;div&gt; &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;What I wanted to do?&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt; &lt;/div&gt;Now I wanted to rollback to version 1.0&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So I retired version 1.1&lt;/div&gt;&lt;div&gt;Set version 1.0 as default&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;All this was done using the Java &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;API&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Why java &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;API&lt;/span&gt;?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you ask me why java &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;API&lt;/span&gt;, well there were quite a few &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;BPEL&lt;/span&gt; process that need to be rolled back.&lt;/div&gt;&lt;div&gt;And getting this done manually is a monumental pain.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;What I expected and found?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What I expected was, once I retire version 1.1&lt;/div&gt;&lt;div&gt;And set version 1.0 as default, version 1.0 will become active&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But that did not happen. After version 1.0 was set as default it still was in retired state.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;How to do this?&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt; &lt;/div&gt;&lt;/div&gt;&lt;div&gt;Once I found this it was all logical to say yes this is the expected behaviour.&lt;/div&gt;&lt;div&gt;But this never crossed the mind when preparing the automated rollback process.&lt;/div&gt;&lt;div&gt;Now I know this, &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;possibly&lt;/span&gt; other might face or some thing to be aware of.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-1035475616807694724?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/1035475616807694724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=1035475616807694724' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/1035475616807694724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/1035475616807694724'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/10/default-retired-bpel-process.html' title='Default Retired BPEL process'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-416987334430888618</id><published>2008-10-13T16:25:00.034+01:00</published><updated>2008-12-01T16:48:31.020Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pick'/><category scheme='http://www.blogger.com/atom/ns#' term='BPEL Processes'/><title type='text'>Create instance with Pick</title><content type='html'>&lt;strong&gt;Break the receive idea!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Well if you think that &lt;span style="color:#3333ff;"&gt;&lt;strong&gt;receive&lt;/strong&gt;&lt;/span&gt; activity is the only way to create &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;BPEL&lt;/span&gt; instances, think twice. You can do this with &lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Pick&lt;/span&gt;&lt;/strong&gt; &lt;strong&gt;&lt;span style="color:#3333ff;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;onMessage&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt; activity as well. Well if this is a surprise to you then read on else dump this stupid post.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Why do this with PICK&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Well if you think about it, it makes it clear that you can have multiple &lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Pick&lt;/span&gt;&lt;/strong&gt; &lt;span style="color:#3333ff;"&gt;&lt;strong&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;onMessage&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt; activities at the same time. What that means in plain &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;english&lt;/span&gt; is, you can have multiple operations calling in, to create a instance in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;BPEL&lt;/span&gt;. Is that not cool.&lt;br /&gt;&lt;br /&gt;You create &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;BPEL&lt;/span&gt; process for each operation in &lt;strong&gt;&lt;span style="color:#3333ff;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;onMessage&lt;/span&gt; Pick&lt;/span&gt;&lt;/strong&gt;.&lt;br /&gt;Generally you have single operation to create a instance in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;BPEL&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How to create instance with PICK&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Just check the create instance in the activity, that it. You are done.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What can not be done in this&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;You can not use a &lt;strong&gt;&lt;span style="color:#3333ff;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;onAlarm&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt; activity in this &lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Pick&lt;/span&gt;&lt;/strong&gt; &lt;strong&gt;&lt;span style="color:#3333ff;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;onMessage&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt; activity.&lt;br /&gt;If you think about why, it is not logical at all.&lt;br /&gt;How do you expire time on some thing that was not created.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Word of caution&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;At design time there should be strong reason that you are trying to simulate this at operation level. Use this with caution and for some strong reasons.&lt;br /&gt;For example if you want a single web service for each operation from a source system.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-416987334430888618?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/416987334430888618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=416987334430888618' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/416987334430888618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/416987334430888618'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/10/create-instance-with-pick.html' title='Create instance with Pick'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-2063686475852694618</id><published>2008-10-07T08:01:00.016+01:00</published><updated>2008-10-23T21:56:45.691+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Manage Prod'/><title type='text'>How do you relate BPEL dehydration tables</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Why I write this?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Well if you want to write some real clever applications on to top your BPEL dehydration database, you need to know some key BPEL tables inside out.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The dehydration database table need to be house kept to clear production data.&lt;br /&gt;What helps you in these scenarios are:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Understanding of what the key tables are.&lt;/li&gt;&lt;li&gt;What the key fields are.&lt;/li&gt;&lt;li&gt;How to relate these table.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;What is the key table?&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;There are a few key tables that can be used across to relate together BPEL tables.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;The first table that you should know is &lt;span class="Apple-style-span"  style="  white-space: pre-wrap; font-family:-webkit-monospace;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style=" ;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;CUBE_INSTANCE&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;What is the key column in CUBE_INSTANCE  table?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The most important column that you should know as a BPEL developer is &lt;span class="Apple-style-span" style="white-space: pre-wrap; "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 255);"&gt;cikey&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class="Apple-style-span"   style="  white-space: pre-wrap; font-family:-webkit-monospace;font-size:13px;"&gt;&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;What is the significance of cikey?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is the instance ID that you see in your BPEL console.&lt;/div&gt;&lt;div&gt;This gets incremented in a sequence with creation of BPEL instances.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you don't know what cikey is then here I go. Each BPEL instance is assigned a unique ID.&lt;/div&gt;&lt;div&gt;This ID is visible in the BPEL console. &lt;/div&gt;&lt;div&gt;And guess what BPEL console does allow you to filter using instance ID.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is one of the key columns that you should know to do a lot of stuff.&lt;/div&gt;&lt;div&gt;And this key cuts across a lot of tables in the dehydration tables.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;The article will continue to grow....&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Continuation to cover..&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;What are the other tables that have cikey&lt;/div&gt;&lt;div&gt;What are the other Key columns in CUBE_INSTANCE&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-2063686475852694618?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/2063686475852694618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=2063686475852694618' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/2063686475852694618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/2063686475852694618'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/10/how-do-you-relate-bpel-dehydration.html' title='How do you relate BPEL dehydration tables'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-1252643018440683865</id><published>2008-10-05T17:26:00.034+01:00</published><updated>2008-10-06T08:55:43.206+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vista Install'/><title type='text'>SOA does not start with error "An unknown OPMN error has occured"</title><content type='html'>&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;div&gt;When did I get this?&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;I have a fresh installation of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;SOA&lt;/span&gt; suite on my stupid Vista laptop.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;I had a hard time getting this into it in the first place.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;If you want to find how hard it was see this&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;a href="http://oraclebpelindepth.blogspot.com/2008/10/install-soa-suite-on-windows-vista.html"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;http://oraclebpelindepth.blogspot.com/2008/10/install-soa-suite-on-windows-vista.html&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;I was damn happy getting this into it and I though wow here I go.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;But damn stupid thing, after re-starting my system I could not get the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;SOA&lt;/span&gt; suite working.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;I capture what I did to get this wonderful thing working.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;What is this error and why I write this?&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The first bolt I got was this&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0);"&gt;"An unknown &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;OPMN&lt;/span&gt; error has &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;occurred&lt;/span&gt;"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0);"&gt;"Error connecting to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;OPMN&lt;/span&gt; (is it running?): Connection refused: connect"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This was when I tried to start &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;SOA&lt;/span&gt; suite from the "start &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;SOA&lt;/span&gt; suite" from start menu.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When I looked at &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;opmn&lt;/span&gt;.log file it said some thing that did not make any sense initially.&lt;/div&gt;&lt;div&gt;It read &lt;span class="Apple-style-span"  style="color: rgb(255, 0, 0);  font-family:arial;"&gt;"[&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;ons&lt;/span&gt;-connect] Local connection 127.0.0.1,6100 invalid form factor"&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Tried to see &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;opmnctl&lt;/span&gt; status -app&lt;/span&gt;&lt;/span&gt; but got back&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0);"&gt;"Unable to connect to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;opmn&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0);"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;Opmn&lt;/span&gt; may not be up."&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;How did I solve this?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Solving is very simple process.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;Stop all &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;opmn&lt;/span&gt; and related &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_13"&gt;process&lt;/span&gt; forcefully if does not stop from "stop &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;SOA&lt;/span&gt; suite" script&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;Rename &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_15"&gt;persistence&lt;/span&gt; to persistence.old in &lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span" style="font-family: georgia;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;${ORACLE_HOME}/j2&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;ee&lt;/span&gt;/${&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;OC&lt;/span&gt;4J_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;Insatnce&lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(0, 0, 153); font-family:arial;"&gt;Note you will not be able to rename the folder if &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;opmn&lt;/span&gt; or any related process is still running.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(0, 0, 153); font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(0, 0, 153); font-family:arial;"&gt;Use the following command to start &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;SOA&lt;/span&gt; suite&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(0, 0, 153); font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;opmnctl&lt;/span&gt; start&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(0, 0, 153); font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;opmnctl&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;startproc&lt;/span&gt; process-type=HTTP_Server&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(0, 0, 153);  font-weight: bold;font-family:arial;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;opmnctl&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;startproc&lt;/span&gt; process-type=${&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;oc&lt;/span&gt;4j_instance_name}&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Where did I find the solution?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Found the most helpful solution here&lt;/div&gt;&lt;div&gt;&lt;a href="http://forums.oracle.com/forums/thread.jspa?threadID=388156&amp;amp;start=15&amp;amp;tstart=0"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;http://forums.oracle.com/forums/thread.jspa?threadID=388156&amp;amp;start=15&amp;amp;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;tstart&lt;/span&gt;=0&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Damn why does it suck so much to get &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;SOA&lt;/span&gt; suite working on my laptop.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-1252643018440683865?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/1252643018440683865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=1252643018440683865' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/1252643018440683865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/1252643018440683865'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/10/soa-does-not-start-with-error-unknown.html' title='SOA does not start with error &quot;An unknown OPMN error has occured&quot;'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-1812748300537890486</id><published>2008-10-05T12:51:00.005+01:00</published><updated>2008-10-05T19:33:50.609+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vista Install'/><title type='text'>"The procedure entry point snlinAddrLocalhost could not be located in the dynamic link library oranl10.dll" post SOA suite installation</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;When did I see this?&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When I tried to fire up sqlplusw I got this stupid error.&lt;/div&gt;&lt;div&gt;Well I had done nothing wrong but only installed SOA Suite in my laptop.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And here this error presents itself to me.&lt;/div&gt;&lt;div&gt;No clue why some thing should not work when I have not touched the original pieces of the application but installed entirely different application.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;What is this stupid error?&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This error has nothing to do with your software being corrupted but just a little paying with some thing called the PATH.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Once you install SOA suite, the installer tries to get itself as the first thing in the path. Pushes the oracle database bin path backwards.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;How to solve this?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Well if SOA suite can push the path back for oracle database you can do the reverse and have the path come forward in the path list. Volla there you go, thatz it, nothing big but difficult to find.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Just another of those oracle's issues that you discover in the forum and fix.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Links I liked?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The link that sort of gave me the idea was &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:arial;"&gt;&lt;a href="http://forums.oracle.com/forums/thread.jspa?messageID=1858020&amp;amp;tstart=0"&gt;http://forums.oracle.com/forums/thread.jspa?messageID=1858020&amp;amp;tstart=0&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;The post by [dragosv] in the last few entries.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  ;font-family:tahoma;font-size:48px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-1812748300537890486?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/1812748300537890486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=1812748300537890486' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/1812748300537890486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/1812748300537890486'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/10/procedure-entry-point.html' title='&quot;The procedure entry point snlinAddrLocalhost could not be located in the dynamic link library oranl10.dll&quot; post SOA suite installation'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-7404274071111590025</id><published>2008-10-01T18:03:00.013+01:00</published><updated>2008-10-03T00:28:40.860+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vista Install'/><title type='text'>Install SOA suite on Windows Vista</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Why I write this post?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I have a laptop at home and I want to install &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;SOA&lt;/span&gt; suite in that.&lt;br /&gt;Now this piece of equipment that I have got has Windows Vista Home in it.&lt;br /&gt;When I first tried to get this software into it, it was a failure. The setup process itself did not run to completion.&lt;br /&gt;&lt;br /&gt;I originally thought that it might take a few hours. But it was days before I could get this working.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How did it start?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I could not get the installation process to complete.&lt;br /&gt;And the error message that I saw was&lt;br /&gt;"Error: Missing ormi[s]://host:port"&lt;br /&gt;&lt;br /&gt;That is when I started digging for information.&lt;br /&gt;It turned out that I was not the only one struggling.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And even the installation of Oracle Database faced issue with Vista with DHCP settings.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Is Windows Vista Home the only standalone?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Well having read the different flavours of Vista had similar issues in forum, my impression was that Vista was the culprit. And when I did install the same software in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;XP&lt;/span&gt; in a flash.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What all did I do?&lt;/strong&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;I found a host of things that need to be done, or at least I need to be aware of before I hit the road. Some are &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;pre&lt;/span&gt;-installation and some during installation and some post installation.&lt;div&gt;If you do not find these in your system, do not be surprised. Every time I have done this I have faced a different issue. Thought not completely sure why so. Might be my system got bored of me with repeated installation and de-installations.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Pre&lt;/span&gt;-Installation Issues&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight:bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Under score in Computer Name&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Remove any under scores that you find in your computer name&lt;br /&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;If you ask me how to do this in Vista? Here are the steps:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;Right click on &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;MyComputer&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;Click Properties&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;Locate some thing called "Computer name, domain, and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;workgroup&lt;/span&gt; settings"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;Under there Click "Change Settings"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;Some thing called "System Properties" pop up and you will be in a tab called "Computer Name"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;You should find a button "Change", click that&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;Change the Computer Name there&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Use any name that does not contain a underscore(_)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Configure loop back adapter&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You need to get this &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;loopback&lt;/span&gt; adapter into your Vista.&lt;/div&gt;&lt;div&gt;And to get this in do the following&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;Go to Control Panel (use classic view)&lt;br /&gt;Click "Add Hardware"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;Click Next&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;Choose "Install hardware manually"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;Choose "Network Adapters" in Common Hardware Type choice&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;Choose "Microsoft" as Manufacturer and "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Loopback&lt;/span&gt;" as the adapter&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:arial;font-size:13px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Follow the signs and you are done.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;DHCP&lt;/span&gt; configuration&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Disable &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;IPv&lt;/span&gt;6 completely is important for successful installation&lt;br /&gt;Have a look at the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;Metalink&lt;/span&gt; Note 444112.1&lt;br /&gt;&lt;br /&gt;If you do not do this installation goes smooth till a point booom. &lt;span class="Apple-style-span" style="color: rgb(255, 0, 0);"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Fails with error unable to locate &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0);"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;OC&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0);"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;$J URI&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Use the following link to disable &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;IPv&lt;/span&gt;6&lt;/div&gt;&lt;div&gt;&lt;a href="http://nsegainkc1.aliant.net/knowledge/Docs/Internet/Conn/HSI/Vista/disableip6/disableip6.htm"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;http://nsegainkc1.aliant.net/knowledge/Docs/Internet/Conn/HSI/Vista/disableip6/disableip6.htm&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;Hosts file&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;br /&gt;&lt;/span&gt;Get rid of ::1 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;localhost&lt;/span&gt; from hosts file. To work this out you need to type in some thing in RUN.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153); "&gt;In RUN type in "drivers"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153); "&gt;Go into the folder "etc"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153); "&gt;Edit the file "hosts"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153); "&gt;Comment out part "::1 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;localhost&lt;/span&gt;"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The changed value will look like&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153); "&gt;#::1 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;localhost&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Completely Disable &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;IPv&lt;/span&gt;6&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I missed this and I could not complete my installation till I figured that this was the issue.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is to do with adding a new entry into registery to disable IPv6.&lt;/div&gt;&lt;div&gt;This is documented in &lt;/div&gt;&lt;div&gt;&lt;a href="http://www.approach-alliance.nl/index.php?option=com_jd-wp&amp;amp;Itemid=2&amp;amp;p=52"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;http://www.approach-alliance.nl/index.php?option=com_jd-wp&amp;amp;Itemid=2&amp;amp;p=52&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The setups would be like&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;Run regedit to open registry&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Go to &lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;HKEY_LOCAL_MACHINE, SYSTEM, CurrentControlSet, Services, Tcpip6, Parameters&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(0, 0, 153);   line-height: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Create a new DWORD called &lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;DisabledComponents&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; with value &lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;0xFF&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style=""&gt;Thatz it. I think you are ready to rock DHCP now.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;No &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;WhiteSpace&lt;/span&gt; Directory&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;Do not use white space character in directory structure that has the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;SOA&lt;/span&gt; setup files.&lt;/div&gt;&lt;div&gt;Though I have not tested this I could find some people who seem to have faced these issues.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What all this white space actually means is if you get the directory to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;SOA&lt;/span&gt; installation file, there should be no blank space there.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;JDK&lt;/span&gt; version&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I tried to run the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;IRCA&lt;/span&gt; script with java 1.6. To my surprise the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;IRCA&lt;/span&gt; complained that I have to go to a lower version of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;JDK&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I expected the higher version of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;JDK&lt;/span&gt; to work with out issue. But it did not. I had to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;uninstall&lt;/span&gt; and go back to a older version of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;JDK&lt;/span&gt; i.e 1.5.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Installation Steps&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Run as Admin&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;While firing up you setup file, be sure to right click the setup file and choose "run as Administrator". I guess this gives the setup rights to do stuff that running in normal mode does not.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But frankly I have not tried running otherwise.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Version of OS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Do not be surprised if you see some error message stating that version of OS is 6.0.&lt;/div&gt;&lt;div&gt;And &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;installtion&lt;/span&gt; does not go any further.&lt;/div&gt;&lt;div&gt;See the post &lt;a href="http://forums.oracle.com/forums/thread.jspa?threadID=711505&amp;amp;tstart=0"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;http://forums.oracle.com/forums/thread.jspa?threadID=711505&amp;amp;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;tstart&lt;/span&gt;=0&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Gives details for getting this working.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Could not get &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;DeploymentManager&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Do not be surprise if you see this error message&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0);"&gt;Failed at "Could not get &lt;/span&gt;&lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0);"&gt;DeploymentManager&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0);"&gt;".&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0);"&gt;This is typically the result of an invalid &lt;/span&gt;&lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0);"&gt;deployer&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0);"&gt; URI format being supplied, the target server not being in a started state or incorrect authentication details being supplied.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0);"&gt;More information is available by enabling logging -- please see the Oracle Containers for J2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0);"&gt;EE&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0);"&gt; Configuration and Administration Guide for details&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0);"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you get this then you have missed the disabling of IPv6. each and every step is important and you can not skip even one of them.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;What are the links I liked&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Oh my god, at last this is done. Took me a while to get here.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The link that I could find that gave the most details was&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.approach-alliance.nl/index.php?option=com_jd-wp&amp;amp;Itemid=2&amp;amp;p=52"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;http://www.approach-alliance.nl/index.php?option=com_jd-wp&amp;amp;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;Itemid&lt;/span&gt;=2&amp;amp;p=52&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Another post with quite a few issues covered was&lt;/div&gt;&lt;div&gt;&lt;a href="http://forums.oracle.com/forums/thread.jspa?messageID=2299674"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;http://forums.oracle.com/forums/thread.jspa?messageID=2299674&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.oracle.com/forums/message.jspa?messageID=2568623"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;http://forums.oracle.com/forums/message.jspa?messageID=2568623&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Other links that I looked at were&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://forums.oracle.com/forums/thread.jspa?messageID=2236119&amp;amp;#2236119"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;http://forums.oracle.com/forums/thread.jspa?messageID=2236119&amp;amp;#2236119&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://forums.oracle.com/forums/thread.jspa?messageID=2437440&amp;amp;#2437440"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;http://forums.oracle.com/forums/thread.jspa?messageID=2437440&amp;amp;#2437440&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://forums.oracle.com/forums/thread.jspa?threadID=358789"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;http://forums.oracle.com/forums/thread.jspa?threadID=358789&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-7404274071111590025?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/7404274071111590025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=7404274071111590025' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/7404274071111590025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/7404274071111590025'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/10/install-soa-suite-on-windows-vista.html' title='Install SOA suite on Windows Vista'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-661675900896872014</id><published>2008-09-30T14:20:00.009+01:00</published><updated>2008-09-30T15:48:38.706+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='onAlarm'/><title type='text'>Specify Time in onAlarm</title><content type='html'>&lt;strong&gt;What forced me into it?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This was in a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;onAlarm&lt;/span&gt; activity that I wanted to specify the duration.&lt;br /&gt;This was to set an alarm and retry interval in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;BPEL&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;I saw some documentation providing me incorrect info, and I did have a lot of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;BPEL&lt;/span&gt; instances go to invalid state once they hit the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;onAlarm&lt;/span&gt;.&lt;br /&gt;Now I can not go wrong, I have this post to help me.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;So what is the notation?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Well this is the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;notation&lt;/span&gt; as in 10.1.3.3 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;MLR&lt;/span&gt; 5&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:arial;font-size:85%;color:#000099;"&gt;P1Y1M1&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;DT&lt;/span&gt;1H1M1S&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Explaination&lt;/span&gt;!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This is straight forward.&lt;br /&gt;&lt;br /&gt;Duration is&lt;br /&gt;1 Year&lt;br /&gt;1 Month&lt;br /&gt;1 Day&lt;br /&gt;&lt;br /&gt;This is for the &lt;span style="font-family:arial;font-size:85%;color:#000099;"&gt;&lt;strong&gt;P1Y1M1D&lt;/strong&gt;&lt;/span&gt; part of the expression&lt;br /&gt;&lt;br /&gt;Duration is&lt;br /&gt;1 Hour&lt;br /&gt;1 Minute&lt;br /&gt;1 Second&lt;br /&gt;&lt;br /&gt;This is for the &lt;span style="font-family:arial;font-size:85%;color:#000099;"&gt;&lt;strong&gt;T1H1M1S&lt;/strong&gt;&lt;/span&gt; part of the expression&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Links I liked!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To be frank I did a few &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_8"&gt;trial&lt;/span&gt; and errors in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;BPEL&lt;/span&gt; before I was sure that the doc was not correct.&lt;br /&gt;And I could not Google this up in the first 2 pages I was looking at.&lt;br /&gt;So here is the post that has it. Now I know where to look. I hope it helps others as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-661675900896872014?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/661675900896872014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=661675900896872014' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/661675900896872014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/661675900896872014'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/09/specify-time-in-onalarm.html' title='Specify Time in onAlarm'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-875581929156260016</id><published>2008-09-30T11:00:00.021+01:00</published><updated>2008-09-30T15:48:52.536+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WorkFlow'/><title type='text'>Whatz with the default Services TaskManager and TaskActionHandler</title><content type='html'>&lt;strong&gt;Why I wanted to write this?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;When I first started to use BPEL console, I saw 2 service that were already deployed.&lt;br /&gt;That did not make sense to me, and I wanted a clean environment.&lt;br /&gt;I had not deployed anything. And here I see 2 services already deployed.&lt;br /&gt;I wanted to undeploy those, but I decided to find out why.&lt;br /&gt;Then I started to ask question to myself as to why these were there.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What is this TaskManager Service for?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;TaskManager service is basically for managing the tasks.&lt;br /&gt;Initiate Task&lt;br /&gt;Update Task&lt;br /&gt;Complete Task&lt;br /&gt;&lt;br /&gt;Also does a few things like send callback for&lt;br /&gt;Results for the task and&lt;br /&gt;on expire of task&lt;br /&gt;&lt;br /&gt;Basically operations on taks are performed through this service.&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;What is this TaskActionHandler for?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Task Action Handler as the name states handles actions.&lt;br /&gt;Put items to user's worklist&lt;br /&gt;Get response from the users&lt;br /&gt;Maintain timer events&lt;br /&gt;&lt;br /&gt;If you are wondering what timer events are, they are task expiration, task reminder and other such related timer based events.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Links that I liked!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The link you would like to read are&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/products/ias/bpel/pdf/orabpel-Tutorial6-TaskManagerServiceTutorial.pdf"&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;http://www.oracle.com/technology/products/ias/bpel/pdf/orabpel-Tutorial6-TaskManagerServiceTutorial.pdf&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-875581929156260016?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/875581929156260016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=875581929156260016' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/875581929156260016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/875581929156260016'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/09/what-with-default-services-taskmanager.html' title='Whatz with the default Services TaskManager and TaskActionHandler'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-3844874451608016295</id><published>2008-09-29T13:09:00.047+01:00</published><updated>2008-09-29T14:31:04.040+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java API'/><category scheme='http://www.blogger.com/atom/ns#' term='Undeploy'/><title type='text'>Undeploy BPEL with JAVA</title><content type='html'>&lt;strong&gt;What forced me into it?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Undeploying&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;BPEL&lt;/span&gt; process from &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;BPEL&lt;/span&gt; Console is a nightmare especially when you have many environments. And with each test cycle, the environment is refreshed and recreated.&lt;br /&gt;It takes hell a lot of time and AS admin time to get this. (Well these admin guy are always short of time with their hand full of work)&lt;br /&gt;Best option, automate the process. So I have small piece of code that I have pulled.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;You will be surprised how short this is?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;package &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;bpelUndeployment&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;import java.util.Properties;&lt;br /&gt;&lt;br /&gt;import com.oracle.bpel.client.BPELProcessId;&lt;br /&gt;import com.oracle.bpel.client.IBPELDomainHandle;&lt;br /&gt;import com.oracle.bpel.client.Locator;&lt;br /&gt;import com.oracle.bpel.client.ServerException;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @author &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Kalidass&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Mookkaiah&lt;/span&gt;&lt;br /&gt;*/&lt;br /&gt;public class &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;UnDeployBPELProcess&lt;/span&gt; {&lt;br /&gt;public static void main(String[] &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;args&lt;/span&gt;) throws &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;ServerException&lt;/span&gt; {&lt;br /&gt;&lt;br /&gt;//Properties with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;BPEL&lt;/span&gt; server connection information&lt;br /&gt;Properties props = new Properties();&lt;br /&gt;props.put("&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;orabpel&lt;/span&gt;.platform", "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;ias&lt;/span&gt;_10g");&lt;br /&gt;props.put("java.naming.factory.initial", "com.evermind.server.rmi.RMIInitialContextFactory");&lt;br /&gt;props.put("java.naming.provider.url", "opmn:ormi://hostname:6008:home/orabpel");&lt;br /&gt;props.put("java.naming.security.principal", "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;oc&lt;/span&gt;4&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;jadmin&lt;/span&gt;");&lt;br /&gt;props.put("java.naming.security.credentials", "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;oc&lt;/span&gt;4&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;jadmin&lt;/span&gt;");&lt;br /&gt;props.put("dedicated.connection","true");&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#3333ff;"&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;//Get a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;locator&lt;/span&gt; in default domain&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;Locator&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;locator&lt;/span&gt; = new &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;Locator&lt;/span&gt;("default","welcome1",props); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#3333ff;"&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;//Get a handle to the domain&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;IBPELDomainHandle&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;iBPELDomainHandle&lt;/span&gt; = &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;locator&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;lookupDomain&lt;/span&gt;();&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#3333ff;"&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;//&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;Undeploy&lt;/span&gt; this process from default domain&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;iBPELDomainHandle&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;undeployProcess&lt;/span&gt;(new &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;BPELProcessId&lt;/span&gt;("default","&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;MyUndeployedBPELProcess&lt;/span&gt;"));&lt;br /&gt;}&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_29"&gt;Explanation&lt;/span&gt;!!!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;If you do not know that the properties mean, see this post&lt;br /&gt;&lt;a href="http://oraclebpelindepth.blogspot.com/2008/08/bpel-context-properties-for-client-api.html"&gt;http://oraclebpelindepth.blogspot.com/2008/08/bpel-context-properties-for-client-api.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Well if you have read the above post then you know what the Properties are for.&lt;br /&gt;In one word it is values to connect to the AS server.&lt;br /&gt;&lt;br /&gt;Use the &lt;span style="font-family:arial;font-size:85%;color:#000099;"&gt;&lt;strong&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;locator&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt; to get a handle to the domain.&lt;br /&gt;Use this handle to perform &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;undeployment&lt;/span&gt;.&lt;br /&gt;Here I have used the &lt;span style="font-family:arial;font-size:85%;color:#000099;"&gt;&lt;strong&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;BPELProcessId&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt; class to identify the domain and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;ProcessName&lt;/span&gt;.&lt;br /&gt;The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;ProcessName&lt;/span&gt; should match exactly.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What about &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;versioned&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;BPEL&lt;/span&gt; process?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Help your self.&lt;br /&gt;But what I can hint you with is this.&lt;br /&gt;The Class &lt;span style="font-family:arial;font-size:85%;color:#000099;"&gt;&lt;strong&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;BPELProcessId&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt; has overloaded constructor.&lt;br /&gt;3 of them.&lt;br /&gt;One takes domain and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;processID&lt;/span&gt;&lt;br /&gt;Other takes domain, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;processID&lt;/span&gt; and &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_40"&gt;revision&lt;/span&gt; Tag.&lt;br /&gt;There is another one &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;tooo&lt;/span&gt; with domain, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42"&gt;processID&lt;/span&gt;, &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_43"&gt;revision&lt;/span&gt; Tag and process &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_44"&gt;GUID&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Happy hunting with the overloaded constructors.&lt;br /&gt;And don't forget to run the code ;)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What Jars to include?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;And if you are looking to find the jars to include to run this see the link&lt;br /&gt;&lt;a href="http://oraclebpelindepth.blogspot.com/2008/09/jars-for-bpel-java-api.html"&gt;http://oraclebpelindepth.blogspot.com/2008/09/jars-for-bpel-java-api.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-3844874451608016295?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/3844874451608016295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=3844874451608016295' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/3844874451608016295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/3844874451608016295'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/09/undeploy-bpel-with-java.html' title='Undeploy BPEL with JAVA'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-1503887851853926786</id><published>2008-09-29T12:01:00.068+01:00</published><updated>2008-09-29T14:26:24.225+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java API'/><title type='text'>JARs for BPEL Java API</title><content type='html'>&lt;strong&gt;What forced me into it?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;To get the BPEL Java API working the first thing to do is to have the java class be available for you to code.&lt;br /&gt;And to get these classes into your work space, what else but include the libs.&lt;br /&gt;Every time I do this I Google. I am either very bad at Google or there are not many people who write about this.&lt;br /&gt;Now I want this as a reference for myself, and also for those who want the list.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What are the jars that I included? And why in that Order?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The first jar that I included was &lt;span style="color:#000099;"&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;orabpel.jar&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;For what other reason that the fact that it has what I need.&lt;br /&gt;And what I need to start is &lt;span style="font-size:85%;color:#000099;"&gt;Locator&lt;/span&gt;.&lt;br /&gt;To be more specific I need &lt;span style="font-size:85%;color:#ff0000;"&gt;com.oracle.bpel.client.Locator&lt;/span&gt; class&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Is this jar enough?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Well if you think this is enough then it is time for you to run and see for yourself.&lt;br /&gt;Do not be surprised to get error that looks like this&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="style: ;color:#ff0000;" &gt;Exception in thread "main" java.lang.NoClassDefFoundError: javax/ejb/EJBException&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;Make this error disappear?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;How else but include the jar that has this class. And the jar is &lt;strong&gt;&lt;span style="font-size:85%;color:#000099;"&gt;ejb.jar&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;I think now it is time to run this and see for your self.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Whatz the next error?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Well you have gussed it right. There is another error that comes up.&lt;br /&gt;This time round it looks like this&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#ff0000;"&gt;Exception in thread "main" java.lang.NoClassDefFoundError: com/collaxa/common/util/NonSyncPrintWriter&lt;br /&gt;at com.oracle.bpel.client.util.ExceptionUtils.handleServerException(ExceptionUtils.java:82)&lt;br /&gt;at com.oracle.bpel.client.Locator.getFinder(Locator.java:962)&lt;br /&gt;.......&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#ff0000;"&gt;Caused by: java.lang.NoClassDefFoundError: com/collaxa/common/util/NonSyncPrintWriter&lt;br /&gt;at com.oracle.bpel.client.util.BeanRegistry.lookupFinderBean(BeanRegistry.java:351)&lt;br /&gt;at com.oracle.bpel.client.Locator.getFinder(Locator.java:956) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#ff0000;"&gt;...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Make this error disappear? And next error appears.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;How else but include the jar that has this class. And the jar is &lt;strong&gt;&lt;span style="font-size:85%;color:#000099;"&gt;orabpel-common.jar&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;You know what time this is. Yes run time. So letz see te next error.&lt;br /&gt;&lt;br /&gt;The next error you might be seeing is&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#ff0000;"&gt;Exception in thread "main" java.lang.Exception: Failed to create "ejb/collaxa/system/FinderBean" bean; exception reported is: "javax.naming.NoInitialContextException: Cannot instantiate class: com.evermind.server.rmi.RMIInitialContextFactory [Root exception is java.lang.ClassNotFoundException: com.evermind.server.rmi.RMIInitialContextFactory]&lt;br /&gt;....&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#ff0000;"&gt;Caused by: java.lang.ClassNotFoundException: com.evermind.server.rmi.RMIInitialContextFactory&lt;br /&gt;...&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Make this error disappear? And...&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This time round I include the jar &lt;strong&gt;&lt;span style="font-size:85%;color:#000099;"&gt;oc4j-internal.jar&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The next error you might be seeing is&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="font-size:85%;"&gt;Exception in thread "main" java.lang.NoClassDefFoundError: oracle/ias/opmn/optic/OpticException&lt;br /&gt;...&lt;br /&gt;Caused by: java.lang.NoClassDefFoundError: oracle/ias/opmn/optic/OpticException&lt;br /&gt;...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Make this error disappear? And...&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This time round I include the jar &lt;strong&gt;&lt;span style="font-size:85%;color:#000099;"&gt;optic.jar&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The next error you might be seeing is nothing....&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What was the code that I ran?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;There might be other jars that need to be included based on what is that you want the Java do perfom.&lt;br /&gt;But the java code that I ran is for undeploying BPEL process.&lt;br /&gt;The code is in the post&lt;br /&gt;&lt;a href="http://oraclebpelindepth.blogspot.com/2008/09/undeploy-bpel-with-java.html"&gt;http://oraclebpelindepth.blogspot.com/2008/09/undeploy-bpel-with-java.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-1503887851853926786?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/1503887851853926786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=1503887851853926786' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/1503887851853926786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/1503887851853926786'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/09/jars-for-bpel-java-api.html' title='JARs for BPEL Java API'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-9122573800049706981</id><published>2008-09-25T08:58:00.011+01:00</published><updated>2008-09-29T11:49:29.919+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FTP Adapter'/><title type='text'>FTP file name: Both Get fileName and dynamic Put filename</title><content type='html'>&lt;span style="font-weight:bold;"&gt;How did it make into my workspace?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;What else but a requirement.&lt;br /&gt;A file is dynamically created based on the web service message received.&lt;br /&gt;The file that needs to be FTPed has a name, that is dynamic.&lt;br /&gt;The file name is one of the fields in the message received.&lt;br /&gt;Well this was about Put.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;How the hell did Get file name come to my workspace?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Well it was not a requirement in my project. But was a help that I did for a friend.&lt;br /&gt;This person wanted to read files from a server.&lt;br /&gt;And drop this off to another server after some enrichment's to the content.&lt;br /&gt;And wanted the Get and Put file names to match.&lt;br /&gt;&lt;br /&gt;So this adds a new thing of getting the filename of the file that was read from FTP directory.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;How does it work?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you have created FTP Get and Puts you should see&lt;br /&gt;ftpAdapterInboundHeader.wsdl and ftpAdapterOutboundHeader.wsdl file in your workspace.&lt;br /&gt;&lt;br /&gt;These are the 2 key file to get this cracking.&lt;br /&gt;Both of these have a element called fileName.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What to do with this element?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;You have to either play with these elements to get the work done.&lt;br /&gt;To play with these elements you first need to create a variable from the wsdl.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How to get the file name of the get file?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Just use the variable that you have created from the ftpAdapterInboundHeader.wsdl.&lt;br /&gt;Read the fileName element. Yes it is that easy.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How to assign file name to put file?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Well nothing different from the above one.&lt;br /&gt;But this time round you need not read but assign value to the fileName element.&lt;br /&gt;The variable that you have created from the ftpAdapterOutboundHeader.wsdl, use that.&lt;br /&gt;&lt;br /&gt;Assign the file name to the fileName element in this variable.&lt;br /&gt;Thatz it. You have done it.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What Does it do in the background?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;What you are trying to do here is either read or write to the FTP Adapter Header Message.&lt;br /&gt;&lt;br /&gt;For Inbound messages the header has the fileName, FTP server and FTP port.&lt;br /&gt;For Outbound message the header has the fileName.&lt;br /&gt;&lt;br /&gt;You can play with these. &lt;br /&gt;From Inbound message you can read the values.&lt;br /&gt;For Outbound if you populate these values the Adapter will behave accordingly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-9122573800049706981?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/9122573800049706981/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=9122573800049706981' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/9122573800049706981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/9122573800049706981'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/09/ftp-file-with-dynamic-filename.html' title='FTP file name: Both Get fileName and dynamic Put filename'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-4938725160984311669</id><published>2008-09-22T16:06:00.015+01:00</published><updated>2008-09-29T14:20:00.806+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BPEL Error'/><title type='text'>The requested URL /integration/services/deploy/deployHttpClientProcess.jsp was not found on this server</title><content type='html'>&lt;strong&gt;How the hell did I get it?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I tried deploying BPEL process from automated deployment script that I have got.&lt;br /&gt;This script uses ANT process to do the job.&lt;br /&gt;What I see is the below error.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;--------------------- Error Message Start ------------------------&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;BUILD FAILED&lt;br /&gt;&lt;br /&gt;/nas/orasoft/orbit/oracle/soasuite_pc_deploy_v1.2/bpel_deploy/build.xml:223: The following error occurred while executing this line:&lt;br /&gt;/nas/orasoft/orbit/oracle/soasuite_pc_deploy_v1.2/bpel_deploy/src/ErrorLogging/build.xml:79: A problem occured while connecting to server "orbit" using port "7777":&lt;br /&gt;&amp;lt;HTML&gt;&amp;lt;HEAD&gt;&lt;br /&gt;&amp;lt;TITLE&gt;404 Not Found&amp;lt;/TITLE&gt;&lt;br /&gt;&amp;lt;/HEAD&gt;&amp;lt;BODY&gt;&lt;br /&gt;&lt;br /&gt;Not Found&lt;br /&gt;The requested URL /integration/services/deploy/deployHttpClientProcess.jsp was not found on this server.&lt;br /&gt;&amp;lt;HR&gt;&lt;br /&gt;&amp;lt;ADDRESS&gt;Oracle-Application-Server-10g/10.1.3.1.0 Oracle-HTTP-Server Server at orbit Port 7777&amp;lt;/ADDRESS&gt;&lt;br /&gt;&amp;lt;/BODY&gt;&amp;lt;/HTML&gt;&lt;br /&gt;&lt;/span&gt;--------------------- Error Message End ------------------------&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Where did I find the solution?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Well first I read a few posts in oracle forum.&lt;br /&gt;The post that helped me solve or at least pointed towards a solution was&lt;br /&gt;&lt;a href="http://kr.forums.oracle.com/forums/thread.jspa?threadID=631670"&gt;&lt;span style="font-size:85%;"&gt;http://kr.forums.oracle.com/forums/thread.jspa?threadID=631670&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Healthy Green hw_service!!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;My hw_services was working and was green in colour.&lt;br /&gt;Well that meant that it was healthy.&lt;br /&gt;But later I found it was not configured for deployment (read to find where I found the jsp)&lt;br /&gt;&lt;br /&gt;Next I wanted to find the directory. /integration/services/deploy/deployHttpClientProcess.jsp&lt;br /&gt;I could not. So I started a search to find it! And yes I did find it. Not as a directory but as a configuration in Active Servlets/JSPs.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Where did I find /integration/services/deploy/deployHttpClientProcess.jsp?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I tried to find this in the hw_services from EM (enterprise manager). And yes I did.&lt;br /&gt;Thanks to the post there.&lt;br /&gt;&lt;br /&gt;These are the steps that I followed.&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;Go to EM.&lt;br /&gt;From the home page click the + sign of OC4J instance used.&lt;br /&gt;Click hw_services to open up the properties.&lt;br /&gt;Click the deploy Web Module.&lt;br /&gt;You will find "deployHttpClientProcess.jsp" under the Active Servlets/JSPs.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;That is where I found this guy registered.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What happened to deployment from JDEV?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The deployment from JDev went with out any issues.&lt;br /&gt;This issues was with ANT deployment only.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What I found and how I solved it?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Before I tried to solve the issue. I wanted to find this. And I did as above.&lt;br /&gt;&lt;br /&gt;My DEV ENV was working so I wanted to see that before I did any thing else.&lt;br /&gt;I found this configuration present in my DEV environment.&lt;br /&gt;I found this missing in my SYS TEST ENV and that had this above error.&lt;br /&gt;&lt;br /&gt;What I found was "deployHttpClientProcess.jsp" was not not present in the Active Servlets/JSPs list at all. It was blank in DEV.&lt;br /&gt;&lt;br /&gt;The very next thing I did was to stop and start hw_services.&lt;br /&gt;And when I did the deployment went smoothly.&lt;br /&gt;And the "deployHttpClientProcess.jsp" came back to the Active Servlets/JSPs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-4938725160984311669?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/4938725160984311669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=4938725160984311669' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/4938725160984311669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/4938725160984311669'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/09/requested-url-integrationservicesdeploy.html' title='The requested URL /integration/services/deploy/deployHttpClientProcess.jsp was not found on this server'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-172592572699028708</id><published>2008-09-21T23:24:00.010+01:00</published><updated>2008-10-04T06:02:50.466+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FlowN'/><category scheme='http://www.blogger.com/atom/ns#' term='Array'/><title type='text'>Arrays in BPEL</title><content type='html'>&lt;span style="FONT-WEIGHT: bold"&gt;Why it made itself into my Project? &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;What else but FlowN. That was the culprit.&lt;br /&gt;FlowN will use index to create separate flows for each of the parallel flows using the index variable.&lt;br /&gt;And the index was used to read data from where else but array.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;How to create a array?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Actually it is not as complex as I originally though it to be.&lt;br /&gt;Array in XML can be any element that can store multiple repetition of some data.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For example if A represents sequence of element B then A can be used as array for B.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;What is that I am going to show you below?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In short this is what I am attempting to show you.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: 13px; font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;1. Add &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;elements&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; into the array &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;using&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;BPEL&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; append. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Most of the cases people already have a array from the source system.&lt;/div&gt;&lt;div&gt;Use this when you want to build your ow array i the fly.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;span class="Apple-style-span" style="font-family: arial; "&gt;&lt;span class="Apple-style-span" style="font-size: 13px; "&gt;2. Build the XPath&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;span class="Apple-style-span" style="font-family: arial; "&gt;&lt;span class="Apple-style-span" style="font-size: 13px; "&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;If you have decided to use array then build a dynamic XPath.&lt;/div&gt;&lt;div&gt;Store that in a temporary variable.&lt;/div&gt;&lt;div&gt;And use that XPath temporary variable while reading elements from the array.&lt;/div&gt;&lt;div&gt;If you ask me what type of variable, I prefer String type.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;span class="Apple-style-span" style="font-family: arial; "&gt;&lt;span class="Apple-style-span" style="font-size: 13px; "&gt;2. Read data from array&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;span class="Apple-style-span" style="font-family: arial; "&gt;&lt;span class="Apple-style-span" style="font-size: 13px; "&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Just as plain as use the temporary XPath variable and read data from the array element.&lt;/div&gt;&lt;div&gt;Just like saying A[X] i ay other lang. Here A is the array and X is the temporary XPath.&lt;/div&gt;&lt;div&gt;Movig in rounds to read like A[1], A[2] etc.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;How to add value into the array?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;What else but use append. I you have not seen this, it looks like a + in the assign activity. Just see an assign.&lt;br /&gt;&lt;br /&gt;Behind the scenes the bpel code looks like:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&amp;lt;assign name="Assign_CDM_Contents_Append"&gt;&lt;br /&gt;&amp;lt;bpelx:append&gt;&lt;br /&gt;&amp;lt;bpelx:from variable="Variable_Add_Array_Element"&lt;br /&gt;query="/ns1:ABC"/&gt;&lt;br /&gt;&amp;lt;bpelx:to variable="Variable_Array"&lt;br /&gt;part="payload"&lt;br /&gt;query="/ns1:ArrayList"/&gt;&lt;br /&gt;&amp;lt;/bpelx:append&gt;&lt;br /&gt;&amp;lt;/assign&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Here &lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Variable_Array&lt;/span&gt;&lt;/span&gt; is the variable to hold the array of &lt;span class="Apple-style-span"  style="color: rgb(0, 0, 153);  font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Variable_Add_Array_Element&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;I am trying to add elements into the Array (Variable_Array).&lt;/div&gt;&lt;div&gt;I am doing this by appending the elements to be end of it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Whatz with XPath?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There are 2 options to read data from XML arrays.&lt;br /&gt;One is to use another XPath variable to build the dynamic XPath query.&lt;br /&gt;Second option is to not use a new variable but dynamically insert the XPath in the bpws:getVariableData()&lt;br /&gt;&lt;br /&gt;I prefer the first option as it gives a little clarity over the second option.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Why Dynamically build XPath?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Well what ever the case be you need to build XPath dynamically.&lt;br /&gt;But why? Just to use the changing index into the Array.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;How to Read data?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you have a running index over either a flowN or a while loop that does this for you, either way you need the index to access the array.&lt;br /&gt;&lt;br /&gt;Now the way to read is through dynamic XPath. That need to be built.&lt;br /&gt;Here I have used option 1.&lt;br /&gt;&lt;br /&gt;The below code shows how to use assign to build the dynamic XPath.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&amp;lt;assign name="Assign_XPath_For_Array"&gt;&lt;br /&gt;&amp;lt;copy&gt;&lt;br /&gt;&amp;lt;from expression="concat('/ns1:ArrayList/ns2:ArrayElem[',bpws:getVariableData('Variable_Index_Counter'),']') "/&gt;&lt;br /&gt;&amp;lt;to variable="Variable_Xpath"/&gt;&lt;br /&gt;&amp;lt;/copy&gt;&lt;br /&gt;&amp;lt;/assing&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Note have used [index] to represent index element here in the array.&lt;br /&gt;Here Variable_Xpath acts as a temporary string variable that holds the intermediate Xpath as string.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Now use this XPath string Variable while reading array index elements.&lt;br /&gt;This would look like&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&amp;lt;assign name="Assign_Read_Array"&gt;&lt;br /&gt;&amp;lt;copy&gt;&lt;br /&gt;&amp;lt;from expression="bpws:getVariableData('Variable_Array','payload',bpws:getVariableData('Variable_Xpath'))"/&gt;&lt;br /&gt;&amp;lt;to variable="Variable_Read_Array_Element"&lt;br /&gt;query="/ns1: ABC"/&gt;&lt;br /&gt;&amp;lt;/copy&gt;&lt;br /&gt;&amp;lt;/assign&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold"&gt;How to do with out another variable?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Just do not use the new variable. Build your XPath dynamically right in the bpws:getVariableData() 3rd parameter.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-172592572699028708?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/172592572699028708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=172592572699028708' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/172592572699028708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/172592572699028708'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/09/arrays-in-bpel_21.html' title='Arrays in BPEL'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-2417410284752988045</id><published>2008-09-16T13:27:00.033+01:00</published><updated>2008-09-29T11:59:17.779+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Code Tricks'/><title type='text'>How to perform manual copy of bpel code for faster development!! With out issues</title><content type='html'>&lt;strong&gt;What forced it?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Well as part of the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;BPEL&lt;/span&gt; development I had used a set of Enterprise Integration Patterns that each particular type of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;BPEL&lt;/span&gt; scope code should follow.&lt;br /&gt;&lt;br /&gt;When each of those &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;BPEL&lt;/span&gt; processes are created, they follow the same Pattern, a lot of code looked similar. But are not the same.&lt;br /&gt;&lt;br /&gt;That where the catch was!!&lt;br /&gt;SIMILAR but not the SAME!!!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What I wanted to do?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Well what I originally planned to do was to copy some of the code from one of the already built &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;BPEL&lt;/span&gt; scope onto the new one I was building.&lt;br /&gt;And I would be seamlessly able to reuse the stuff.&lt;br /&gt;&lt;br /&gt;What that meant from code perspective was, I would like a scope from another &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;BPEL&lt;/span&gt; code into my current &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;BPEL&lt;/span&gt; code.&lt;br /&gt;Well originally I though it was a brilliant idea. And finally it did turn up that way.&lt;br /&gt;But it was damn hard till I figured out the trick. Not a trick actually but divide and conquer.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What are the problems I faced?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The first time I did that. I saw ERROR. Actually a brilliant one.&lt;br /&gt;"XML parsing failed"&lt;br /&gt;&lt;br /&gt;Nothing else. How the hell is that supposed to help me?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How did I make it work?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Well that is when I put my experimenting hand into the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;BPEL&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;xml&lt;/span&gt; code.&lt;br /&gt;&lt;br /&gt;The first thing you need to worry about are the non-declared variables that have come over as part of the copy process.&lt;br /&gt;Resolution : declare them.&lt;br /&gt;&lt;br /&gt;The second thing would be the name space that are new or &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;namespaces&lt;/span&gt; that already exist.&lt;br /&gt;Resolution : Either create the new &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;namespace&lt;/span&gt; or when appropriate use the old &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;namespace&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;The third and the best helping hand is. Comment out groups of code. Leave a logical complete unit and compile. Follow the above steps. Fix apparent errors are they come.&lt;br /&gt;Then go on to the next logical unit and repeat till finally you have &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_11"&gt;completed&lt;/span&gt; the full Scope.&lt;br /&gt;&lt;br /&gt;Just be aware of the Catch, if you have them. I hope you will as part of the scope. Copy them as well.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Why I like this better than drag and drop?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Some people advice not to do that but I prefer this better than the GUI to build.&lt;br /&gt;If you ask me why? I would say this is damn faster to build.&lt;br /&gt;And that is what brings me back into the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;BPEL&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;xml&lt;/span&gt; code.&lt;br /&gt;&lt;br /&gt;And the second reason is the way &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;JDeveloper&lt;/span&gt; behaves.&lt;br /&gt;Some times it does weired thing. Does not save thing that I have changed.&lt;br /&gt;Some times goes back to the old code after I save.&lt;br /&gt;It catches you by surprise some times as you are damn sure that you made the change that does not exist.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What is it with templates?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Some people recommend templates but they give complete &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;BPEL&lt;/span&gt; template.&lt;br /&gt;Not scopes to copy. But templates are good options if the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;BPEL&lt;/span&gt; processes are damn alike.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-2417410284752988045?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/2417410284752988045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=2417410284752988045' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/2417410284752988045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/2417410284752988045'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/09/manual-copy-bpel-code-for-faster.html' title='How to perform manual copy of bpel code for faster development!! With out issues'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-5390375040173289923</id><published>2008-09-16T11:46:00.012+01:00</published><updated>2008-09-29T14:21:32.461+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Transformation'/><title type='text'>Create Empty Tag in Tranformations</title><content type='html'>&lt;strong&gt;What forced me into it?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The message received from a web service had less data than what the XML (cannonical Data model needed) had. Down the line there were conditions that check the value of a element in the XML. These could be empty or some XYZ value.&lt;br /&gt;&lt;br /&gt;Now the transformation had to map these value onto the XML, but if I did not map them the XML will miss the elements.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What I wanted to see?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;What I wanted to see was, I should be able to perform the transformation from the Input Variable to the Output Variable.&lt;br /&gt;&lt;br /&gt;Those elements that were required should not be lost.&lt;br /&gt;These elements should be as empty tags in the Output Variable.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What did I get?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The transformation lost those elemements that I did not map.&lt;br /&gt;That left me with only a few elements in the Output Variable.&lt;br /&gt;Less than the required elements.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How I fixed this?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;First of all I could not change the XML definition as the XMl is shared my a host of systems.&lt;br /&gt;And it would be a massive effort to get this done.&lt;br /&gt;&lt;br /&gt;Now a simple work around for this would be to assign a blank to the element in the transformation.&lt;br /&gt;&lt;br /&gt;Now if you are think what is that supposed to mean, here is what I mean.&lt;br /&gt;In the transformation right click the element that you dod not want to loose as that is not mapped.&lt;br /&gt;Choose "setText" option in there.&lt;br /&gt;Give a space in the "Text" field that you see there.&lt;br /&gt;&lt;br /&gt;Congrats you have done this. Was simple aint it.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What does it look like back there?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Well inthe transaformation it will look like this&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&amp;lt;xsl:text disable-output-escaping="no"&gt; &amp;lt;/xsl:text&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;If you want to try?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;If you have noted this, the xsl will have a space between the tags.&lt;br /&gt;Delete that. And see what you get.&lt;br /&gt;I have seen no difference on my instance.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-5390375040173289923?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/5390375040173289923/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=5390375040173289923' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/5390375040173289923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/5390375040173289923'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/09/create-empty-tag-in-tranformations.html' title='Create Empty Tag in Tranformations'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-551944502612754498</id><published>2008-09-15T14:05:00.029+01:00</published><updated>2008-10-02T16:37:58.795+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Partnerlink'/><title type='text'>Change my Partnerlink Property Dynamically</title><content type='html'>&lt;strong&gt;What forced me into it?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This was in production. And there were 2 releases planned into production.&lt;br /&gt;This was a property that was defined in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;bpel&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;xml&lt;/span&gt; file in the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;partnerLinkBinding&lt;/span&gt;.&lt;br /&gt;As part of the second release the property had to be changed.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How did I do it?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Well I used java embedding to get this done.&lt;br /&gt;&lt;br /&gt;Created a java embedding to change the property value in the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;partnerLinkBinding&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;Sample &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;bpel&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;xml&lt;/span&gt; file&lt;/span&gt;&lt;/strong&gt; &lt;span style="font-family:arial;font-size:70;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#000099;"&gt;&amp;lt;?xml version = '1.0' encoding = 'UTF-8'?&gt;&lt;br /&gt;&amp;lt;bpelsuitcase&gt;&lt;br /&gt;&amp;lt;bpelprocess id="UpdateThis" src="UpdateThis.bpel"&gt;&lt;br /&gt;&amp;lt;partnerlinkbindings&gt;&lt;br /&gt;&amp;lt;partnerlinkbinding name="client"&gt;&lt;br /&gt;&amp;lt;property name="wsdlLocation"&gt;UpdateThis.wsdl&amp;lt;/property&gt;&lt;br /&gt;&amp;lt;property name="myPartnerlinkProperty"&gt;myValueOfPartnerlinkProperty&amp;lt;/property&gt;&lt;br /&gt;&amp;lt;/partnerlinkbinding&gt;&lt;br /&gt;&amp;lt;/partnerlinkbindings&gt;&lt;br /&gt;&amp;lt;configurations&gt;&lt;br /&gt;&amp;lt;property name="configProperty" encryption="plaintext"&gt;myBPMSystemAdmin&amp;lt;/property&gt;&lt;br /&gt;&amp;lt;/configurations&gt;&lt;br /&gt;&amp;lt;/bpelprocess&gt;&lt;br /&gt;&amp;lt;/bpelsuitcase&gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;Sample java embedding code to change these&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;try {&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;getLocator&lt;/span&gt;().&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;lookupProcess&lt;/span&gt; ("&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;UpdateThis&lt;/span&gt;").&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;getDescriptor&lt;/span&gt; ().&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;getConfigurations&lt;/span&gt;().&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000099;"&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;setPropertyValue&lt;/span&gt; ("&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;configProperty&lt;/span&gt;",&lt;br /&gt;"&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;BPMSystemAdmin&lt;/span&gt;");&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;getLocator&lt;/span&gt;().&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;lookupProcess&lt;/span&gt; ("&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;UpdateThis&lt;/span&gt;").&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;getDescriptor&lt;/span&gt; ().&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000099;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;getPartnerLinkBindings&lt;/span&gt;().&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;getPartnerLinkBinding&lt;/span&gt; ("client").&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;setPropertyValue&lt;/span&gt; ("&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;myPartnerlinkProperty&lt;/span&gt;",&lt;br /&gt;"&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;myChangedValueOfPartnerlinkProperty&lt;/span&gt;");&lt;br /&gt;}&lt;br /&gt;catch(&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;Throwable&lt;/span&gt; ex) { .... }&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;strong&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;Whatz&lt;/span&gt; the issue with restarting AS?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The first time I saw this it looked stupid. I changed the property from using another dummy &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;bpel&lt;/span&gt; process. Used that &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_30"&gt;happily till I restarted the AS.&lt;/span&gt;&lt;br /&gt;&lt;span class="blsp-spelling-corrected"&gt;And when I did the values in the partnerlink went back to those present earlier.&lt;/span&gt;&lt;br /&gt;&lt;span class="blsp-spelling-corrected"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="blsp-spelling-corrected"&gt;&lt;strong&gt;What I tried but failed?&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="blsp-spelling-corrected"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="blsp-spelling-corrected"&gt;And then I realized that the AS will reload all the BPEL process from the SUITCASE_BIN&lt;/span&gt;&lt;br /&gt;The changed functionality with 10.1.3.X&lt;br /&gt;&lt;span class="blsp-spelling-corrected"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="blsp-spelling-corrected"&gt;A option that I tried but failed was to c&lt;/span&gt;&lt;span class="blsp-spelling-corrected"&gt;hange the DESCRIPTOR column value in the PROCESS_DESCRIPTOR table.&lt;/span&gt;&lt;br /&gt;&lt;span class="blsp-spelling-corrected"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="blsp-spelling-corrected"&gt;But that did not help with restart. It always went back to the values that were present as part of the original deployment.&lt;/span&gt;&lt;br /&gt;&lt;span class="blsp-spelling-corrected"&gt;If you are thinking where can I find these tables, they are in the ORABPEL schema.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-551944502612754498?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/551944502612754498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=551944502612754498' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/551944502612754498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/551944502612754498'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/09/change-my-partnerlink-property.html' title='Change my Partnerlink Property Dynamically'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-8372409742244834502</id><published>2008-09-12T08:05:00.004+01:00</published><updated>2008-09-29T11:59:50.954+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JNDI'/><title type='text'>Database Adapters JNDI name in JDev and Application server</title><content type='html'>&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Why I used it?&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Well in all 3 of big projects that I worked in, Db adapters was required. I had no choice but use it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Why &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;JNDI&lt;/span&gt;?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Well &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;JNDI&lt;/span&gt; itself provides one level of indirection from the physical database connection. &lt;/div&gt;&lt;div&gt;Decouples the actual &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;database&lt;/span&gt; connection code from the application logic. &lt;/div&gt;&lt;div&gt;If you are thinking cut the theory and tell me the real thing, how to do this in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;BPEL&lt;/span&gt;, &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;that's&lt;/span&gt; exactly what I am about to do.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Where is this done for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;DBAdapter&lt;/span&gt;?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you had a look at DB Adapter, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;JNDI&lt;/span&gt; is a configuration that comes up while following the wizard for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;DBAdapter&lt;/span&gt;. Now where the hell did I set up &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;JNDI&lt;/span&gt; connections and how will AS (application server [for those who might not guess AS is this]) figure this out.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Well actually you need to do this in 2 places. One in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;DBAdapter&lt;/span&gt; and another in AS.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Why I need this in AS?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Well how can AS figure out which database and other connection details. &lt;/div&gt;&lt;div&gt;What else but you need to do this in application server as well!&lt;/div&gt;&lt;div&gt;If you are asking what all I need to setup in AS just read on!!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;What is the order to do this?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Both of these are independent and can be done in any order. (By both I mean &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;JDev&lt;/span&gt; setup and AS setup)&lt;/div&gt;&lt;div&gt;Just be sure that both of these are done before you execute any code in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;BPEL&lt;/span&gt; else your &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;opmn&lt;/span&gt; logs will show thing that you never like to see, ERRORS.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;How to relate them? &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;Whatz&lt;/span&gt; this use the same name thing?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Both the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;JDev&lt;/span&gt; and AS &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;JNDI&lt;/span&gt; names should be the same or else AS will not be able to relate these together.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_16"&gt;What's&lt;/span&gt; the AS setup?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are 3 basic things that need to be setup in AS before AS &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;JNDI&lt;/span&gt; can be used.&lt;/div&gt;&lt;div&gt;Number 1 the physical connection pool with all the service details.&lt;/div&gt;&lt;div&gt;Number 2 the Data source that points to the connection pool.&lt;/div&gt;&lt;div&gt;Number 3 setup the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;JNDI&lt;/span&gt; name as in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;JDev&lt;/span&gt; and pointing to the Data Source.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;What do I setup in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;JDev&lt;/span&gt;?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the connections in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;JDev&lt;/span&gt; create a connection to the database that was created in AS connection pool. Else you will not be able to explore the stuff in the Database.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;What is with this &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;mcf&lt;/span&gt; thing?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you setup connection in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;JDev&lt;/span&gt; there is some thing that comes &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_24"&gt;on board&lt;/span&gt; but not directly visible.&lt;/div&gt;&lt;div&gt;What else but the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;mcf&lt;/span&gt; properties.&lt;/div&gt;&lt;div&gt;Does not harm anything but if the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;JNDI&lt;/span&gt; are missing in AS starts using this to connect.&lt;/div&gt;&lt;div&gt;So for production it is best that these &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;mcf&lt;/span&gt; details are removed.&lt;/div&gt;&lt;div&gt;If you don't know that where it is located just create a project with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;JNDI&lt;/span&gt; see it for your self.&lt;/div&gt;&lt;div&gt;It will be present in the Database Adapter generated files. Do you want clues!! I guess not.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-8372409742244834502?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/8372409742244834502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=8372409742244834502' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/8372409742244834502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/8372409742244834502'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/09/database-adapters-jndi-name-in-jdev-and.html' title='Database Adapters JNDI name in JDev and Application server'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-7545803703143738068</id><published>2008-08-22T11:59:00.026+01:00</published><updated>2008-09-29T11:52:36.970+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Manual Recovery'/><title type='text'>Correspond manual recovery back to the BPEL process</title><content type='html'>&lt;strong&gt;Looks complex, but is it?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Manual recovery of BPEL process does not look like a trivial job at all.&lt;br /&gt;And the BPEL Console for manual recovery does do seem to reveal a lot of information as to which process corresponds to which instance of BPEL process in the first glance.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Why do instances end up in manual recovery?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Well this is to do with how BPEL engine handles in coming messages.&lt;br /&gt;BPEL delivery service does 2 things&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Use JMS to register message to be processed&lt;/li&gt;&lt;li&gt;Save message in dehydration store&lt;/li&gt;&lt;/ol&gt;Once the BPEL thread picks the JMS message the instance goes into UNRESOLVED state.&lt;br /&gt;And when the instance is complete the dehydration stores goes to HANDLED state.&lt;br /&gt;&lt;br /&gt;If the server shuts down or crashes or engine times out and comes back unable to find the JMS message as it might be already consumed.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What does Manual Recovery show?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Manual recovery shows all instances that are in UNRESOLVED state.&lt;br /&gt;&lt;br /&gt;So it would also show instance going from UNRESOLVED to HANDLED states in dehydration store. But are not yet marked as HANDLED.&lt;br /&gt;&lt;br /&gt;From what I have seen in production box, a lot of instances come into manual recovery and disappear in a short while.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Should I recover everything that I see in Manual Recovery?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;One should not recover every message that you see in manual recovery.&lt;br /&gt;Some of these could be genuine messages that are in flight.&lt;br /&gt;Recover only those messages that are in manual recovery for at least a duration of X which is larger than expected in that particular enterprise system.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What and where do you recover? &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Well when you look at the manual recovery area there are 3 different tabs that you generally see in the BPEL console. Most often you would only recover from the first 2 that are represented invoke and callbacks.&lt;br /&gt;&lt;br /&gt;Generally I use the instance ID of the BPEL process to identify manual recovery instance corresponds to which BPEL instance.&lt;br /&gt;If there are instances in staled state in BPEL, there there would be a correspoonding manual recovery process instance.&lt;br /&gt;This manualt recovery instance conversation ID will have also contain the instance ID of the BPEL process along with other information with which the conversation Id is build.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What if there is no instance ID but some thing like MD5{xyz...}&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;These are messages for which instances are not yet created. Can be safely recovered.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-7545803703143738068?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/7545803703143738068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=7545803703143738068' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/7545803703143738068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/7545803703143738068'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/08/correspond-manual-recovery-back-to-bpel.html' title='Correspond manual recovery back to the BPEL process'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-8686068847949422986</id><published>2008-08-22T10:51:00.033+01:00</published><updated>2008-09-29T14:23:50.402+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BPEL Processes'/><title type='text'>Relate BPEL process instance parent to child relationship</title><content type='html'>&lt;strong&gt;Why I want to relate these?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Before I start I consider this scenario that prompted me to write this stuff.&lt;br /&gt;Well I have a sequence of BPEL processes that get called.&lt;br /&gt;A&lt;br /&gt;--&gt; B&lt;br /&gt;----&gt; C&lt;br /&gt;-------&gt; D&lt;br /&gt;-------&gt; E&lt;br /&gt;----&gt; F&lt;br /&gt;&lt;br /&gt;I want a way to relate all the process together in the BPEL console or bespoke application built on top of the BPEL Database.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How to do this?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;There are multiple ways to relate these BPEL process.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;Title approach&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Well the one I prefer is to set the title of the BPEL process instances as some logical value that makes sense to business. What that would mean is all the BPEL processes from "A" to "F" will all be name as "XYZ".&lt;br /&gt;But this is good for the bespoke applications.&lt;br /&gt;Well some times before the actual title of the process is set the BPEL process might go into manual recovery. How do you solve?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;Database approach&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Well go into the BPEL database and look.&lt;br /&gt;Now how do I relate all the processes in the database.&lt;br /&gt;Well first you need to go the table "ORABPEL"."CUBE_INSTANCE"&lt;br /&gt;&lt;br /&gt;There are 3 specific columns that you should know about.&lt;br /&gt;"TITLE" - sets the title of the BPEL process in this column as seen in the BPEL console&lt;br /&gt;&lt;br /&gt;"ROOT_ID" - CIKEY (instance id as in BPEL console) of the root parent basically instance ID of A as in BPEL console&lt;br /&gt;&lt;br /&gt;"PARENT_ID" - Immediate parents ID i.e the caller process&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Sample Scenario&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;A is the parent&lt;br /&gt;A calls B&lt;br /&gt;B calls C and F&lt;br /&gt;C calls D and E&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;-------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#6666cc;"&gt;Process Name - Instance ID - Root ID - Parent ID &lt;strong&gt;--&gt;&lt;/strong&gt; &lt;/span&gt;&lt;span style="color:#000000;"&gt;comment &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#6666cc;"&gt;-------------------------------------------------------&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#6666cc;"&gt;A - 1 - 1 - &lt;/span&gt;&lt;strong&gt;--&gt;&lt;/strong&gt; &lt;span style="font-size:85%;"&gt;parent Id blank as no parent for it but root Id is 1&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#6666cc;"&gt;B - 2 - 1 - 1 &lt;/span&gt;&lt;strong&gt;--&gt;&lt;/strong&gt; &lt;span style="font-size:85%;"&gt;both parent and root ID as same as A&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#6666cc;"&gt;C - 3 - 1 - 2 &lt;/span&gt;&lt;strong&gt;--&gt;&lt;/strong&gt; &lt;span style="font-size:85%;"&gt;root is still 1, but parent now is B&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;D - 4 - 1 - 3 &lt;/span&gt;&lt;strong&gt;--&gt;&lt;/strong&gt; &lt;span style="font-size:85%;"&gt;root is still 1, but parent now is C&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#6666cc;"&gt;E - 5 - 1 - 3 &lt;/span&gt;&lt;strong&gt;--&gt;&lt;/strong&gt; &lt;span style="font-size:85%;"&gt;root is still 1, but parent now is C&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#6666cc;"&gt;F - 6 - 1 - 2 &lt;/span&gt;&lt;strong&gt;&lt;span style="color:#6666cc;"&gt;&lt;/span&gt;--&gt;&lt;/strong&gt;&lt;span style="font-size:85%;"&gt; root is still 1, but parent now is B&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Sample Query&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;So sample queries to find all the children in a parent &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;BPEL&lt;/span&gt; tree would be to use the root ID&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;================ Query START ==================================================&lt;br /&gt;&lt;span style="color:#000099;"&gt;select * from cube_instance where root_id = {ROOT &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;aprent&lt;/span&gt; instance number}&lt;/span&gt;&lt;br /&gt;================ Query END ====================================================&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;A query to find all root &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;BPEL&lt;/span&gt; process i.e &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;BPEL&lt;/span&gt; process that are the initiators&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;================ Query START =================&lt;br /&gt;&lt;span style="color:#000099;"&gt;select * from cube_instance where parent_id is NULL&lt;/span&gt;&lt;br /&gt;================ Query END ===================&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Why not use Tree Finder?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Itz&lt;/span&gt; a good question to ask why not use tree finder.&lt;/p&gt;&lt;p&gt;In the projects that I worked, access to the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;BPEL&lt;/span&gt; console is restricted and access to the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;BPEL&lt;/span&gt; is only through a bespoke J2&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;EE&lt;/span&gt; application. But that application does not allow viewing of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;BPEL&lt;/span&gt; instances are that is for functinal people to see work flow tasks related to business errors. &lt;/p&gt;&lt;p&gt;The alternative that was implemented was a read only user to the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;BPEL&lt;/span&gt; database from where these queries are helpful to relate &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;BPEL&lt;/span&gt; instances. Especially when performing manual recovery of stales instances and to identify the tree chain that has stalled in the flow.&lt;/p&gt;&lt;p&gt;Hope this answers question raised as a commnet here.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-8686068847949422986?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/8686068847949422986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=8686068847949422986' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/8686068847949422986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/8686068847949422986'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/08/relate-bpel-process-instance-parent-to.html' title='Relate BPEL process instance parent to child relationship'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-2507294938977745839</id><published>2008-08-21T14:25:00.009+01:00</published><updated>2008-09-29T14:24:19.071+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FlowN'/><category scheme='http://www.blogger.com/atom/ns#' term='Correlation'/><title type='text'>Correlation for what? What forced it?</title><content type='html'>&lt;strong&gt;Is it complex?&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;Well correlation is not as complex as it seems.&lt;br /&gt;Well when I first looked at it, it did not make any sense.&lt;br /&gt;But this is what my experience with correlation is, and it was not as hard as I though it would be.&lt;br /&gt;Though it was not difficult to get it working, I had to do a lot of ground work basically read a couple of articles before I understood what it was all about.&lt;br /&gt;But once I did understand, it was a cake walk.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Whatz correlation?&lt;/strong&gt; &lt;strong&gt;What does it correlate?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;What correlation meant to me as a maths student was linear relationship between two random variables.&lt;br /&gt;I initially understood it was to relate two seemly unrelated instances in BPEL, that are related in business sense. And it did turn out that way.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Where to use?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;When BPEL is in synchronous mode, the caller waits for the response, so caller instance does the correlation in the background using WS-Addressing, basically add its own correlation to the message header send out.&lt;br /&gt;&lt;br /&gt;Itz the asynchronous execution where the BPEL instance fires and forgets who received it. That when you want to say to BPEL which instance to go back to. Here is where BPEL correlation kicks in. What is basically does is use the data in the message to relate the instance. And so the correlation should be unique to the instance.&lt;br /&gt;It does not always need to be A --&gt; B --&gt; C --&gt; A but can be A --&gt; B --&gt; A if BPEL fires and forgets and wants to send back to the caller.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What forced it? &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;First of all correlation has force itself into my workspace in 2 of the projects that I was involved in. And both of these were for different reasons.&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;Circular call&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Firstly was for the generally known and widely written about one i.e. A--calls -&gt; B --&gt; C --&gt; A, basically a transitive calls that ends up on the caller, and the caller needs to figure out which instance of A --&gt; C should return to.&lt;br /&gt;&lt;br /&gt;If &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;canonical&lt;/span&gt; data model id used to pass data across then one or more of the elements in the message will be used to build the correlation else one of the those fields in the message will be used for correlation.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;FlowN&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Second was for a entirely different scenario.&lt;br /&gt;I tried to use &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;FlowN&lt;/span&gt; to spawn 'N' '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;ProcessB&lt;/span&gt;' from a master '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;ProcessA&lt;/span&gt;'.&lt;br /&gt;Call from '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;ProcessA&lt;/span&gt;' to '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;ProcessB&lt;/span&gt;' was asynchronous call. After &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;ProcessB&lt;/span&gt; was complete it would return status back to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;ProcessA&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Without any correlation I was getting&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;color:#ff0000;"&gt;"Conflicting receive.Another receive activity or equivalent (currently, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;onMessage&lt;/span&gt; branch in a pick activity) has already been enabled with the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;partnerLink&lt;/span&gt; "Process", operation name "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;onResult&lt;/span&gt;" and correlation set "" (or conversation id). Appendix A - Standard Faults in the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;BPEL&lt;/span&gt; 1.1 specification specifies a fault should be thrown under these conditions."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To solve this I had to create correlation. The reason being each of the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_13"&gt;branches&lt;/span&gt; in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;FlowN&lt;/span&gt; created exactly the same asynchronous call, but the receiving instance had to identify which spawn in the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;FlowN&lt;/span&gt; was the response coming back to. And yes creation of correlation did solve the problem.&lt;br /&gt;&lt;br /&gt;But making correlation in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;FlowN&lt;/span&gt; to work was not straight forward as there were scope issues that I had to address, and I initially did not see coming. I only found explanations about &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;FlowN&lt;/span&gt; in oracle forums from the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_18"&gt;Google&lt;/span&gt; I did. Hopefully I would write another blog post for the correlation in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;FlowN&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Where to setup correlation?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Only the receiver should perform the correlation.&lt;br /&gt;And the sender should only worry about sending enough data to perform correlation.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Related Articles that helped me:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://technology.amis.nl/blog/?p=2813"&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;http://technology.amis.nl/blog/?p=2813&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://forums.oracle.com/forums/thread.jspa?messageID=2018318"&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;http://forums.oracle.com/forums/thread.jspa?messageID=2018318&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://swapnil-soa.blogspot.com/2008/01/correlation-this-post-would-effort-to.html"&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;http://swapnil-soa.blogspot.com/2008/01/correlation-this-post-would-effort-to.html&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;There was another very good article that helped me but I am unable to find that now. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-2507294938977745839?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/2507294938977745839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=2507294938977745839' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/2507294938977745839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/2507294938977745839'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/08/correlation-for-what-what-forced-it.html' title='Correlation for what? What forced it?'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-8850036577538988673</id><published>2008-08-15T13:46:00.005+01:00</published><updated>2008-09-29T11:53:27.805+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Stree Test'/><title type='text'>Perform Stress Test in BPEL Console</title><content type='html'>&lt;strong&gt;Where Do I find it?&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;There is "Perform stress test" check box that you might have see in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;BPEL&lt;/span&gt; console.&lt;br /&gt;Well the one that sits along side the famous manual data feeding page "Post XML Message".&lt;br /&gt;&lt;br /&gt;Well if you have not seen it then this what I am referring to.&lt;br /&gt;When the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;BPEL&lt;/span&gt; process is clicked, the "Initiate" tab opens.&lt;br /&gt;Here you will see the payload as HTML form, also possible to choose XML Source.&lt;br /&gt;&lt;br /&gt;Right there at the bottom left you will find 2 check boxes.&lt;br /&gt;"Save Test" and another "Perform stress Test"&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Options that come up&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;When you click this "Perform stress test", a few options are thrown up.&lt;br /&gt;Number of concurrent threads?&lt;br /&gt;Number of loops?&lt;br /&gt;Constant delay between each invocation?&lt;br /&gt;&lt;br /&gt;So if you set these values are 100, 50, 1000 respectively that would run 100 threads that loop and send 50 requests i.e. total of 5000 requests in the system.&lt;br /&gt;Each thread will wait 1000 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;milli&lt;/span&gt; seconds before posting a request.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;When not usable?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;If you have not guessed it then here it is.&lt;br /&gt;When correlation exists in the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;BPEL&lt;/span&gt; process that you want to test this approach is not suitable.&lt;br /&gt;If you ask me why, it is becoz the same input is feed in the loop.&lt;br /&gt;So this might not work out.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What the other option?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The other option that I have used is to use Java API and pump messages into BPEL for such testing. Mostly I will post another blog post to say how to post messages using java API.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-8850036577538988673?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/8850036577538988673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=8850036577538988673' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/8850036577538988673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/8850036577538988673'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/08/perform-stress-test-in-bpel-console.html' title='Perform Stress Test in BPEL Console'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-8509141072503878259</id><published>2008-08-15T13:10:00.006+01:00</published><updated>2008-09-29T14:25:01.109+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java API'/><title type='text'>BPEL context properties for Client API invocation</title><content type='html'>&lt;strong&gt;Java Class Locator&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;"Locator" class Java APIs are used to connect to oracle BPEL.&lt;br /&gt;The locator requires a BPEL Context properties to be loaded as parameter as part of the Locator initialization. So I need to know what the properties looks like.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Properties looks like this&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The propeties should look like&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;=================properties file START===========================================&lt;br /&gt;&lt;span style="color:#000099;"&gt;orabpel.platform={Oracle Application Server Platform}&lt;br /&gt;java.naming.factory.initial=com.evermind.server.rmi.RMIInitialContextFactory&lt;br /&gt;java.naming.provider.url=opmn:ormi://{hostname}:{port}:{oc4jinstance}/orabpel&lt;br /&gt;java.naming.security.principal={username}&lt;br /&gt;java.naming.security.credentials={password}&lt;/span&gt;&lt;br /&gt;=================properties file END=============================================&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Sample properties&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;=================properties file START=======================================&lt;br /&gt;&lt;span style="color:#000099;"&gt;orabpel.platform=ias_10g&lt;br /&gt;java.naming.factory.initial=com.evermind.server.rmi.RMIInitialContextFactory&lt;br /&gt;java.naming.provider.url=opmn:ormi://localhost:6003:home/orabpel&lt;br /&gt;java.naming.security.principal=oc4jadmin&lt;br /&gt;java.naming.security.credentials=welcome1&lt;/span&gt;&lt;br /&gt;=================properties file END=========================================&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Where do I find the property values?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;There are multiple ways to identify what the these property values are.&lt;br /&gt;One of the easiest wasy is through the BPEL Console. Here is how I do it.&lt;br /&gt;&lt;br /&gt;Open the BPEL console --&gt; Click Goto BPEL Admin --&gt; Login to the Admin console&lt;br /&gt;&lt;br /&gt;The default page that opens is SERVER --&gt; under the tab Configuration&lt;br /&gt;the following value correspond to the following property&lt;br /&gt;"jndiProviderURL" = "java.naming.provider.url"&lt;br /&gt;"bpelPlatform" = "orabpel.platform"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-8509141072503878259?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/8509141072503878259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=8509141072503878259' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/8509141072503878259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/8509141072503878259'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/08/bpel-context-properties-for-client-api.html' title='BPEL context properties for Client API invocation'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-2294919262787407913</id><published>2008-08-14T17:09:00.004+01:00</published><updated>2008-09-29T14:25:31.909+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WorkFlow'/><title type='text'>Truncate Work Flow Tasks in BPEL</title><content type='html'>&lt;strong&gt;Why I want to do this?&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;While in Development, the instances are purged using the "Purge All Instances" option button in Instances tab in BPEL console.&lt;br /&gt;&lt;br /&gt;What I find is this process does not seem to clear out any work flow tasks that are outstanding.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How I do this&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;To clean out all the outstanding WF tasks use the following query.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;=============Query START ===================&lt;br /&gt;&lt;span style="color:#000099;"&gt;truncate table wftaskhistory;&lt;br /&gt;truncate table wfassignee;&lt;br /&gt;truncate table wfattachment;&lt;br /&gt;truncate table wfcomments;&lt;br /&gt;truncate table wfmessageattribute;&lt;br /&gt;truncate table wfnotification;&lt;br /&gt;truncate table wfnotificationmessages;&lt;br /&gt;truncate table wfroutingslip;&lt;br /&gt;truncate table wftasktimer;&lt;br /&gt;truncate table wftask;&lt;/span&gt;&lt;br /&gt;=============Query END ===================&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What it does?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:+0;"&gt;What this does is clear the back end BPEL database table.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-2294919262787407913?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/2294919262787407913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=2294919262787407913' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/2294919262787407913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/2294919262787407913'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/08/truncate-work-flow-tasks-in-bpel.html' title='Truncate Work Flow Tasks in BPEL'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-4076802271047122970</id><published>2008-08-14T17:04:00.006+01:00</published><updated>2008-09-29T14:25:57.229+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BPEL Processes'/><title type='text'>Count Number of BPEL processes Instantiated in 15 minutes intervals</title><content type='html'>&lt;strong&gt;Why count number of instance that too in 15 minutes interval?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Count Number of BPEL processes instantiated in 15 minutes intervals for what is a good questions.&lt;br /&gt;&lt;br /&gt;Well, post GO LIVE to identify what is the rate of arrival of BPEL processes at 15 minutes interval is some thing that upper management is always interested in.&lt;br /&gt;Also can be used for performance stats collection.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Query&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Well here I have only used the "Hello World BPEL" process for listing. Add process names to identify the rate of arrival of messages in BPEL system.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;=================Query START ====================&lt;br /&gt;&lt;span style="color:#000099;"&gt;SELECT processname sourcesystem, time_interval timeinterval,&lt;br /&gt;COUNT (1) numberoftransactions&lt;br /&gt;FROM (&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000099;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#000099;"&gt;SELECT process_id processname, creation_date,&lt;br /&gt;CASE&lt;br /&gt;WHEN (EXTRACT (MINUTE FROM (creation_date)) / 15 ) &lt;&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;TO_CHAR (creation_date, 'DD-MM-YYYY HH24') &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;'Hrs 1-(First 15 Minutes)' &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#000099;"&gt;WHEN (EXTRACT (MINUTE FROM (creation_date)) / 15) &lt;&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;TO_CHAR (creation_date, 'DD-MM-YYYY HH24') &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;'Hrs 2-(15 to 30 Minutes)' &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#000099;"&gt;WHEN (EXTRACT (MINUTE FROM (creation_date)) / 15) &lt;&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;TO_CHAR (creation_date, 'DD-MM-YYYY HH24') &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;'Hrs 3-(30 to 45 Minutes)' &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;ELSE TO_CHAR (creation_date, 'DD-MM-YYYY HH24') &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;'Hrs 4-(Last 15 Minutes)' &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;END AS time_interval &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;FROM orabpel.cube_instance &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;WHERE process_id IN ('Hello World BPEL') &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#000099;"&gt;AND creation_date &gt; TO_DATE (:starttime, 'DD-MON-YYYY HH24:MI:SS')&lt;br /&gt;AND creation_date &lt;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#000099;"&gt;)&lt;br /&gt;GROUP BY processname, time_interval&lt;br /&gt;ORDER BY time_interval DESC;&lt;br /&gt;&lt;/span&gt;=================Query END ====================&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-4076802271047122970?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/4076802271047122970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=4076802271047122970' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/4076802271047122970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/4076802271047122970'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/08/count-number-of-bpel-processes.html' title='Count Number of BPEL processes Instantiated in 15 minutes intervals'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-2212174055575057480</id><published>2008-08-14T11:20:00.007+01:00</published><updated>2008-09-29T12:00:16.012+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BPEL Processes'/><title type='text'>BPEL process states</title><content type='html'>&lt;strong&gt;Why Identify states?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;To identify the states of the BPEL processes from the database can be quite handy while for housekeeping jobs in production and building some bespoke application to monitor BPEL servers.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Where to find?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Well the the states of the BPEL processes can be found from the database.&lt;br /&gt;This is what I do and I prefer as it gives a lot more control of what you like to see and customize.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;Core table and columns&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Well the core table to look at is "ORABPEL"."CUBE_INSTANCE"&lt;br /&gt;&lt;br /&gt;The states of the BPEL processes are stores in "STATE" column.&lt;br /&gt;This is defined as INTEGER in the database and does not help in first glance, unless it is know what each state means.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What do the states mean?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Well this is what each integer in the "STATE" column mean they mean:&lt;br /&gt;0 - INITIATED in BPEL&lt;br /&gt;1 - OPEN and RUNNING in BPEL&lt;br /&gt;2 - OPEN and SUSPENDED in BPEL&lt;br /&gt;3 - OPEN and FAULTED in BPEL&lt;br /&gt;4 - CLOSED and PENDING_CANCEL in BPEL&lt;br /&gt;5 - CLOSED and COMPLETED in BPEL&lt;br /&gt;6 - CLOSED and FAULTED in BPEL&lt;br /&gt;7 - CLOSED and CANCELLED in BPEL&lt;br /&gt;8 - CLOSED and ABORTED in BPEL&lt;br /&gt;9 - CLOSED and STALE in BPEL&lt;br /&gt;ELSE UNKNOWN in BPEL&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Sample Query&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;A sample query to find count of BPEL process in various states with in start and end date&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;=================== Query START ======================&lt;br /&gt;SELECT &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;   CASE state&lt;br /&gt;      WHEN 0 THEN 'initiated'&lt;br /&gt;      WHEN 1 THEN 'open.running'&lt;br /&gt;      WHEN 2 THEN 'open.suspended'&lt;br /&gt;      WHEN 3 THEN 'open.faulted'&lt;br /&gt;      WHEN 4 THEN 'closed.pending_cancel'&lt;br /&gt;      WHEN 5 THEN 'closed.completed'&lt;br /&gt;      WHEN 6 THEN 'closed.faulted'&lt;br /&gt;      WHEN 7 THEN 'closed.cancelled'&lt;br /&gt;      WHEN 8 THEN 'closed.aborted'&lt;br /&gt;      WHEN 9 THEN 'closed.stale'&lt;br /&gt;      ELSE 'unknown'&lt;br /&gt;   END state_text,&lt;br /&gt;COUNT (1)&lt;br /&gt;FROM orabpel.cube_instance&lt;br /&gt;WHERE creation_date &lt; (:startdate) AND creation_date &gt; (:enddate)&lt;br /&gt;GROUP BY state;&lt;br /&gt;=================== Query END ======================&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-2212174055575057480?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/2212174055575057480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=2212174055575057480' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/2212174055575057480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/2212174055575057480'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/08/bpel-process-states.html' title='BPEL process states'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-2078082030831316954</id><published>2008-08-13T19:55:00.001+01:00</published><updated>2008-10-04T06:33:40.380+01:00</updated><title type='text'>Disclaimer of content</title><content type='html'>Well all the posts in this blog are what I have experienced in the projects that I have worked on or have tested with simple examples in SOA suite 10.1.3.3 MLR 7&lt;br /&gt;&lt;br /&gt;I would say they work in the environment that I have got.&lt;br /&gt;And I am fairly certain that the environment that I have got is a standard one that oracle provides.&lt;br /&gt;&lt;br /&gt;If you find that these do not work, &lt;div&gt;either you can play with it and make it work.&lt;div&gt;Or you can choose to leave me a note and have some suggestions that will help others understand the post better.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Or vene better take both the options.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Don't hesitate to drop in a comment&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-2078082030831316954?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/2078082030831316954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=2078082030831316954' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/2078082030831316954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/2078082030831316954'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/08/disclaimer-of-content.html' title='Disclaimer of content'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7035395466087300695.post-2854615472272536556</id><published>2008-07-11T16:00:00.000+01:00</published><updated>2008-07-11T16:01:57.693+01:00</updated><title type='text'>Welcome to Oracle BPEL in depth series</title><content type='html'>Welcome to another in depth series!!&lt;br /&gt;Well this is about Oracle BPEL&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7035395466087300695-2854615472272536556?l=oraclebpelindepth.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclebpelindepth.blogspot.com/feeds/2854615472272536556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7035395466087300695&amp;postID=2854615472272536556' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/2854615472272536556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7035395466087300695/posts/default/2854615472272536556'/><link rel='alternate' type='text/html' href='http://oraclebpelindepth.blogspot.com/2008/07/welcome-to-oracle-bpel-in-depth-series.html' title='Welcome to Oracle BPEL in depth series'/><author><name>Kalidass Mookkaiah</name><uri>http://www.blogger.com/profile/17421006377133742932</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='18' src='http://4.bp.blogspot.com/_PrbjsE0zbnU/SXJk3OlvcwI/AAAAAAAANI4/I5UNQtjubrU/S220/DSC09189.JPG'/></author><thr:total>0</thr:total></entry></feed>
