tag:blogger.com,1999:blog-76682126138887294962024-03-25T05:02:06.180+05:30Oracle Fusion Middleware - Oracle Service Bus & SOA Suite--Gang Of Two Abhinav Guptahttp://www.blogger.com/profile/10984594823840603683noreply@blogger.comBlogger9125tag:blogger.com,1999:blog-7668212613888729496.post-3549480331022228102013-12-09T16:17:00.001+05:302013-12-09T16:41:35.123+05:30Setting A Timeout For A Web Service in SOA Suite 11g<div dir="ltr" style="text-align: left;" trbidi="on">
<h2 style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
Objective </span></h2>
<div>
<div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">This post explains how to set a TIMEOUT for a Web Service invocation when using SOA 11g .</span></div>
</div>
<div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
</div>
<div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">This applies to both BPEL and Mediator and can be used when only the Web Service invocation is made through HTTP. </span></div>
</div>
</div>
<div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
</div>
<h2 style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">
Solution</span></h2>
<div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">1. For a process that invokes a Web Service, we want to set a timeout of maximum 10 seconds that the SOA application will wait for the answer. If no response is received within the specified timeout, then we want to catch the timeout error and perform a series of other activities.</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">The sample below is for a BPEL in a SOA Composite - it will work the same way with Mediator as the timeout is set in composite.xml file and not in some specific BPEL file .</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">2. Let's say the SOA composite looks like this:</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizVFIwpzym-yKed7eoP8mYuBhVQIW6UpdaZtUxcYflY_ch0ASvV2gFs9kQ2WPQPSDuaVbGv8E9HjjI5EaRIdXR_XdX2MA5v8QOuAi1I0kn84UZaAwnxpDHZHKItf9YdHHJbEi0RIKo0g8/s1600/2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" height="341" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizVFIwpzym-yKed7eoP8mYuBhVQIW6UpdaZtUxcYflY_ch0ASvV2gFs9kQ2WPQPSDuaVbGv8E9HjjI5EaRIdXR_XdX2MA5v8QOuAi1I0kn84UZaAwnxpDHZHKItf9YdHHJbEi0RIKo0g8/s640/2.PNG" width="640" /></span></a></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">3. Click on "Service1" and note that the property inspector will open in the lower right side of your JDeveloper window. Here set the property :</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: 'Courier New', Courier, monospace;">oracle.webservices.httpReadTimeout = 10000</span></div>
<div style="text-align: justify;">
<span style="font-family: 'Courier New', Courier, monospace;"><br /></span></div>
</div>
<div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">If the Web Service is on the same domain as the SOA Composite , we need have to set </span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
</div>
<div>
<span style="font-family: 'Courier New', Courier, monospace; text-align: justify;">oracle.webservices.local.optimization = false</span><br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">By default the local optimization is TRUE and when a SOA composite invokes another SOA composite within the same Weblogic (WLS) server or cluster of WLS servers bypasses the whole SOAP stack, and makes a direct java call to optimize the invocation.</span></div>
<br />
<span style="font-family: Arial, Helvetica, sans-serif; text-align: justify;">You may set these properties directly in composite.xml as follows :</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">
</span><br />
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiovyDgc_YXWlJO0nmTIwPa6Kf3Vr_bj_z2w4KnFSoWMGk5kcHVIkevtn2zaJ4-sW43B80JLET_kohg3MxLmrdNd5r_tNJjURCMQxw0ZMxt1mfOOZpCQ3drSP-0pGQdJh5srAX648aB6AA/s1600/3.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" height="554" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiovyDgc_YXWlJO0nmTIwPa6Kf3Vr_bj_z2w4KnFSoWMGk5kcHVIkevtn2zaJ4-sW43B80JLET_kohg3MxLmrdNd5r_tNJjURCMQxw0ZMxt1mfOOZpCQ3drSP-0pGQdJh5srAX648aB6AA/s640/3.PNG" width="640" /></span></a></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">4. In the BPEL process we can add a Catch branch for a RemoteFault if wewant to catch this error . </span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br />
</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">5. Now deploy the composite and run it from EM page . The Web Service we are calling takes 30 seconds to complete , but we set the timeout to 10 seconds - note that the Remote Fault occurs after 10 seconds.</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br />
</span></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHX-do_p2jZcTg_3UgP5ucUsvxyX-vfzkVgeq3jNGvwxVc9Uf-cIZ8hAZ5IVZl9lXadX15SINKJv6SNI8OoYlom3Nfqy9wrE313jKOFWzyJKkBfZGeuWCDVwpxRVvs3D9cThKeZrI8LRM/s1600/4.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" height="362" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHX-do_p2jZcTg_3UgP5ucUsvxyX-vfzkVgeq3jNGvwxVc9Uf-cIZ8hAZ5IVZl9lXadX15SINKJv6SNI8OoYlom3Nfqy9wrE313jKOFWzyJKkBfZGeuWCDVwpxRVvs3D9cThKeZrI8LRM/s640/4.PNG" width="640" /></span></a></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">6. Other way is the BPEL only, it's possible to use "Timeout" option for Invoke or Receive activities.</span><span style="font-family: Arial, Helvetica, sans-serif;">Note when using this parameter it will return a "bpelx:timeout" Fault, and not a Remote Fault</span></div>
<div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
</div>
<div style="text-align: justify;">
<br /></div>
</div>
</div>
Abhinav Guptahttp://www.blogger.com/profile/10984594823840603683noreply@blogger.com0tag:blogger.com,1999:blog-7668212613888729496.post-52886091692523586802013-01-23T18:26:00.001+05:302013-01-25T09:53:39.465+05:30For Each Action In OSB<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div class="MsoNormal">
I was replying to OTN forum post regarding OSB For each action at :</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<a href="https://forums.oracle.com/forums/thread.jspa?threadID=2488320&tstart=0">https://forums.oracle.com/forums/thread.jspa?threadID=2488320&tstart=0</a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
So thought of writing it down to make it more clear.....</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
</div>
<ol>
<li>I have made xml based proxy service.</li>
</ol>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy0M2Qn4tAKfyWivwdUSpY09n2UjbsQHruH_l_r_Gb6yAzAEV4jcZAywJmTWhhOxzGhuUj-KqlSKeXeGAvYPDhAKebFCmzyTSmRS3jnUnLy0ck06KexNkCyQRghNVKxbtdMluPNogR5CY/s1600/ps1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy0M2Qn4tAKfyWivwdUSpY09n2UjbsQHruH_l_r_Gb6yAzAEV4jcZAywJmTWhhOxzGhuUj-KqlSKeXeGAvYPDhAKebFCmzyTSmRS3jnUnLy0ck06KexNkCyQRghNVKxbtdMluPNogR5CY/s1600/ps1.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
2. I assumed the payload would be </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both;">
<request></div>
<div class="separator" style="clear: both;">
<span class="Apple-tab-span" style="white-space: pre;"> </span><CompanyCollection></div>
<div class="separator" style="clear: both;">
<span class="Apple-tab-span" style="white-space: pre;"> </span><company></div>
<div class="separator" style="clear: both;">
<span class="Apple-tab-span" style="white-space: pre;"> </span><name>name1</name></div>
<div class="separator" style="clear: both;">
<span class="Apple-tab-span" style="white-space: pre;"> </span></company></div>
<div class="separator" style="clear: both;">
<span class="Apple-tab-span" style="white-space: pre;"> </span><company></div>
<div class="separator" style="clear: both;">
<span class="Apple-tab-span" style="white-space: pre;"> </span><name>name2</name></div>
<div class="separator" style="clear: both;">
<span class="Apple-tab-span" style="white-space: pre;"> </span></company></div>
<div class="separator" style="clear: both;">
<span class="Apple-tab-span" style="white-space: pre;"> </span></CompanyCollection></div>
<div class="separator" style="clear: both;">
<span class="Apple-tab-span" style="white-space: pre;"> </span><CompanyCollection></div>
<div class="separator" style="clear: both;">
<span class="Apple-tab-span" style="white-space: pre;"> </span><company></div>
<div class="separator" style="clear: both;">
<span class="Apple-tab-span" style="white-space: pre;"> </span><name>name3</name></div>
<div class="separator" style="clear: both;">
<span class="Apple-tab-span" style="white-space: pre;"> </span></company></div>
<div class="separator" style="clear: both;">
<span class="Apple-tab-span" style="white-space: pre;"> </span><company></div>
<div class="separator" style="clear: both;">
<span class="Apple-tab-span" style="white-space: pre;"> </span><name>name4</name></div>
<div class="separator" style="clear: both;">
<span class="Apple-tab-span" style="white-space: pre;"> </span></company></div>
<div class="separator" style="clear: both;">
<span class="Apple-tab-span" style="white-space: pre;"> </span></CompanyCollection></div>
<div class="separator" style="clear: both;">
</request></div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
3. Assigned $body to <b>companycollreq</b> ( user defined variable) using Assign action</div>
<div class="separator" style="clear: both;">
</div>
<div class="separator" style="clear: both;">
4. To keep a count of companycollection elemennt in the request payload<span class="Apple-tab-span" style="white-space: pre;"> </span></div>
<div class="separator" style="clear: both;">
Assign <b>count($companycollreq/request/CompanyCollection)</b> to <b>companyCount</b></div>
<div class="separator" style="clear: both;">
</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy83hyphenhyphenaUc9MGsy78h3bYC0hAqzCFy2YGf9tC1sNvg8ndeylvHAf0gB01eFCOT7eTJdHGttKbR0ZUqAYKgPHqyH1RTVHyTkO5KtdscmrChNpoGCgkRaL0j7Go9KcUpdOAcLckA7AnXBcLw/s1600/ps7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy83hyphenhyphenaUc9MGsy78h3bYC0hAqzCFy2YGf9tC1sNvg8ndeylvHAf0gB01eFCOT7eTJdHGttKbR0ZUqAYKgPHqyH1RTVHyTkO5KtdscmrChNpoGCgkRaL0j7Go9KcUpdOAcLckA7AnXBcLw/s1600/ps7.jpg" /></a></div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
5. Now use a for each action to iterate over companycollection</div>
<div class="separator" style="clear: both;">
For each expression would like as:</div>
<div class="separator" style="clear: both;">
For Each variable <b>companycoll </b> in <b>./request/CompanyCollection </b>of variable <b> companycollreq</b> </div>
<div class="separator" style="clear: both;">
Indexed by variable <b>currIndex</b> with total count in variable <b>companycount</b></div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
</div>
<div class="separator" style="clear: both;">
6. Under Do </div>
<div class="separator" style="clear: both;">
<span class="Apple-tab-span" style="white-space: pre;"> </span></div>
<div class="separator" style="clear: both;">
I am logging the companycollection element based upon the currindex count in for loop.</div>
<div class="separator" style="clear: both;">
This is important as we need to pass payload under iteration in for loop. </div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
Assign $companycollreq/request/CompanyCollection[xs:int($currIndex)] in log action with annotation </div>
<div class="separator" style="clear: both;">
of companycoll</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
Now Testing is done with above payload.</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaeVT-A0j19oVsyvXQJlm8crmZYmlrqsDTnATymobdRBspkSUuUvQUDZ4eEahvIN-Yzn7eOn_h1_gxlCZgzC7GsIPB85EV5RmXfrS46SKOGkgi8_Grje9Zf3VzzDv5lmKT1aJ7i9zgbLY/s1600/ps3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaeVT-A0j19oVsyvXQJlm8crmZYmlrqsDTnATymobdRBspkSUuUvQUDZ4eEahvIN-Yzn7eOn_h1_gxlCZgzC7GsIPB85EV5RmXfrS46SKOGkgi8_Grje9Zf3VzzDv5lmKT1aJ7i9zgbLY/s1600/ps3.jpg" /></a></div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
In Console logs obtained:</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUhbtNgaf2jTPso3XQaPJFJHLRFtRa1u5ufUNGh0hnjAkS1_zKsY5jAIKmJ2rHbTHXI_noKOk35Zx3irnKkbqCzL-2HQEmdamHr8naNpIZcF3tLWRjezezLSwl7CdUu133q6QFqCEkhM0/s1600/ps4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUhbtNgaf2jTPso3XQaPJFJHLRFtRa1u5ufUNGh0hnjAkS1_zKsY5jAIKmJ2rHbTHXI_noKOk35Zx3irnKkbqCzL-2HQEmdamHr8naNpIZcF3tLWRjezezLSwl7CdUu133q6QFqCEkhM0/s1600/ps4.jpg" /></a></div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
This is how for each action works.</div>
<div class="separator" style="clear: both;">
Log action runs twice as companycollection count was two in payload passed.</div>
<div class="separator" style="clear: both;">
In place of log action we can use service callout/Publish/Java callout .</div>
<div class="separator" style="clear: both;">
The payload passed must contain currIndex as xquery predicates expression while passing value to other services being called from for loop.</div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
<br /></div>
<br /></div>
Abhinav Guptahttp://www.blogger.com/profile/10984594823840603683noreply@blogger.com14tag:blogger.com,1999:blog-7668212613888729496.post-26590212777784772772012-12-17T16:51:00.001+05:302012-12-18T08:43:08.116+05:30External Table Names column getting hang up while creating data objects in BAM<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<b>Problem : </b><br />
<br />
Creating data source using using Oracle EBS Database as external tables then BAM Web Application is getting hanged up!!<br />
Steps to replicate :<br />
<br />
<br />
1. We are using Oracle EBS R12 database as external datasource in BAM. This is done perfectly using BAM Architect -- External Datasources<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGuZA_DVcKlUi8R58oZKwpmwr3WzesSv99PEocsCKQccBQ-o75TLIeHn6fGTlw9SdbeSByAGeRnbNZVy6vbcN9o1PgYe9_xuPB5U5jf6VICQAwJM6lqTOFb_gX9QywXY2E8hZlgbbn3ug/s1600/datasource_creation_sceen.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="324" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGuZA_DVcKlUi8R58oZKwpmwr3WzesSv99PEocsCKQccBQ-o75TLIeHn6fGTlw9SdbeSByAGeRnbNZVy6vbcN9o1PgYe9_xuPB5U5jf6VICQAwJM6lqTOFb_gX9QywXY2E8hZlgbbn3ug/s640/datasource_creation_sceen.JPG" width="640" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
2. Now While creating Data Objects and selecting above created external(refering to EBS database) data source then external table names.. are not coming up and its keep on processing and getting hanged up !!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzRtcl_HuM3T4E0w9AhZ2VlfM02bNOcY5e75En41mhot2XbWxMUfgmbiEYjpUkbcC1AmHShoQcQSyOcCAdMEL1idwrSLaYa_Wkv1xQN7TzeRrItCoC28k1lksjTmExWctfz1WS4db1jno/s1600/data_object_creation_screen.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="359" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzRtcl_HuM3T4E0w9AhZ2VlfM02bNOcY5e75En41mhot2XbWxMUfgmbiEYjpUkbcC1AmHShoQcQSyOcCAdMEL1idwrSLaYa_Wkv1xQN7TzeRrItCoC28k1lksjTmExWctfz1WS4db1jno/s640/data_object_creation_screen.jpg" width="640" /></a></div>
<br />
<br />
<br />
<b>Error : </b><br />
<br />
BEA-000337<br />
I tried increasing the socket time from 600 to 26000 in weblogic and BAM server. But had no luck !!<br />
<br />
<b>Solution : </b><br />
<br />
As suggested by <b>Oracle Support </b><br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
****<br />
<br />
<i><u>I have tried replicating the issue but in my case for the first time it took several minutes when I selected external data object and selected datasource from the drop down list. I believe this is not a BUG but dependent on performance.</u></i><br />
<br />
*****<br />
<br />
Problem occurred as result of performance and hardware issue .<br />
<br />
I was connecting eBS and SOA Suite ( which are located in different location/environment) and were not in same DMZ and I was connected to Oracle EBS instance over VPN connection too !!<br />
<br />
<br /></div>
Abhinav Guptahttp://www.blogger.com/profile/10984594823840603683noreply@blogger.com0tag:blogger.com,1999:blog-7668212613888729496.post-26121080064895378662012-12-14T17:20:00.004+05:302012-12-14T17:26:52.155+05:30Timed out when making request to XAResource<div dir="ltr" style="text-align: left;" trbidi="on">
<b>Error Log Trace :</b><br />
<br />
[2012-09-11T19:58:01.053+05:30] [AdminServer] [ERROR] [] [<b>oracle.soa.adapter</b>] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@1d4729d] [userId: <anonymous>] [ecid: 0000Jap5w7iCSs05Rz^Ayd1GJm2d000002,0] [APP: soa-infra] weblogic.transaction.RollbackException: Transaction has <b>timed out when making request to XAResource 'EBSDS_base_domain'.</b>[[<br />
javax.resource.ResourceException: weblogic.transaction.RollbackException: Transaction has timed out when making request to XAResource 'EBSDS_base_domain'.atoracle.tip.adapter.fw.jca.messageinflow.MessageEndpointImpl.afterDelivery(MessageEndpointImpl.java:308) atoracle.tip.adapter.aq.v2.database.AbstractDequeueAgent$AQDeliveryBean.afterOnMessage(AbstractDequeueAgent.java:607)at oracle.tip.adapter.aq.v2.database.AbstractDequeueAgent$AQDeliveryBean.access$100(AbstractDequeueAgent.java:473)<br />
at oracle.tip.adapter.aq.v2.database.AbstractDequeueAgent.run(AbstractDequeueAgent.java:157)<br />
<br />
<b>Reason </b>:<br />
<br />
<b>oracle.soa.adapter :</b> indicates the error had resulted from JCA Adapter .<br />
<br />
<b> XAResource 'EBSDS_base_domain : </b>EBSDS is datasource being used to make database connection to EBS Suite( in my case ) for base_domain.<br />
<br />
JDBC datasource was not able connect to database with which it was configured at design time.<br />
<br />
<b>Solution : </b><br />
<br />
Try to check if the database in being up or down with help of Toad or Oracle SQL Developer.<br />
Or Try to make new JDBC DataSource in Weblogic console using the same same database name, hostname, port, password and try to test the connection.<br />
<br /></div>
Abhinav Guptahttp://www.blogger.com/profile/10984594823840603683noreply@blogger.com0tag:blogger.com,1999:blog-7668212613888729496.post-52753800978549442162012-12-14T16:53:00.000+05:302012-12-14T17:27:14.530+05:30ConnectionDeadSQLException & common.ResourceException<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<b>Error Log Trace:</b><br />
internal Exception: weblogic.jdbc.extensions.ConnectionDeadSQLException: weblogic.common.resourcepool.ResourceDeadException:0:weblogic.common.ResourceException: Could not create pool connection. The DBMS driver exception was: IO Error: The Network Adapter could not establish the connection.<br />
<br />
<b>Reason: </b><br />
The DB Service went down abrublty as This exception is generated when an application request to get a connection fails because the connection selected to be returned to the application from the pool fails the configured tests.<br />
Weblogic tests a connection before it is given to a client.<br />
<br />
<b>Solution : </b><br />
<br />
Oracle DB Service need to be restarted !!</div>
Abhinav Guptahttp://www.blogger.com/profile/10984594823840603683noreply@blogger.com1tag:blogger.com,1999:blog-7668212613888729496.post-26386755067840780662012-02-06T00:37:00.000+05:302012-12-18T08:44:21.016+05:30OSB Clustering & Load Balancer<div dir="ltr" style="text-align: left;" trbidi="on">
OSB clustering is being used to run multiple servers in parallel and to provide failover in case any managed server fails. Load Balancer is being used to effectively distribute the request payload among the running managed server in cluster depending upon the algorithm being used ( by default round robin ).<br />
<br />
I will make use of Software Load Balancer (HTTP proxy servlet ) inbuilt in weblogic server as the implementation is being is done to simulate in clustering and load balancing in development or testing environment for the HTTP requests.<br />
For production environment Hardware Load Balancer like BIG IP ..are being used.<br />
<br />
Architecture would be like :<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5Y6HrgmRshhMq-O5bPDmx0vWT654anJOx_LLqjMLCfL-z547X0MBcp5n9ALp1NAHPfjP-jJ4Nfjy1xGcEBwy0mMIC9-4GImAUz3Z11ZXEY3lkhvxQLxbw4zYtVvu4qouOm7vBlIST8fY/s1600/29.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="464" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5Y6HrgmRshhMq-O5bPDmx0vWT654anJOx_LLqjMLCfL-z547X0MBcp5n9ALp1NAHPfjP-jJ4Nfjy1xGcEBwy0mMIC9-4GImAUz3Z11ZXEY3lkhvxQLxbw4zYtVvu4qouOm7vBlIST8fY/s640/29.jpg" width="640" /></a></div>
<br />
<br />
<br />
<br />
<br />
1. Domain Creation<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdEU5pV26JDFOXMhCvrVr2-WHIn56tmk1vg90zx1qurixAY8xqT0QnCX6uNJjLrGQuZqBbERT0IRskbJB9FPz5cZ9oSvB1huywn619ThMJDf8ghC9N-ll_EHY5zqfjhGzNqLGHdRkvoa8/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdEU5pV26JDFOXMhCvrVr2-WHIn56tmk1vg90zx1qurixAY8xqT0QnCX6uNJjLrGQuZqBbERT0IRskbJB9FPz5cZ9oSvB1huywn619ThMJDf8ghC9N-ll_EHY5zqfjhGzNqLGHdRkvoa8/s640/1.jpg" width="640" /></a></div>
<ol style="text-align: left;"></ol>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
2. Do Select Oracle Service Bus and not OSB for developer's</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlSEgCFNHrzZzeZDi_7zyf3ledblS6mzm5qTgWhgADLtp_Pu-vOAkCcJIpmb4dokxAZxenfuBHiYQB82Nu2yQ9kY-94y5xu7vtm3Zl-m33UyVGljU9Q5YVFKWTiWY4YDawieVF5XbSf-o/s1600/2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlSEgCFNHrzZzeZDi_7zyf3ledblS6mzm5qTgWhgADLtp_Pu-vOAkCcJIpmb4dokxAZxenfuBHiYQB82Nu2yQ9kY-94y5xu7vtm3Zl-m33UyVGljU9Q5YVFKWTiWY4YDawieVF5XbSf-o/s640/2.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
3. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWHVqfD8tpq3TT2Vz0lZq3N5LyyM3SzJ__2QwZXfVXy9FdNvuCudCD3Te6rYugC3czed8XcAPvEe59SJqA-Nz5aEC0GZesHyl7SMoPi6IJYMWVZqvMvWEUtHdJl_ouyEDyz083n3rshMU/s1600/3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="459" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWHVqfD8tpq3TT2Vz0lZq3N5LyyM3SzJ__2QwZXfVXy9FdNvuCudCD3Te6rYugC3czed8XcAPvEe59SJqA-Nz5aEC0GZesHyl7SMoPi6IJYMWVZqvMvWEUtHdJl_ouyEDyz083n3rshMU/s640/3.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: left;">
4. </div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjI5ggsyss_Qk9ri5GU3OS8LhRc-C0rwqm2sb6ebdCwp85NJ2zipo_J-rPZX7NMOY3SBiRR1jeFlw-_x6Tey9MrpJySn1rvZ1VXxqpulhHPUVH7-HRLsugrWl6LB06V7Rg9ws07p9B49-8/s1600/4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="459" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjI5ggsyss_Qk9ri5GU3OS8LhRc-C0rwqm2sb6ebdCwp85NJ2zipo_J-rPZX7NMOY3SBiRR1jeFlw-_x6Tey9MrpJySn1rvZ1VXxqpulhHPUVH7-HRLsugrWl6LB06V7Rg9ws07p9B49-8/s640/4.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
5. </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-ClljB9kO8Mk0d8v3uDjHaUdGn6yt9FVw9DpATS-KnfOdOZU-0A3NIYCV8HEvQxxYPLYq4V03m4SEfeAznTKuNN3Z1hDbu4RJhszcm7rGMZlF3M68YUGhL3VNbafd8ODKh3b3ud6J5HI/s1600/5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="452" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-ClljB9kO8Mk0d8v3uDjHaUdGn6yt9FVw9DpATS-KnfOdOZU-0A3NIYCV8HEvQxxYPLYq4V03m4SEfeAznTKuNN3Z1hDbu4RJhszcm7rGMZlF3M68YUGhL3VNbafd8ODKh3b3ud6J5HI/s640/5.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
6. </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYTleo6VyWHKU2UYgmjebQA7v_SxZdGmCc_wFCvuxm2o5d42WwPyI9ETcZ-ZUFnvu-agUomxLsDkshRB3y1Me0JQO6M-l3LsiLSnDujuSpmXpmPQ1XRQR1Ye8aHYvlOutnBklhAcblaqE/s1600/6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="454" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYTleo6VyWHKU2UYgmjebQA7v_SxZdGmCc_wFCvuxm2o5d42WwPyI9ETcZ-ZUFnvu-agUomxLsDkshRB3y1Me0JQO6M-l3LsiLSnDujuSpmXpmPQ1XRQR1Ye8aHYvlOutnBklhAcblaqE/s640/6.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
7. Add managed server ip and port no in cluster address (127.0.0.1:7201, 127.0.0.1:7301)</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu80wCVpEouBGHHE_ewGr7RSyW77fiS-Ac-OFqC_JAzTc_TEfIkjwyNDMD63HgejG7UkTZVYcLC9_aY5d6MiBmMcQMtd3i7ZuPHx3Xz5tqIt_JZiJH-bgP7yMibNt6vINeGqrVlWrse5o/s1600/7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="457" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu80wCVpEouBGHHE_ewGr7RSyW77fiS-Ac-OFqC_JAzTc_TEfIkjwyNDMD63HgejG7UkTZVYcLC9_aY5d6MiBmMcQMtd3i7ZuPHx3Xz5tqIt_JZiJH-bgP7yMibNt6vINeGqrVlWrse5o/s640/7.jpg" width="640" /></a></div>
<br />
8. Add only osb1 & osb2 to osbcluster<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLlKRREgx6eme2vBHo94rke_pHqqOFXkuKU2dn0cPwJm61160ARZWsay0DWWmEqOxI7HV84tfQ79HtALLdXPpanr0WA9fawTToIXg8gJ7syoNzOVlFinFamLa8jxhO1J3mPfSEQcHWAJk/s1600/8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="457" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLlKRREgx6eme2vBHo94rke_pHqqOFXkuKU2dn0cPwJm61160ARZWsay0DWWmEqOxI7HV84tfQ79HtALLdXPpanr0WA9fawTToIXg8gJ7syoNzOVlFinFamLa8jxhO1J3mPfSEQcHWAJk/s640/8.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
9. Add the third managed server as Proxy server </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCZPTOntk0kwIQCo8iQeMsbmpnpAgYNpIlVk2Ppqy9DOwsCa-GzK_bWMeLi3qmZKmVkfypBt0GWzcQJgGmhmtEEbxjU6gRNmWysTNO5FPxA85y33a7_hzdpvva8UbpddhH3D07M0V-21k/s1600/9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="460" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCZPTOntk0kwIQCo8iQeMsbmpnpAgYNpIlVk2Ppqy9DOwsCa-GzK_bWMeLi3qmZKmVkfypBt0GWzcQJgGmhmtEEbxjU6gRNmWysTNO5FPxA85y33a7_hzdpvva8UbpddhH3D07M0V-21k/s640/9.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
10.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibD_xJdQHQYNRy7vNZcX0fHHLqpNp-mTTk77apjkEkNZupntODvrr9WIYMgJAdJAe6Fc2EsX5oeoAn687x8bLA73XwLLqQX8CPH1nlKnG_afMMHlah3eYR5wxTeHINYWXxpiOlq3Y9GH4/s1600/28.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="457" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibD_xJdQHQYNRy7vNZcX0fHHLqpNp-mTTk77apjkEkNZupntODvrr9WIYMgJAdJAe6Fc2EsX5oeoAn687x8bLA73XwLLqQX8CPH1nlKnG_afMMHlah3eYR5wxTeHINYWXxpiOlq3Y9GH4/s640/28.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: left;">
11.Add all to machine </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX71SYwIC8FJ0TObLBC3WGyyes_OQucBogkWeiKZbELumOp-m4dG_cGeMPHK6lQjVEuSrDEWQVOFrdTrF_vS1HkAar9pnApEtyRnxdiGFcLy6YfPEX_QVM5Qg_mrHdeCy6RZ2N-6HGop4/s1600/11.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="459" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX71SYwIC8FJ0TObLBC3WGyyes_OQucBogkWeiKZbELumOp-m4dG_cGeMPHK6lQjVEuSrDEWQVOFrdTrF_vS1HkAar9pnApEtyRnxdiGFcLy6YfPEX_QVM5Qg_mrHdeCy6RZ2N-6HGop4/s640/11.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
12. Finished the setup and start admin server.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJzbgKrU_sadRLx_QBfkLRcGFXn3DqfF5Ijm_0fQEq9DxAS-zkOHjGye7PDAqV2OXkCQJDRGuHd3L8vtyIh20ZOV89ToQ8WkbrgzFrNKOPOytIVV7hNkhZHh6DSpmYel4tQiiHvZBSTjU/s1600/12.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="352" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJzbgKrU_sadRLx_QBfkLRcGFXn3DqfF5Ijm_0fQEq9DxAS-zkOHjGye7PDAqV2OXkCQJDRGuHd3L8vtyIh20ZOV89ToQ8WkbrgzFrNKOPOytIVV7hNkhZHh6DSpmYel4tQiiHvZBSTjU/s640/12.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
13. Start managed server osb1</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivM9dNCrBfvWfJxRNg9lnPTdco66XUOKzgACfpOIRCvL-GnmAfbCUO7NDhEv8gu02b6VhEKpYmChoMXZqJSzSlwevoDluEhOg3rBxPxXZQB-7oLSL-Y0UtgQ28S0RBvEoSvitfWvuMr6E/s1600/13.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivM9dNCrBfvWfJxRNg9lnPTdco66XUOKzgACfpOIRCvL-GnmAfbCUO7NDhEv8gu02b6VhEKpYmChoMXZqJSzSlwevoDluEhOg3rBxPxXZQB-7oLSL-Y0UtgQ28S0RBvEoSvitfWvuMr6E/s640/13.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
14. Start managed server osb2</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSqkhSgCCHwD3THMQPuWdDYgEdmqT-NZPm-lvZ78TA5EZOesXJo6yI-qxAxoBCytJLXWUN7hOQgAmPMguDfQJifTdh6dR3xx9WhHiDdiiNWDr9g37F6SCpwyyJ7_ITcbPZm-PI274Rv0A/s1600/14.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="284" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSqkhSgCCHwD3THMQPuWdDYgEdmqT-NZPm-lvZ78TA5EZOesXJo6yI-qxAxoBCytJLXWUN7hOQgAmPMguDfQJifTdh6dR3xx9WhHiDdiiNWDr9g37F6SCpwyyJ7_ITcbPZm-PI274Rv0A/s640/14.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
15. Start managed server lb (load Balancer) </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvM2t_QnjpRq1G0xqByceAJ1y2tdsVFKja4yGIdcXJABVeZmp4EPOOjUKEOE_jkW2faajv-mLuhLtvkLGDTuHUZ_WEUyTvr_xldkVJwalsQeiSSDD-EDAksdGOpc04HDudViKHveoDRkI/s1600/15.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="556" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvM2t_QnjpRq1G0xqByceAJ1y2tdsVFKja4yGIdcXJABVeZmp4EPOOjUKEOE_jkW2faajv-mLuhLtvkLGDTuHUZ_WEUyTvr_xldkVJwalsQeiSSDD-EDAksdGOpc04HDudViKHveoDRkI/s640/15.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
16. Go Service Bus Console and check the server health </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir9bWIeksuGTNHnH6HF22tDwSUPCYSdoRMGdfNQFI8KL7g6pxC0OjG54LpeYTJE21umqCsTPA3LLI4UTrCCfgX9QDw84WSaO8wSTRDekpfHrZ_ji8Ukx5qnjdRcGND-kusoZ1tURAQoXs/s1600/16.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir9bWIeksuGTNHnH6HF22tDwSUPCYSdoRMGdfNQFI8KL7g6pxC0OjG54LpeYTJE21umqCsTPA3LLI4UTrCCfgX9QDw84WSaO8wSTRDekpfHrZ_ji8Ukx5qnjdRcGND-kusoZ1tURAQoXs/s640/16.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
17. Load a wsdl and make a proxy on it, add a log action( to check which managed server the request is going ) to capture the request payload and do reply with success </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilFOxt5ZFk_w8zWEg55pgualL1BM4whf0nBgwXmu61tF1sjf7EISSFI5c2xyW4bcr44hRwexABhMCjyheMQ_wGJLI91K4-aS8UJ5v8n8pwF-sk5G4nX7l2nEpeKP6ZaK9Y5ItdqAMeqCo/s1600/19.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilFOxt5ZFk_w8zWEg55pgualL1BM4whf0nBgwXmu61tF1sjf7EISSFI5c2xyW4bcr44hRwexABhMCjyheMQ_wGJLI91K4-aS8UJ5v8n8pwF-sk5G4nX7l2nEpeKP6ZaK9Y5ItdqAMeqCo/s640/19.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
18. Go to weblogic console to check the clustering setup : </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh-C23FO7VABno_gGynXojSEH74V-i8K-xn8iZelS7obM2HqcgzIeFkymEEjmPfi4N0RREfHF_YVLiuq1L40pOd1gYFUTdF7scY62CmTb-bM789A3bDY3AZYiTT9ugWFe_kRECVH94xWE/s1600/17.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh-C23FO7VABno_gGynXojSEH74V-i8K-xn8iZelS7obM2HqcgzIeFkymEEjmPfi4N0RREfHF_YVLiuq1L40pOd1gYFUTdF7scY62CmTb-bM789A3bDY3AZYiTT9ugWFe_kRECVH94xWE/s640/17.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixt4-QR1iEUD_bYw37XuotW_RnSD3fLTlGxTEvMUUWA_qeuQTyue_bxkleZwKx2tCxd1jn7gEQK8nU-xdXB2WHC2_Q6XTqf4QIOmuznU-OTEpFMFKw2X1rWAqvyYK_MmuwjeQjR2_eocg/s1600/18.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixt4-QR1iEUD_bYw37XuotW_RnSD3fLTlGxTEvMUUWA_qeuQTyue_bxkleZwKx2tCxd1jn7gEQK8nU-xdXB2WHC2_Q6XTqf4QIOmuznU-OTEpFMFKw2X1rWAqvyYK_MmuwjeQjR2_eocg/s640/18.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
Go to deployments under weblogic home, you will find the encircled app which is handling the load balancing </div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib7diTl1Pg2MqA_hJairGeX1h-DBYje2ruM5BDgBJCEDVm93cu7SpDqn1gDfINyN_0WFU7x74QypIirg0Y2qVlrOY0etDLd7TfvYB3JJMpd52aVmGjNbgcdztY7oXhZSzeqdk7G9WiBiQ/s1600/20.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib7diTl1Pg2MqA_hJairGeX1h-DBYje2ruM5BDgBJCEDVm93cu7SpDqn1gDfINyN_0WFU7x74QypIirg0Y2qVlrOY0etDLd7TfvYB3JJMpd52aVmGjNbgcdztY7oXhZSzeqdk7G9WiBiQ/s640/20.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
19. Just enter </div>
<div class="separator" style="clear: both; text-align: left;">
http://[managed server ip address]:[managed server port no]/yourproxyurl?wsdl </div>
<div class="separator" style="clear: both; text-align: left;">
You will find a wsdl published but have endpoint pointing to loadbalancer ip and port no </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigKclUCBCXKaWHgnUw9_1N7FbcXtedNXfey6DgGy_tbhDh74oIpqOKiMNV5oCLHh7GeqHXPfV9bTMdw3ydAYDoSitRg332rREXmA19-ywg0c41XVkrS3eezqkpQLgM36Gvinys0sSZSDc/s1600/21.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigKclUCBCXKaWHgnUw9_1N7FbcXtedNXfey6DgGy_tbhDh74oIpqOKiMNV5oCLHh7GeqHXPfV9bTMdw3ydAYDoSitRg332rREXmA19-ywg0c41XVkrS3eezqkpQLgM36Gvinys0sSZSDc/s640/21.jpg" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK0uhN2QjyHUnXqgJxt8DqE-6D7aRjqHCdc-ySYSxPVHYkyGZGd0aLMTNrJIFpClfp1sGQZMWYXh4sAlI5Scihb2p2UyL7qEnn50I1GYd_rMI5OhSZcfQD2hcNtunBXpz7B_ixECaceTA/s1600/22.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK0uhN2QjyHUnXqgJxt8DqE-6D7aRjqHCdc-ySYSxPVHYkyGZGd0aLMTNrJIFpClfp1sGQZMWYXh4sAlI5Scihb2p2UyL7qEnn50I1GYd_rMI5OhSZcfQD2hcNtunBXpz7B_ixECaceTA/s640/22.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
20. Now i have used soap-ui to test the load balancing </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
My request would be hitting load balancer and load balancer would be handling the distrubution among osb1 and osb2 </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
keep a look in the endpoint being hit in soap-ui </div>
<div class="separator" style="clear: both; text-align: left;">
a. http://127.0.0.1:7101/default/PS_LoadBalancerTest</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD1tgLwDm8AEHiwcIWAJD7vdQvPHlh_au3-hsalzK3bliC7Ep5AoeX5lsl-Rc4_G8JGZ6jOW3mammJh8QQB125ZgGa89m2o3NxFjc8801t-SEnIAuXkZQqGtKg4JXfFNLXGqzihv3pwTU/s1600/23.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD1tgLwDm8AEHiwcIWAJD7vdQvPHlh_au3-hsalzK3bliC7Ep5AoeX5lsl-Rc4_G8JGZ6jOW3mammJh8QQB125ZgGa89m2o3NxFjc8801t-SEnIAuXkZQqGtKg4JXfFNLXGqzihv3pwTU/s640/23.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
First time the request has gone to osb1 as we can see in logs of osb1 managed server </div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIqFU6NhK1hyphenhyphenWmYZJNQg-TJCbMyrVKAwjflBS7P7x-TB9ArNiBcfgLOuR13jBghf32r8c7NUEIe00hhkCoi1ADzEZt5UisQ2-gnxQgw-e4M4Z0HlUZjDjnxkHRM13bP8zEjlZ2351OrVM/s1600/24.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="339" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIqFU6NhK1hyphenhyphenWmYZJNQg-TJCbMyrVKAwjflBS7P7x-TB9ArNiBcfgLOuR13jBghf32r8c7NUEIe00hhkCoi1ADzEZt5UisQ2-gnxQgw-e4M4Z0HlUZjDjnxkHRM13bP8zEjlZ2351OrVM/s640/24.jpg" width="640" /></a></div>
b: I again tested it from soap-ui then the request would go to osb2 as we can see in logs of osb2 managed server (green)<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihy1ZtQQnmILiC7nzxCenplJHvDaxRrReL2ZX0ek97wUS0htgD7Y4p_vTUBD_-4NJGGU79vjfxhjAQ7W0kC4MV9JxfYh8RNZI3sHo_0AcAE9Nfrw114iXqzkTXOAY0G-pr8wMnfN_zPQg/s1600/25.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="592" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihy1ZtQQnmILiC7nzxCenplJHvDaxRrReL2ZX0ek97wUS0htgD7Y4p_vTUBD_-4NJGGU79vjfxhjAQ7W0kC4MV9JxfYh8RNZI3sHo_0AcAE9Nfrw114iXqzkTXOAY0G-pr8wMnfN_zPQg/s640/25.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<ul style="text-align: left;">
<li>If you shutdown admin server, still the request can be fulfilled by osb1 and osb2 . </li>
<li>If any of osb1 or osb2 is down then request would be re-directed to running managed server either osb1 or osb2.</li>
<li>If you shutdown load balancer managed server (lb) then request won't be fulfilled you need to point your request to osb1 or osb2 by changing the endpoint http://[managed server ip address]:[managed server port no]/yourproxyurl.</li>
</ul>
<br />
<div class="separator" style="clear: both; text-align: left;">
So the osb clustering and load balancing is achieved in simple manner !!</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
</div>
Abhinav Guptahttp://www.blogger.com/profile/10984594823840603683noreply@blogger.com38tag:blogger.com,1999:blog-7668212613888729496.post-81610591959829241662012-01-09T00:26:00.000+05:302012-01-09T00:39:01.250+05:30Adding namespace to XML Structure<div dir="ltr" style="text-align: left;" trbidi="on">
I came across a situation while doing CSV to XML transformation, the MFL action in OSB transforms CSV to XML or vice -versa but the resulted XML structure does n't have a namespace added to it.<br />
<br />
Namespace is required while doing service orchestration (by using Service Callout or Route action ).<br />
There are two ways u can add namespace to xml structure .<br />
<br />
1. Make a XSD of the xml structure and use Xquery transformation selecting newly created xsd of non-namespace as Source and in Target select as xsd/wsdl element which u want as result.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZlsIQD3MlxA123QLY72IRp6_XK4zykgRhQNkK9AMxk6eX4NbaFIt8sfwvOGxOUGqk-ub1YbmZMu3Ttv-8d0MTXsa6pYhKGOvA5xsMby5qnfRmM5qx8U3PuFXezMR8uTMpw7hXA1wNc6k/s1600/mfl.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;"><img border="0" height="242" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZlsIQD3MlxA123QLY72IRp6_XK4zykgRhQNkK9AMxk6eX4NbaFIt8sfwvOGxOUGqk-ub1YbmZMu3Ttv-8d0MTXsa6pYhKGOvA5xsMby5qnfRmM5qx8U3PuFXezMR8uTMpw7hXA1wNc6k/s640/mfl.JPG" width="640" /></a>2. We can use xquery to add a default namespace to xml structure.(which is obtained using mfl action and storing the result in variable named InputRequestXmlBody<br />
<br />
<br />
xquery version "1.0" encoding "Cp1252";<br />
(:: pragma parameter="$noNamespaceXML" type="xs:anyType" ::)<br />
(:: pragma parameter="$namespaceURI" type="xs:string" ::)<br />
(:: pragma type="xs:anyType" ::)<br />
declare namespace xf = "http://tempuri.org/Resources/XQueries/addNamespace/";<br />
<br />
declare function xf:addNamespaceToXML($noNamespaceXML as element(*),$namespaceURI as xs:string) as element(*)<br />
{<br />
element {fn:expanded-QName($namespaceURI,fn:local-name($noNamespaceXML))}<br />
{<br />
$noNamespaceXML/@*,<br />
for $node in $noNamespaceXML/node()<br />
return<br />
if (exists($node/node())) then xf:addNamespaceToXML($node,$namespaceURI)<br />
else if ($node instance of element()) then element {fn:expanded-QName($namespaceURI,fn:local-name($node))}{$node/@*}<br />
else $node }<br />
};<br />
<br />
declare variable $noNamespaceXML as element(*) external;<br />
declare variable $namespaceURI as xs:string external ;<br />
xf:addNamespaceToXML($noNamespaceXML, $namespaceURI)<br />
<br />
<br />
We can use replace action then to add namespace to xml structure .<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8VYkG8lm6cScflu0bIGlrWjVpcgNV7VH-M66439ox-hwyfPoh3ODVIa34ZvgvswMMQoxq232UvIV-hv56-oIv_RwXNWSfg2dPoJscpS89M2QtcAAmP3pV0POKIF_9dHj7SDLHYVqVkq0/s1600/replace.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="107" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8VYkG8lm6cScflu0bIGlrWjVpcgNV7VH-M66439ox-hwyfPoh3ODVIa34ZvgvswMMQoxq232UvIV-hv56-oIv_RwXNWSfg2dPoJscpS89M2QtcAAmP3pV0POKIF_9dHj7SDLHYVqVkq0/s640/replace.JPG" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvpQyfE0MAkeQOX4Nf9Nd8mjVPCBdOEam65rdKQHoAUpgz9v9CVyUacy4pybNRx2Uw6Fi_IDoB3QxEqX5-UIXKnkNAOxlbIDT6lrwKTvnnDfto1tAKLT5RjMBnrVDmu4kxxLxeRgIc6K4/s1600/bindvariables.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="203" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvpQyfE0MAkeQOX4Nf9Nd8mjVPCBdOEam65rdKQHoAUpgz9v9CVyUacy4pybNRx2Uw6Fi_IDoB3QxEqX5-UIXKnkNAOxlbIDT6lrwKTvnnDfto1tAKLT5RjMBnrVDmu4kxxLxeRgIc6K4/s640/bindvariables.JPG" width="640" /></a></div>
<br />
So XML Structure like this :<br />
<br />
<br />
<br />
<br />
<Transaction><br />
<MemberDetails><br />
<CashMemoNumber>CashMemoNumber</CashMemoNumber><br />
<Date>Date</Date><br />
<Time>Time</Time><br />
<ShopCode>ShopCode</ShopCode><br />
<PrivilegeCustomerCode>PrivilegeCustomerCode</PrivilegeCustomerCode><br />
<Country>Country</Country><br />
</MemberDetails><br />
</Transaction><br />
<br />
<div>
<br /></div>
<div>
would end up like this :</div>
<div>
</div>
<table border="0" cellpadding="0" cellspacing="0" class="test_content" style="font-family: Tahoma; font-size: 12px;"><tbody>
<tr style="background-color: white;"><td width="100%"><table border="0" cellpadding="0" cellspacing="0" class="test_content" style="font-size: 12px;"><tbody>
<tr><td width="100%"><table border="0" cellpadding="0" cellspacing="0"><tbody>
<tr><td style="padding-left: 0px;"></td><td class="xmlview_default" nowrap="true" style="font-size: 12px; padding-top: 3px;" valign="top"><<span class="xmlview_qname" style="color: #00009f;">req:Transaction</span> </td><td class="xmlview_default" style="font-size: 12px; padding-top: 3px;" valign="top"><span class="xmlview_attr_qname" style="color: blue;">xmlns:req</span>=<span class="xmlview_attr_value" style="color: #009933;">"http://in.abhinav/schema/request"</span>></td></tr>
</tbody></table>
<table border="0" cellpadding="0" cellspacing="0"><tbody>
<tr><td style="padding-left: 28px;"></td><td class="xmlview_default" nowrap="true" style="font-size: 12px; padding-top: 3px;" valign="top"><<span class="xmlview_qname" style="color: #00009f;">req:MemberDetails</span>></td></tr>
</tbody></table>
<table border="0" cellpadding="0" cellspacing="0"><tbody>
<tr><td style="padding-left: 56px;"></td><td class="xmlview_default" nowrap="true" style="font-size: 12px; padding-top: 3px;" valign="top"><<span class="xmlview_qname" style="color: #00009f;">req:CashMemoNumber</span>><span class="xmlview_text">CashMemoNumber</span></<span class="xmlview_qname" style="color: #00009f;">req:CashMemoNumber</span>></td></tr>
</tbody></table>
<table border="0" cellpadding="0" cellspacing="0"><tbody>
<tr><td style="padding-left: 56px;"></td><td class="xmlview_default" nowrap="true" style="font-size: 12px; padding-top: 3px;" valign="top"><<span class="xmlview_qname" style="color: #00009f;">req:Date</span>><span class="xmlview_text">Date</span></<span class="xmlview_qname" style="color: #00009f;">req:Date</span>></td></tr>
</tbody></table>
<table border="0" cellpadding="0" cellspacing="0"><tbody>
<tr><td style="padding-left: 56px;"></td><td class="xmlview_default" nowrap="true" style="font-size: 12px; padding-top: 3px;" valign="top"><<span class="xmlview_qname" style="color: #00009f;">req:Time</span>><span class="xmlview_text">Time</span></<span class="xmlview_qname" style="color: #00009f;">req:Time</span>></td></tr>
</tbody></table>
<table border="0" cellpadding="0" cellspacing="0"><tbody>
<tr><td style="padding-left: 56px;"></td><td class="xmlview_default" nowrap="true" style="font-size: 12px; padding-top: 3px;" valign="top"><<span class="xmlview_qname" style="color: #00009f;">req:ShopCode</span>><span class="xmlview_text">ShopCode</span></<span class="xmlview_qname" style="color: #00009f;">req:ShopCode</span>></td></tr>
</tbody></table>
<table border="0" cellpadding="0" cellspacing="0"><tbody>
<tr><td style="padding-left: 56px;"></td><td class="xmlview_default" nowrap="true" style="font-size: 12px; padding-top: 3px;" valign="top"><<span class="xmlview_qname" style="color: #00009f;">req:PrivilegeCustomerCode</span>><span class="xmlview_text">PrivilegeCustomerCode</span></<span class="xmlview_qname" style="color: #00009f;">req:PrivilegeCustomerCode</span>></td></tr>
</tbody></table>
<table border="0" cellpadding="0" cellspacing="0"><tbody>
<tr><td style="padding-left: 56px;"></td><td class="xmlview_default" nowrap="true" style="font-size: 12px; padding-top: 3px;" valign="top"><<span class="xmlview_qname" style="color: #00009f;">req:Country</span>><span class="xmlview_text">Country</span></<span class="xmlview_qname" style="color: #00009f;">req:Country</span>></td></tr>
</tbody></table>
<table border="0" cellpadding="0" cellspacing="0"><tbody>
<tr><td style="padding-left: 28px;"></td><td class="xmlview_default" nowrap="true" style="font-size: 12px; padding-top: 3px;" valign="top"></<span class="xmlview_qname" style="color: #00009f;">req:MemberDetails</span>></td></tr>
</tbody></table>
<table border="0" cellpadding="0" cellspacing="0"><tbody>
<tr><td style="padding-left: 0px;"></td><td class="xmlview_default" nowrap="true" style="font-size: 12px; padding-top: 3px;" valign="top"></<span class="xmlview_qname" style="color: #00009f;">req:Transaction</span>></td></tr>
</tbody></table>
</td></tr>
</tbody></table>
</td></tr>
<tr style="background-color: white;"></tr>
</tbody></table>
<br />
Happy Flows !!</div>Abhinav Guptahttp://www.blogger.com/profile/10984594823840603683noreply@blogger.com4tag:blogger.com,1999:blog-7668212613888729496.post-6448306580637850192012-01-01T12:48:00.000+05:302012-01-01T13:54:05.969+05:30Split Join - OSB<div dir="ltr" style="text-align: left;" trbidi="on">
I was working on requirement to call multiple service in parallel to improve the performance count .<br />
<div>
But the split join works only on WSDL Operation means if you are calling different type of services like Messaging based, XML based u need to create a wsdl to support your split join ...</div>
<div>
I need to write the final end xml response of split join to file system location using file transport in non -xml format (CSV).</div>
<div>
But my excitement came to sudden end when i could not locate MFL transformation action in split join design pallate </div>
<div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQYnfYk8xffmioPFlqSIuuqmBZGm2a18-zjaJzbt8zV92D89cpZMMauvwrT85ZhZCCVfYxZaoGy8EM82d2LLI-gsp7xnMYnhXLZi8opWTYi2_FGyXiVwENBjEfTONGDCEuW05FaMPZyio/s1600/designpalette.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQYnfYk8xffmioPFlqSIuuqmBZGm2a18-zjaJzbt8zV92D89cpZMMauvwrT85ZhZCCVfYxZaoGy8EM82d2LLI-gsp7xnMYnhXLZi8opWTYi2_FGyXiVwENBjEfTONGDCEuW05FaMPZyio/s320/designpalette.JPG" width="93" /></a></div>
<br />
The next problem with split join is that there is not any publish action to call your asynchronous processes (for example: Writing a file)...</div>
<div>
But there is always a work around ...</div>
<div>
1. Made xsd and wsdl for the final end xml response .</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGDD6BqiDQgbARazPzWBNxwSbSmc6tl-NUWfC4hdcKKIy4vIOz3OI6XAv2km7Owl1NAN-CzwQkDTv17mZ1QXVHM2MecHUIiE92a76KY06cZm5vBS81w0dLm224ChNA5veTEZKXzu3X45I/s1600/filewritexsd.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="176" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGDD6BqiDQgbARazPzWBNxwSbSmc6tl-NUWfC4hdcKKIy4vIOz3OI6XAv2km7Owl1NAN-CzwQkDTv17mZ1QXVHM2MecHUIiE92a76KY06cZm5vBS81w0dLm224ChNA5veTEZKXzu3X45I/s200/filewritexsd.JPG" width="200" /></a></div>
<div>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3nf-1SW72WFr6MKFvkgqO3Qx93sSMRBF6z_qvvKEkMm0rUu1A2rPCr0nih8PIb8wyxeeWYC3_A_NJ7lLEnlEHoSyphLzuAcFzXIaSk8YVNTKej_8cMG2sl-UrCGp4JuZjFPGjZ_99OQY/s1600/wsdl.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="55" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3nf-1SW72WFr6MKFvkgqO3Qx93sSMRBF6z_qvvKEkMm0rUu1A2rPCr0nih8PIb8wyxeeWYC3_A_NJ7lLEnlEHoSyphLzuAcFzXIaSk8YVNTKej_8cMG2sl-UrCGp4JuZjFPGjZ_99OQY/s320/wsdl.jpg" width="320" /></a></div>
<div>
</div>
<div>
<br /></div>
<div>
2. Made a proxy service local transport based on wsdl created above .</div>
<div>
3. In message flow of abobe local proxy service use a publish action to call my File Write Business Service. </div>
<div>
4. In request actions of Publish actions use MFL Transformation Action to convert final end xml response to non- xml(CSV) </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_qAetfS4BS8tHZWgg9mgN4cuU2nxfB0aEUd1HHMNgHWvpvo8DHtC6soDRMDntYoi19pfDbWXsmLsRzXNyfFL3Q5r24xLSwXePchyPd71Nqxp2CN6YC9-SkfDCONf6a13CB39K6s-jCxM/s1600/publishaction.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="124" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_qAetfS4BS8tHZWgg9mgN4cuU2nxfB0aEUd1HHMNgHWvpvo8DHtC6soDRMDntYoi19pfDbWXsmLsRzXNyfFL3Q5r24xLSwXePchyPd71Nqxp2CN6YC9-SkfDCONf6a13CB39K6s-jCxM/s320/publishaction.JPG" width="320" /></a></div>
<div>
</div>
<div>
5.So as my requirement was to write the final end response to a file through splt join, use a Invoke service action to call the above made local proxy that will call your File Write Business Service .</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghmeLZ4iv0Yyt9PsNMjdohIBrsmeQKIBwE7nEbKOapd8nzHN20kEpaHSYsWBiOQWALyYrQlT_2nDxNUgsBs-95XiTANbXYqHO35ZdOM-9dfsRCNA08QpU7MG_PWHhZ80jLdnrVxIiNNP4/s1600/filewrite.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghmeLZ4iv0Yyt9PsNMjdohIBrsmeQKIBwE7nEbKOapd8nzHN20kEpaHSYsWBiOQWALyYrQlT_2nDxNUgsBs-95XiTANbXYqHO35ZdOM-9dfsRCNA08QpU7MG_PWHhZ80jLdnrVxIiNNP4/s320/filewrite.JPG" width="301" /></a></div>
<div>
</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
So have a happy Split Join !!</div>
</div>Abhinav Guptahttp://www.blogger.com/profile/10984594823840603683noreply@blogger.com1tag:blogger.com,1999:blog-7668212613888729496.post-39198499812389531452011-12-27T01:24:00.000+05:302011-12-27T01:24:00.127+05:30My First SOA blog !!<div dir="ltr" style="text-align: left;" trbidi="on">
Hi,<br />
<br />
I used to read a lot of soa blogs everyday to pass my time ...<br />
Then thought of writing and sharing my little soa experience.<br />
So here goes my first entry to this blog !!<br />
<br />
<br /></div>Abhinav Guptahttp://www.blogger.com/profile/10984594823840603683noreply@blogger.com0