<?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-8133026034579648500</id><updated>2011-11-21T11:30:02.706+11:00</updated><category term='Datasources'/><category term='Java Stored Procedure'/><category term='Binding'/><category term='DBMS Callout'/><category term='J2CA'/><category term='Web Services'/><category term='Weblogic'/><category term='jpub'/><category term='Oracle'/><category term='JDev'/><category term='OAS'/><category term='RMI'/><category term='OC4J'/><category term='JDBC'/><category term='ADF'/><category term='JMS Provider'/><title type='text'>Steve's Blog</title><subtitle type='html'>Technical Information on Oracle Middleware.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>32</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-2647273877971408055</id><published>2011-11-04T14:23:00.000+11:00</published><updated>2011-11-04T14:27:29.132+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><title type='text'>Reloading jspx page from a commandLink</title><content type='html'>A simple&lt;a href="http://dl.dropbox.com/u/17312456/steveracanovic.blogspot.com/RefreshPageExample.7z"&gt; example&lt;/a&gt; to reload a jspx page from a commandLink. [Jdev 11.1.1.4.0]&lt;br /&gt;&lt;br /&gt;1. Run testpage.jspx. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/-AvyY47suJP4/TrNTMvzMmrI/AAAAAAAAAGs/WVFEC4sDd2Q/s1600/pageonload.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="116" src="http://2.bp.blogspot.com/-AvyY47suJP4/TrNTMvzMmrI/AAAAAAAAAGs/WVFEC4sDd2Q/s200/pageonload.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;2. Click in Reload Page link.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/-la_aQfZnC7s/TrNTeuue5kI/AAAAAAAAAG0/swSLiBBF3yY/s1600/IntegratedWLS.Log.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="65" src="http://2.bp.blogspot.com/-la_aQfZnC7s/TrNTeuue5kI/AAAAAAAAAG0/swSLiBBF3yY/s200/IntegratedWLS.Log.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://3.bp.blogspot.com/-hBc0kcGkl4A/TrNTgo767eI/AAAAAAAAAG8/cWxkygTmVMM/s1600/ClickOnReloadPage.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="99" src="http://3.bp.blogspot.com/-hBc0kcGkl4A/TrNTgo767eI/AAAAAAAAAG8/cWxkygTmVMM/s200/ClickOnReloadPage.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-2647273877971408055?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/2647273877971408055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=2647273877971408055' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/2647273877971408055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/2647273877971408055'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2011/11/reloading-jspx-page-from-afcommandline.html' title='Reloading jspx page from a commandLink'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-AvyY47suJP4/TrNTMvzMmrI/AAAAAAAAAGs/WVFEC4sDd2Q/s72-c/pageonload.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-6739727802934761729</id><published>2011-09-12T12:08:00.001+10:00</published><updated>2011-09-13T15:23:47.007+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Stored Procedure'/><title type='text'>Using '-jarsasdbobjects -prependjarnames' parameters and calling the loaded class from a Java Stored Procedure</title><content type='html'>An example using loadjava/dropjava with '-jarsasdbobjects -prependjarnames' parameters and trying to access the class in the jar from a java stored procedure.&lt;br /&gt;&lt;br /&gt;[oracle@sracanov-au2 ~]$ cat &amp;gt; HelloWorld1.java&lt;br /&gt;public class HelloWorld1 {&lt;br /&gt;&amp;nbsp;&amp;nbsp; public static void main(String[] args){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(new HelloWorld1());&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; public String toString(){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return "Hello World 1";&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; public static String getHello(){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return "Hello World 1 !!!";&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;Quit&lt;br /&gt;[oracle@sracanov-au2 ~]$ javac HelloWorld1.java&lt;br /&gt;[oracle@sracanov-au2 ~]$ java HelloWorld1&lt;br /&gt;Hello World 1&lt;br /&gt;[oracle@sracanov-au2 ~]$ loadjava -u scott/tiger -jarsasdbobjects -prependjarnames HelloWorld1.java&lt;br /&gt;[oracle@sracanov-au2 ~]$ cat &amp;gt; java_objects.sql&lt;br /&gt;COL object_name format a30&lt;br /&gt;COL object_type format a15&lt;br /&gt;SELECT object_name, object_type, status FROM user_objects WHERE object_type IN ('JAVA SOURCE', 'JAVA CLASS', 'JAVA RESOURCE') ORDER BY object_type, object_name;&lt;br /&gt;Quit&lt;br /&gt;[oracle@sracanov-au2 ~]$ sqlplus scott/tiger&lt;br /&gt;&lt;br /&gt;SQL*Plus: Release 11.2.0.2.0 Production on Tue Sep 6 14:38:01 2011&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2010, Oracle.&amp;nbsp; All rights reserved.&lt;br /&gt;&lt;br /&gt;Connected to:&lt;br /&gt;&lt;br /&gt;Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production&lt;br /&gt;&lt;br /&gt;With the Partitioning, OLAP, Data Mining and Real Application Testing options&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; @java_objects.sql&lt;br /&gt;&lt;br /&gt;OBJECT_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OBJECT_TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STATUS&lt;br /&gt;&lt;br /&gt;------------------------------ --------------- -------&lt;br /&gt;&lt;br /&gt;HelloWorld1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JAVA CLASS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INVALID&lt;br /&gt;HelloWorld1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JAVA SOURCE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INVALID&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; CREATE OR REPLACE FUNCTION HW RETURN VARCHAR2 as LANGUAGE JAVA NAME 'HelloWorld1.getHello() return String';&lt;br /&gt;&lt;br /&gt;&amp;nbsp;2&amp;nbsp; /&lt;br /&gt;&lt;br /&gt;Function created.&lt;br /&gt;&lt;br /&gt;SQL&amp;gt;&amp;nbsp; select HW() from dual;&lt;br /&gt;&lt;br /&gt;HW()&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Hello World 1 !!!&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; @java_objects.sql&lt;br /&gt;&lt;br /&gt;OBJECT_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OBJECT_TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STATUS&lt;br /&gt;&lt;br /&gt;------------------------------ --------------- -------&lt;br /&gt;&lt;br /&gt;HelloWorld1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JAVA CLASS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VALID&lt;br /&gt;HelloWorld1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JAVA SOURCE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VALID&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; exec dbms_java.dropjava('HelloWorld1');&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; @java_objects.sql&lt;br /&gt;&lt;br /&gt;no rows selected&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; exit&lt;br /&gt;&lt;br /&gt;Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production&lt;br /&gt;&lt;br /&gt;With the Partitioning, OLAP, Data Mining and Real Application Testing options&lt;br /&gt;&lt;br /&gt;[oracle@sracanov-au2 ~]$ loadjava -u scott/tiger HelloWorld1.java&lt;br /&gt;[oracle@sracanov-au2 ~]$ sqlplus scott/tiger&lt;br /&gt;&lt;br /&gt;SQL*Plus: Release 11.2.0.2.0 Production on Wed Sep 7 13:18:44 2011&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2010, Oracle.&amp;nbsp; All rights reserved.&lt;br /&gt;&lt;br /&gt;Connected to:&lt;br /&gt;&lt;br /&gt;Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production&lt;br /&gt;&lt;br /&gt;With the Partitioning, OLAP, Data Mining and Real Application Testing options&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; @java_objects.sql&lt;br /&gt;&lt;br /&gt;OBJECT_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OBJECT_TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STATUS&lt;br /&gt;&lt;br /&gt;------------------------------ --------------- -------&lt;br /&gt;&lt;br /&gt;HelloWorld1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JAVA CLASS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INVALID&lt;br /&gt;HelloWorld1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JAVA SOURCE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INVALID&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; CREATE OR REPLACE FUNCTION HW RETURN VARCHAR2 as LANGUAGE JAVA NAME 'HelloWorld1.getHello() return String';&lt;br /&gt;&lt;br /&gt;&amp;nbsp;2&amp;nbsp; /&lt;br /&gt;&lt;br /&gt;Function created.&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; select HW() from dual;&lt;br /&gt;&lt;br /&gt;HW()&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Hello World 1 !!!&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; @java_objects.sql&lt;br /&gt;&lt;br /&gt;OBJECT_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OBJECT_TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STATUS&lt;br /&gt;&lt;br /&gt;------------------------------ --------------- -------&lt;br /&gt;&lt;br /&gt;HelloWorld1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JAVA CLASS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VALID&lt;br /&gt;HelloWorld1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JAVA SOURCE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VALID&lt;br /&gt;&lt;br /&gt;SQL&amp;gt;&lt;br /&gt;&lt;br /&gt;[oracle@sracanov-au2 ~]$ mkdir Test&lt;br /&gt;[oracle@sracanov-au2 ~]$ cp HelloWorld1.java HelloWorld2.java&lt;br /&gt;[oracle@sracanov-au2 ~]$ sed -i 's/1/2/g' HelloWorld2.java&lt;br /&gt;[oracle@sracanov-au2 ~]$ sed '1i\package Test;' HelloWorld2.java &amp;gt; Test/HelloWorld2.java&lt;br /&gt;[oracle@sracanov-au2 ~]$ rm HelloWorld2.java&lt;br /&gt;[oracle@sracanov-au2 ~]$ javac -cp .:./Test Test/HelloWorld2.java&lt;br /&gt;[oracle@sracanov-au2 ~]$ java -cp .:./Test Test/HelloWorld2&lt;br /&gt;Hello World 2&lt;br /&gt;[oracle@sracanov-au2 ~]$ loadjava -u scott/tiger -jarsasdbobjects -prependjarnames Test/HelloWorld2.java&lt;br /&gt;[oracle@sracanov-au2 ~]$ sqlplus scott/tiger&lt;br /&gt;&lt;br /&gt;SQL*Plus: Release 11.2.0.2.0 Production on Wed Sep 7 14:07:30 2011&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2010, Oracle.&amp;nbsp; All rights reserved.&lt;br /&gt;&lt;br /&gt;Connected to:&lt;br /&gt;&lt;br /&gt;Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production&lt;br /&gt;&lt;br /&gt;With the Partitioning, OLAP, Data Mining and Real Application Testing options&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; CREATE OR REPLACE FUNCTION HW RETURN VARCHAR2 as LANGUAGE JAVA NAME 'Test.HelloWorld2.getHello() return String';&lt;br /&gt;&lt;br /&gt;&amp;nbsp;2&amp;nbsp; /&lt;br /&gt;&lt;br /&gt;Function created.&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; select HW() from dual;&lt;br /&gt;&lt;br /&gt;HW2()&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Hello World 2 !!!&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; @java_objects.sql&lt;br /&gt;&lt;br /&gt;OBJECT_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OBJECT_TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STATUS&lt;br /&gt;&lt;br /&gt;------------------------------ --------------- -------&lt;br /&gt;&lt;br /&gt;HelloWorld1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JAVA CLASS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VALID&lt;br /&gt;Test/HelloWorld2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JAVA CLASS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VALID&lt;br /&gt;HelloWorld1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JAVA SOURCE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VALID&lt;br /&gt;Test/HelloWorld2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JAVA SOURCE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VALID&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; exec dbms_java.dropjava('Test/HelloWorld2');&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; @java_objects.sql&lt;br /&gt;&lt;br /&gt;OBJECT_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OBJECT_TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STATUS&lt;br /&gt;&lt;br /&gt;------------------------------ --------------- -------&lt;br /&gt;&lt;br /&gt;HelloWorld1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JAVA CLASS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VALID&lt;br /&gt;HelloWorld1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JAVA SOURCE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VALID&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; exec dbms_java.dropjava('HelloWorld1');&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; exit&lt;br /&gt;&lt;br /&gt;Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production&lt;br /&gt;&lt;br /&gt;With the Partitioning, OLAP, Data Mining and Real Application Testing options&lt;br /&gt;&lt;br /&gt;[oracle@sracanov-au2 ~]$ cat &amp;gt; Manifest.txt&lt;br /&gt;Main-Class: Test.HelloWorld2&lt;br /&gt;Quit&lt;br /&gt;[oracle@sracanov-au2 ~]$ jar cvfm Test.jar Manifest.txt ./Test/*class&lt;br /&gt;adding: META-INF/ (in=0) (out=0) (stored 0%)&lt;br /&gt;adding: META-INF/MANIFEST.MF (in=29) (out=31) (deflated -6%)&lt;br /&gt;adding: Test/HelloWorld2.class (in=594) (out=355) (deflated 40%)&lt;br /&gt;Total:&lt;br /&gt;------&lt;br /&gt;(in = 623) (out = 738) (deflated -18%)&lt;br /&gt;[oracle@sracanov-au2 ~]$ java -jar Test.jar&lt;br /&gt;Hello World 2&lt;br /&gt;[oracle@sracanov-au2 ~]$ loadjava -u scott/tiger Test.jar&lt;br /&gt;[oracle@sracanov-au2 ~]$ sqlplus scott/tiger&lt;br /&gt;&lt;br /&gt;SQL*Plus: Release 11.2.0.2.0 Production on Thu Sep 8 10:02:16 2011&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2010, Oracle.&amp;nbsp; All rights reserved.&lt;br /&gt;&lt;br /&gt;Connected to:&lt;br /&gt;&lt;br /&gt;Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production&lt;br /&gt;&lt;br /&gt;With the Partitioning, OLAP, Data Mining and Real Application Testing options&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; @java_objects&lt;br /&gt;&lt;br /&gt;OBJECT_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OBJECT_TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STATUS&lt;br /&gt;&lt;br /&gt;------------------------------ --------------- -------&lt;br /&gt;&lt;br /&gt;Test/HelloWorld2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JAVA CLASS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INVALID&lt;br /&gt;META-INF/MANIFEST.MF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JAVA RESOURCE&amp;nbsp;&amp;nbsp; VALID&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; CREATE OR REPLACE FUNCTION HW RETURN VARCHAR2 as LANGUAGE JAVA NAME 'Test/HelloWorld2.getHello() return String';&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 2&amp;nbsp; /&lt;br /&gt;&lt;br /&gt;Function created.&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; select HW() from dual;&lt;br /&gt;&lt;br /&gt;HW()&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Hello World 2 !!!&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; exit&lt;br /&gt;&lt;br /&gt;Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production&lt;br /&gt;&lt;br /&gt;With the Partitioning, OLAP, Data Mining and Real Application Testing options&lt;br /&gt;&lt;br /&gt;[oracle@sracanov-au2 ~]$ dropjava -u scott/tiger Test.jar&lt;br /&gt;[oracle@sracanov-au2 ~]$ loadjava -u scott/tiger -jarsasdbobjects -prependjarnames Test.jar&lt;br /&gt;[oracle@sracanov-au2 ~]$ sqlplus scott/tiger&lt;br /&gt;&lt;br /&gt;SQL*Plus: Release 11.2.0.2.0 Production on Mon Sep 12 10:33:50 2011&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2010, Oracle.&amp;nbsp; All rights reserved.&lt;br /&gt;&lt;br /&gt;Connected to:&lt;br /&gt;&lt;br /&gt;Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production&lt;br /&gt;&lt;br /&gt;With the Partitioning, OLAP, Data Mining and Real Application Testing options&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; @java_objects&lt;br /&gt;&lt;br /&gt;OBJECT_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OBJECT_TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STATUS&lt;br /&gt;&lt;br /&gt;------------------------------ --------------- -------&lt;br /&gt;&lt;br /&gt;Test.jar///Test/HelloWorld2&amp;nbsp;&amp;nbsp;&amp;nbsp; JAVA CLASS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INVALID&lt;br /&gt;/233d8437_MANIFESTMF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JAVA RESOURCE&amp;nbsp;&amp;nbsp; VALID&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; CREATE OR REPLACE FUNCTION HW RETURN VARCHAR2 as LANGUAGE JAVA NAME 'Test.jar///Test/HelloWorld2.getHello() return String';&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 2&amp;nbsp; /&lt;br /&gt;&lt;br /&gt;Function created.&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; select HW() from dual;&lt;br /&gt;&lt;br /&gt;HW()&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Hello World 2 !!!&lt;br /&gt;&lt;br /&gt;SQL&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note: I also used the parameters to load an individual class here which is not necessary. So '-jarsasdbobjects -prependjarnames' or 'loadjava' does not do any parsing on the file type.i.e.&lt;br /&gt;&lt;br /&gt;[oracle@sracanov-au2 ~]$ cat &amp;gt; somefile&lt;br /&gt;blah blah&lt;br /&gt;Quit&lt;br /&gt;[oracle@sracanov-au2 ~]$ loadjava -u scott/tiger -jarsasdbobjects -prependjarnames somefile&lt;br /&gt;[oracle@sracanov-au2 ~]$ &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-6739727802934761729?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/6739727802934761729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=6739727802934761729' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/6739727802934761729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/6739727802934761729'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2011/09/using-jarasresource-prependjarnames.html' title='Using &apos;-jarsasdbobjects -prependjarnames&apos; parameters and calling the loaded class from a Java Stored Procedure'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-662326784395009103</id><published>2011-03-22T09:48:00.008+11:00</published><updated>2011-09-12T12:11:16.543+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><title type='text'>How to find the version of ADF libraries installed on WLS 11g</title><content type='html'>If I log into the WLS console I can see the ADF runtime libraries are installed. i.e. adf.oracle.domain(...) However I don't know which version of ADF is installed.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-dYVCRC8nXN0/TYfXCs6sNSI/AAAAAAAAAGk/nsg47aTQu48/s1600/WLS.Console.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5586670304193426722" src="http://4.bp.blogspot.com/-dYVCRC8nXN0/TYfXCs6sNSI/AAAAAAAAAGk/nsg47aTQu48/s400/WLS.Console.jpg" style="cursor: hand; cursor: pointer; height: 258px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;From the command line, I can run the following to find the version details:&lt;br /&gt;&lt;br /&gt;[oracle@sracanov-au4 ~]$ cd $ORACLE_HOME&lt;br /&gt;[oracle@sracanov-au4 10.3.4.0]$ find . -name adf-share-support.jar -print&lt;br /&gt;./oracle_common/modules/oracle.adf.share_11.1.1/adf-share-support.jar&lt;br /&gt;[oracle@sracanov-au4 10.3.4.0]$ mkdir ~/check-adf&lt;br /&gt;[oracle@sracanov-au4 10.3.4.0]$ cp ./oracle_common/modules/oracle.adf.share_11.1.1/adf-share-support.jar ~/check-adf&lt;br /&gt;[oracle@sracanov-au4 10.3.4.0]$ cd ~/check-adf&lt;br /&gt;[oracle@sracanov-au4 check-adf]$ jar -xf adf-share-support.jar&lt;br /&gt;[oracle@sracanov-au4 check-adf]$ cat META-INF/MANIFEST.MF&lt;br /&gt;Manifest-Version: 1.0&lt;br /&gt;Ant-Version: Apache Ant 1.7.0RC1&lt;br /&gt;Created-By: 17.0-b17 (Sun Microsystems Inc.)&lt;br /&gt;Oracle-Version: 11.1.1.4.37.59.23&lt;br /&gt;Oracle-Label: JDEVADF_11.1.1.4.0_GENERIC_101227.1736.5923&lt;br /&gt;Oracle-Builder: Official Builder&lt;br /&gt;Oracle-BuildSystem: Linux - java - 1.6.0_21-b51&lt;br /&gt;Oracle-BuildTimestamp: 2010-12-27 08:47:35 -0800&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-662326784395009103?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/662326784395009103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=662326784395009103' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/662326784395009103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/662326784395009103'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2011/03/how-to-find-adf-version-running-in-wls.html' title='How to find the version of ADF libraries installed on WLS 11g'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-dYVCRC8nXN0/TYfXCs6sNSI/AAAAAAAAAGk/nsg47aTQu48/s72-c/WLS.Console.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-2346222102334503269</id><published>2011-01-24T10:34:00.007+11:00</published><updated>2011-01-24T10:43:39.509+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JDBC'/><title type='text'>Inserting large XMLTYPE</title><content type='html'>When inserting large XMLTYPE, I am left with the following error:&lt;br /&gt;&lt;pre name="code" class="xml"&gt;&lt;br /&gt;java.sql.SQLException: ORA-01461: can bind a LONG value only for insert into a LONG column&lt;br /&gt; &lt;br /&gt; at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:113)&lt;br /&gt; at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)&lt;br /&gt; at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)&lt;br /&gt; at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:754)&lt;br /&gt; at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:219)&lt;br /&gt; at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:972)&lt;br /&gt; at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1192)&lt;br /&gt; at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3415)&lt;br /&gt; at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3460)&lt;br /&gt; at InsertXML.insertXMLType(InsertXML.java:47)&lt;br /&gt; at InsertXML.main(InsertXML.java:93)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I found 2 ways to get around this problem.&lt;br /&gt;&lt;br /&gt;1. XMLType are opaque types, so I should be using oracle.xdb.XMLType. So my code should look something like:&lt;br /&gt;&lt;pre name="code" class="java"&gt;&lt;br /&gt; XMLType xml;&lt;br /&gt; byte[] byteBuffer = xmlDetails.toString().getBytes();&lt;br /&gt; InputStream is = new ByteArrayInputStream(byteBuffer);&lt;br /&gt; xml = XMLType.createXML(connection,is); &lt;br /&gt; pstmt.setObject(1,xml);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;2. In Oracle JDBC 11.2.0.2. (Not implemented in 11.2.0.1) and using JDK 1.6 (utilising JDBC 4.0) we can use SQLXML Type - java.sql.SQLXML&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download.oracle.com/docs/cd/E11882_01/java.112/e16548/jdbcvers.htm#BABGHBCC"&gt;http://download.oracle.com/docs/cd/E11882_01/java.112/e16548/jdbcvers.htm#BABGHBCC&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So the code should look something like:&lt;br /&gt;&lt;pre name="code" class="java"&gt;&lt;br /&gt; SQLXML x = conn.createSQLXML();&lt;br /&gt; x.setString(xmlDetails.toString());&lt;br /&gt; pstmt.setSQLXML(1, x);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The second option here is preferred and moving forward.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-2346222102334503269?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/2346222102334503269/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=2346222102334503269' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/2346222102334503269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/2346222102334503269'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2011/01/inserting-large-xmltype.html' title='Inserting large XMLTYPE'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-1587963094754038438</id><published>2010-09-07T10:57:00.007+10:00</published><updated>2010-09-07T13:36:00.507+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OC4J'/><title type='text'>Configuring OC4J HTTP Debug Logs.</title><content type='html'>When I try the following http debug parameters in opmn for my oc4j instance I get no logs after restarting instance:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="xml"&gt;&lt;br /&gt;...&lt;br /&gt;&lt;ias-component id="default_group"&gt;&lt;br /&gt;  &lt;process-type id="home" module-id="OC4J" status="enabled"&gt;&lt;br /&gt;    &lt;module-data&gt;&lt;br /&gt;      &lt;category id="start-parameters"&gt;&lt;br /&gt;        &lt;data id="java-options" value="-Doc4j.formauth.redirect=true&lt;br /&gt;         -Dhttp.session.debug=true&lt;br /&gt;         -Dhttp.request.debug=true&lt;br /&gt;         -Dhttp.error.debug=true&lt;br /&gt;         -Dhttp.method.trace.allow=true"/&gt;&lt;br /&gt;      &lt;/category&gt;&lt;br /&gt;      ...&lt;br /&gt;    &lt;/module-data&gt;&lt;br /&gt;  &lt;/process-type&gt;&lt;br /&gt;&lt;/ias-component&gt;&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://download-west.oracle.com/docs/cd/B32110_01/web.1013/b28950/sysprops.htm#CHDFCCBF"&gt;http://download-west.oracle.com/docs/cd/B32110_01/web.1013/b28950/sysprops.htm#CHDFCCBF&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download-west.oracle.com/docs/cd/B32110_01/web.1013/b28950/sysprops.htm#CHDBDBII"&gt;http://download-west.oracle.com/docs/cd/B32110_01/web.1013/b28950/sysprops.htm#CHDBDBII&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is because the logging level has not been set. So I now add "oracle.oc4j.trace.finest=com.evermind.server.http" and restart the instance and then I see the logging.&lt;br /&gt;&lt;pre name="code" class="xml"&gt;&lt;br /&gt;...&lt;br /&gt;&lt;ias-component id="default_group"&gt;&lt;br /&gt;  &lt;process-type id="home" module-id="OC4J" status="enabled"&gt;&lt;br /&gt;    &lt;module-data&gt;&lt;br /&gt;      &lt;category id="start-parameters"&gt;&lt;br /&gt;        &lt;data id="java-options" value="-Doc4j.formauth.redirect=true&lt;br /&gt;         -Doracle.oc4j.trace.finest=com.evermind.server.http&lt;br /&gt;         -Dhttp.session.debug=true&lt;br /&gt;         -Dhttp.request.debug=true&lt;br /&gt;         -Dhttp.error.debug=true&lt;br /&gt;         -Dhttp.method.trace.allow=true"/&gt;&lt;br /&gt;      &lt;/category&gt;&lt;br /&gt;      ...&lt;br /&gt;    &lt;/module-data&gt;&lt;br /&gt;  &lt;/process-type&gt;&lt;br /&gt;&lt;/ias-component&gt;&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-1587963094754038438?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/1587963094754038438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=1587963094754038438' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/1587963094754038438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/1587963094754038438'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2010/09/configuring-oc4j-http-debug-logs.html' title='Configuring OC4J HTTP Debug Logs.'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-4714774279646070967</id><published>2010-06-29T10:19:00.008+10:00</published><updated>2010-06-29T11:21:49.744+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JDev'/><title type='text'>Increasing Xmx on Jdev</title><content type='html'>I am trying to increase the Xmx value to 1500M on JDev. However when I do so, I get the "&lt;span style="font-weight:bold;"&gt;Error occurred during initialization of VM Could not reserve enough space for object heap&lt;/span&gt;" error. I am on Windows XP and have 4GB of RAM. And have plenty of available RAM.&lt;br /&gt;&lt;font color="blue"&gt;&lt;pre&gt;&lt;br /&gt;[sracanov@sracanov-au D]$ jdev -verbose&lt;br /&gt;savedArg0 = D:\Oracle\jdev\111130-prod\jdeveloper\jdev\bin\jdev.exe&lt;br /&gt;VM to launch D:\Oracle\jdev\111130-prod\jdk160_18\jre\bin\client\jvm.dll&lt;br /&gt;Restarting the launcher with the 64bit version&lt;br /&gt;Reading exe header from jvm.dll, Machine=14c&lt;br /&gt;JNI Option: -Xmx1500M&lt;br /&gt;JNI Option: -Xverify:none&lt;br /&gt;JNI Option: -XX:MaxPermSize=256M&lt;br /&gt;JNI Option: -Xbootclasspath/p:../lib/lwawt.jar&lt;br /&gt;JNI Option: -Dsun.awt.keepWorkingSetOnMinimize=true&lt;br /&gt;JNI Option: -Dsun.java2d.noddraw=true&lt;br /&gt;JNI Option: -XX:+HeapDumpOnOutOfMemoryError&lt;br /&gt;JNI Option: -Doracle.jdeveloper.webservice.showAllOwsmPolicyTypes=false&lt;br /&gt;JNI Option: -Doracle.jdeveloper.webservice.hidePropertyOverride=false&lt;br /&gt;JNI Option: -Dsun.awt.disablegrab=true&lt;br /&gt;JNI Option: -Dide.startingArg0=D:\Oracle\jdev\111130-prod\jdeveloper\jdev\bin\jdev.exe&lt;br /&gt;JNI Option: -Dide.startingArg1=-verbose&lt;br /&gt;JNI Option: -Dide.launcherProcessId=2516&lt;br /&gt;JNI Option: -Dide.config_pathname=D:\Oracle\jdev\111130-prod\jdeveloper\jdev\bin\jdev.conf&lt;br /&gt;JNI Option: -Dide.startingcwd=D:\Oracle\jdev\111130-prod\jdeveloper\jdev\bin&lt;br /&gt;JNI Option: -Dide.shell.enableFileTypeAssociation=D:\Oracle\jdev\111130-prod\jdeveloper\jdev\bin\jdev.exe&lt;br /&gt;JNI Option: -Dide.pref.dir.base=C:\Documents and Settings\sracanov\Application Data&lt;br /&gt;JNI Option: -Dide.work.dir.base=D:\My Contents&lt;br /&gt;JNI Option: -Djava.class.path=..\..\ide\lib\ide-boot.jar&lt;br /&gt;JVM path is D:\Oracle\jdev\111130-prod\jdk160_18\jre\bin\client\jvm.dll&lt;br /&gt;Error occurred during initialization of VM&lt;br /&gt;Could not reserve enough space for object heap&lt;br /&gt;&lt;/pre&gt;&lt;/font&gt;&lt;br /&gt;Sun JDK needs a contiguous address space to allocate memory.&lt;br /&gt;On the other hand, JRockit does not need a contiguous address space.&lt;br /&gt;&lt;br /&gt;So, if I use JRockit as JDK, and then run JDeveloper with -Xmx1500M it works.&lt;br /&gt;&lt;font color="blue"&gt;&lt;pre&gt;&lt;br /&gt;[sracanov@sracanov-au D]$ jdev -verbose&lt;br /&gt;savedArg0 = D:\Oracle\jdev\111130-prod\jdeveloper\jdev\bin\jdev.exe&lt;br /&gt;VM to launch D:\Oracle\appserver\owls\10.3.1.0\jrockit_160_05_R27.6.2-20\jre\bin\jrockit\jvm.dll&lt;br /&gt;Restarting the launcher with the 64bit version&lt;br /&gt;Reading exe header from jvm.dll, Machine=14c&lt;br /&gt;JNI Option: -Xmx1500M&lt;br /&gt;JNI Option: -Xverify:none&lt;br /&gt;JNI Option: -XX:MaxPermSize=256M&lt;br /&gt;JNI Option: -Xbootclasspath/p:../lib/lwawt.jar&lt;br /&gt;JNI Option: -Dsun.awt.keepWorkingSetOnMinimize=true&lt;br /&gt;JNI Option: -Dsun.java2d.noddraw=true&lt;br /&gt;JNI Option: -XX:+HeapDumpOnOutOfMemoryError&lt;br /&gt;JNI Option: -Doracle.jdeveloper.webservice.showAllOwsmPolicyTypes=false&lt;br /&gt;JNI Option: -Doracle.jdeveloper.webservice.hidePropertyOverride=false&lt;br /&gt;JNI Option: -Dsun.awt.disablegrab=true&lt;br /&gt;JNI Option: -Dide.startingArg0=D:\Oracle\jdev\111130-prod\jdeveloper\jdev\bin\jdev.exe&lt;br /&gt;JNI Option: -Dide.startingArg1=-verbose&lt;br /&gt;JNI Option: -Dide.launcherProcessId=2400&lt;br /&gt;JNI Option: -Dide.config_pathname=D:\Oracle\jdev\111130-prod\jdeveloper\jdev\bin\jdev.conf&lt;br /&gt;JNI Option: -Dide.startingcwd=D:\Oracle\jdev\111130-prod\jdeveloper\jdev\bin&lt;br /&gt;JNI Option: -Dide.shell.enableFileTypeAssociation=D:\Oracle\jdev\111130-prod\jdeveloper\jdev\bin\jdev.exe&lt;br /&gt;JNI Option: -Dide.pref.dir.base=C:\Documents and Settings\sracanov\Application Data&lt;br /&gt;JNI Option: -Dide.work.dir.base=D:\My Contents&lt;br /&gt;JNI Option: -Djava.class.path=..\..\ide\lib\ide-boot.jar&lt;br /&gt;JVM path is D:\Oracle\appserver\owls\10.3.1.0\jrockit_160_05_R27.6.2-20\jre\bin\jrockit\jvm.dll&lt;br /&gt;[WARN ] -XX:MaxPermSize=256M is not a valid VM option. Ignoring&lt;br /&gt;[WARN ] -XX:+HeapDumpOnOutOfMemoryError is not a valid VM option. Ignoring&lt;br /&gt;log4j:WARN No appenders could be found for logger (org.apache.commons.httpclient.HttpClient).&lt;br /&gt;log4j:WARN Please initialize the log4j system properly.&lt;br /&gt;&lt;/pre&gt;&lt;/font&gt;&lt;br /&gt;Relevant Links:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4358809"&gt;http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4358809&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/docs/hotspot/HotSpotFAQ.html#gc_heap_32bit"&gt;http://java.sun.com/docs/hotspot/HotSpotFAQ.html#gc_heap_32bit&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.oracle.com/jrockit/2008/09/how_to_get_almost_3_gb_heap_on_windows.html"&gt;http://blogs.oracle.com/jrockit/2008/09/how_to_get_almost_3_gb_heap_on_windows.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-4714774279646070967?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/4714774279646070967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=4714774279646070967' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/4714774279646070967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/4714774279646070967'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2010/06/increasing-xmx-on-jdev.html' title='Increasing Xmx on Jdev'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-3467115632803819369</id><published>2010-05-28T13:25:00.021+10:00</published><updated>2010-05-28T14:40:28.225+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JDBC'/><title type='text'>Returning values from Nested Tables using JDBC</title><content type='html'>When running a select statement in sqlplus on a nested tables we get the results returned. However the same can not be said when running the same statement through JDBC. He is an example of returning values from a nested table with JDBC.&lt;br /&gt;&lt;br /&gt;1. Here's how the sql script looks like to create the type and tables.&lt;br /&gt;&lt;pre name="code" class="sql"&gt;&lt;br /&gt;drop table person;&lt;br /&gt;drop type nested_addresses;&lt;br /&gt;drop type address;&lt;br /&gt;&lt;br /&gt;create or replace type address as object(&lt;br /&gt; street varchar2(50),&lt;br /&gt; city varchar2(20),&lt;br /&gt; postcode varchar2(8),&lt;br /&gt; state varchar(8))&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;create or replace type nested_addresses as table of address&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;create table person (&lt;br /&gt; firstname varchar(20),&lt;br /&gt; lastname varchar(20),&lt;br /&gt; address_list nested_addresses&lt;br /&gt; ) nested table address_list store as person_addresses&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;insert into person values ('Fred','Flinstone', nested_addresses(address('345 Cave Stone Road', 'Bedrock', 'BR345','BR'),address('1313 Cobblestone Way', 'Bedville', 'BV1313','BV')))&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;commit&lt;br /&gt;/&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;2. If I now run the select statement we can see the results:&lt;br /&gt;&lt;font color="blue"&gt;&lt;pre&gt;&lt;br /&gt;scott@orcl&gt; set head on feedback on&lt;br /&gt;scott@orcl&gt; set pages    999&lt;br /&gt;scott@orcl&gt; set linesize 120&lt;br /&gt;scott@orcl&gt; col firsname format a20&lt;br /&gt;scott@orcl&gt; col lastname format a20&lt;br /&gt;scott@orcl&gt; col address_list format a50&lt;br /&gt;scott@orcl&gt; select firstname, lastname, address_list from person;&lt;br /&gt;&lt;br /&gt;FIRSTNAME            LASTNAME             ADDRESS_LIST(STREET, CITY, POSTCODE, STATE)&lt;br /&gt;-------------------- -------------------- --------------------------------------------------&lt;br /&gt;Fred                 Flinstone            NESTED_ADDRESSES(ADDRESS('345 Cave Stone Road', 'B&lt;br /&gt;                                          edrock', 'BR345', 'BR'), ADDRESS('1313 Cobblestone&lt;br /&gt;                                           Way', 'Bedville', 'BV1313', 'BV'))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1 row selected.&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/font&gt;&lt;br /&gt;3. However if I now run the same select query, through a java client using JDBC we will get null values returned.&lt;br /&gt;&lt;pre name="code" class="java"&gt;&lt;br /&gt;import java.sql.*;&lt;br /&gt;&lt;br /&gt;public class Person {&lt;br /&gt;    public static void main(String[] args) throws SQLException, ClassNotFoundException {&lt;br /&gt;&lt;br /&gt;        // connection parameters&lt;br /&gt;        String dbUrl = "jdbc:oracle:thin:@sracanov-au2.au.oracle.com:1522:orcl";&lt;br /&gt;        String dbUser = "scott";&lt;br /&gt;        String dbPass = "tiger";&lt;br /&gt;&lt;br /&gt;        // load the driver&lt;br /&gt;        Class.forName("oracle.jdbc.driver.OracleDriver");&lt;br /&gt;&lt;br /&gt;        // create connection&lt;br /&gt;        Connection con = DriverManager.getConnection(dbUrl, dbUser, dbPass);&lt;br /&gt;&lt;br /&gt;        // query the table&lt;br /&gt;        Statement s = con.createStatement();&lt;br /&gt;        String query = "select firstname, lastname, address_list from person";&lt;br /&gt;        ResultSet res = s.executeQuery(query);&lt;br /&gt;&lt;br /&gt;        // look at the result set&lt;br /&gt;        res.next();&lt;br /&gt;        System.out.println("First Name: " + res.getString(1));&lt;br /&gt;        System.out.println("Last Name: " + res.getString(2));&lt;br /&gt;        System.out.println("Address: " + res.getString(3));&lt;br /&gt;&lt;br /&gt;        // close connection&lt;br /&gt;        con.close();&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;font color="blue"&gt;&lt;pre&gt;&lt;br /&gt;[sracanov@sracanov-au C]$ java -version&lt;br /&gt;java version "1.6.0_16"&lt;br /&gt;Java(TM) SE Runtime Environment (build 1.6.0_16-b01)&lt;br /&gt;Java HotSpot(TM) Client VM (build 14.2-b01, mixed mode, sharing)&lt;br /&gt;&lt;br /&gt;[sracanov@sracanov-au C]$ javac -cp .;"D:\My Contents\My Software\Oracle\JDBC\Drivers\11.2.0.1.0\ojdbc6.jar" Person.java&lt;br /&gt;&lt;br /&gt;[sracanov@sracanov-au C]$ java -cp .;"D:\My Contents\My Software\Oracle\JDBC\Drivers\11.2.0.1.0\ojdbc6.jar" Person&lt;br /&gt;First Name: Fred&lt;br /&gt;Last Name: Flinstone&lt;br /&gt;Address: null&lt;br /&gt;&lt;/pre&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;This is because we need to get a collection of objects and handle them in java by returning arrays elements. The correct way to return this is:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;&lt;br /&gt;import java.sql.*;&lt;br /&gt;&lt;br /&gt;public class Person1 {&lt;br /&gt;        public static void main(String[] args) throws SQLException,&lt;br /&gt;                        ClassNotFoundException {&lt;br /&gt;&lt;br /&gt;                // connection parameters&lt;br /&gt;                String dbUrl = "jdbc:oracle:thin:@sracanov-au2.au.oracle.com:1522:orcl";&lt;br /&gt;                String dbUser = "scott";&lt;br /&gt;                String dbPass = "tiger";&lt;br /&gt;&lt;br /&gt;                // load the driver&lt;br /&gt;                Class.forName("oracle.jdbc.driver.OracleDriver");&lt;br /&gt;&lt;br /&gt;                // create connection&lt;br /&gt;                Connection con = DriverManager.getConnection(dbUrl, dbUser, dbPass);&lt;br /&gt;&lt;br /&gt;                // query the table&lt;br /&gt;                Statement s = con.createStatement();&lt;br /&gt;                String query = "select firstname, lastname, address_list from person";&lt;br /&gt;                ResultSet res = s.executeQuery(query);&lt;br /&gt;&lt;br /&gt;                // look at the result set&lt;br /&gt;                while (res.next()) {&lt;br /&gt;                        int addresscounter=1;&lt;br /&gt;                        System.out.println("First Name: " + res.getString(1));&lt;br /&gt;                        System.out.println("Last Name: " + res.getString(2));&lt;br /&gt;                        Array array = res.getArray(3);&lt;br /&gt;                        Object[] address_list = (Object[]) array.getArray();&lt;br /&gt;                        for (int i = 0; i &lt; address_list.length; i++) {&lt;br /&gt;                           Struct address = (Struct) address_list[i];&lt;br /&gt;                           Object[] attrib = address.getAttributes();&lt;br /&gt;                           for (int j = 0; j &lt; attrib.length; j++) {&lt;br /&gt;                              System.out.println("Address " + addresscounter + ": " + attrib[j]);&lt;br /&gt;                           }&lt;br /&gt;                           addresscounter++;&lt;br /&gt;                        }&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;                // close connection&lt;br /&gt;                con.close();&lt;br /&gt;        }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;font color="blue"&gt;&lt;pre&gt;&lt;br /&gt;[sracanov@sracanov-au C]$ javac -cp .;"D:\My Contents\My Software\Oracle\JDBC\Drivers\11.2.0.1.0\ojdbc6.jar" Person1.java&lt;br /&gt;&lt;br /&gt;[sracanov@sracanov-au C]$ java -cp .;"D:\My Contents\My Software\Oracle\JDBC\Drivers\11.2.0.1.0\ojdbc6.jar" Person1&lt;br /&gt;First Name: Fred&lt;br /&gt;Last Name: Flinstone&lt;br /&gt;Address 1: 345 Cave Stone Road&lt;br /&gt;Address 1: Bedrock&lt;br /&gt;Address 1: BR345&lt;br /&gt;Address 1: BR&lt;br /&gt;Address 2: 1313 Cobblestone Way&lt;br /&gt;Address 2: Bedville&lt;br /&gt;Address 2: BV1313&lt;br /&gt;Address 2: BV&lt;br /&gt;&lt;/pre&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href='http://download.oracle.com/docs/cd/E11882_01/java.112/e10589/oraarr.htm#i1059642'&gt;http://download.oracle.com/docs/cd/E11882_01/java.112/e10589/oraarr.htm#i1059642&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-3467115632803819369?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/3467115632803819369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=3467115632803819369' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/3467115632803819369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/3467115632803819369'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2010/05/returning-values-from-nested-tables.html' title='Returning values from Nested Tables using JDBC'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-7090663267099539328</id><published>2010-05-17T11:52:00.015+10:00</published><updated>2010-05-18T13:50:50.434+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JDBC'/><category scheme='http://www.blogger.com/atom/ns#' term='Binding'/><title type='text'>Tracing the Bind Values</title><content type='html'>Created a simple example of how you can isolate and trace the bind variables for the records inserted and understand what to look for in the trace file.&lt;br /&gt;&lt;br /&gt;The table here consists of 3 columns. A varchar2, number and timestamp.&lt;br /&gt;&lt;br /&gt;The jdev 11113 workspace for this example is &lt;a href='http://www.mediafire.com/?zamwzmzzgoz'&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;When running the application, this following results are displayed:&lt;br /&gt;&lt;pre&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;=============&lt;br /&gt;Java Vendor is ... Sun Microsystems Inc.&lt;br /&gt;&lt;br /&gt;Java Version is  1.6.0_18&lt;br /&gt;&lt;br /&gt;=============&lt;br /&gt;Database Product Name is ... Oracle&lt;br /&gt;&lt;br /&gt;Database Product Version is  Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production&lt;br /&gt;With the Partitioning, OLAP and Data Mining options&lt;br /&gt;&lt;br /&gt;=============&lt;br /&gt;JDBC Driver Name is ........ Oracle JDBC driver&lt;br /&gt;&lt;br /&gt;JDBC Driver Version is ..... 11.1.0.7.0-Production&lt;br /&gt;&lt;br /&gt;=============&lt;br /&gt;Dropping/Creating table...&lt;br /&gt;&lt;br /&gt; execSQL() returning: 0 for SQL=DROP TABLE SCOTT.BIND_TEST&lt;br /&gt;&lt;br /&gt; execSQL() returning: 0 for SQL=CREATE TABLE SCOTT.BIND_TEST (VARCHAR_FIELD VARCHAR2(50), NO_FIELD NUMBER(2), TIMESTAMP_FIELD TIMESTAMP)&lt;br /&gt;Preparing stmt: INSERT INTO SCOTT.BIND_TEST (VARCHAR_FIELD, NO_FIELD, TIMESTAMP_FIELD) VALUES (?, ?, ?)&lt;br /&gt;Inserting ...&lt;br /&gt;Inserting Complete...&lt;br /&gt;DISPLAY...&lt;br /&gt;&lt;B&gt;test_string_0.8433509446104999 0 2010-05-17 11:35:46.328&lt;/B&gt;&lt;br /&gt;test_string_0.32801143775147246 1 2010-05-17 11:35:46.5&lt;br /&gt;test_string_0.6936132181788695 2 2010-05-17 11:35:46.515&lt;br /&gt;test_string_0.4458248593661084 3 2010-05-17 11:35:46.515&lt;br /&gt;test_string_0.8349244238371425 4 2010-05-17 11:35:46.515&lt;br /&gt;test_string_0.014215120763115707 5 2010-05-17 11:35:46.515&lt;br /&gt;test_string_0.7895349187550287 6 2010-05-17 11:35:46.515&lt;br /&gt;test_string_0.33693148690955965 7 2010-05-17 11:35:46.531&lt;br /&gt;test_string_0.60803516417148 8 2010-05-17 11:35:46.531&lt;br /&gt;test_string_0.5201490476224547 9 2010-05-17 11:35:46.531&lt;br /&gt;&lt;br /&gt;Show Trace File...&lt;br /&gt;TRACE FILE NAME : /u01/programs/oracle/product/10.2.0/db_1/admin/orcl/udump/orcl_ora_16541.trc&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Open the trace file I can see the following:&lt;br /&gt;&lt;pre&gt;&lt;span style="color:black;"&gt;&lt;br /&gt;...&lt;br /&gt;PARSING IN &lt;B&gt;CURSOR #8&lt;/B&gt; len=90 dep=0 uid=5 oct=2 lid=5 tim=1244198234987514 hv=896770016 ad='2b9e3258'&lt;br /&gt;INSERT INTO SCOTT.BIND_TEST (VARCHAR_FIELD, NO_FIELD, TIMESTAMP_FIELD) VALUES (:1, :2, :3)&lt;br /&gt;END OF STMT&lt;br /&gt;PARSE #8:c=2000,e=2579,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=1,tim=1244198234987507&lt;br /&gt;=====================&lt;br /&gt;PARSING IN CURSOR #12 len=227 dep=1 uid=0 oct=3 lid=0 tim=1244198235054488 hv=2190775527 ad='2f56e994'&lt;br /&gt;select u.name,o.name, t.update$, t.insert$, t.delete$, t.enabled  from obj$ o,user$ u,trigger$ t  where t.baseobject=:1 and t.obj#=o.obj# and o.owner#=u.user#  and bitand(property,16)=0 and bitand(property,8)=0  order by o.obj#&lt;br /&gt;END OF STMT&lt;br /&gt;PARSE #12:c=3000,e=2745,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=4,tim=1244198235054480&lt;br /&gt;BINDS #12:&lt;br /&gt;kkscoacd&lt;br /&gt; Bind#0&lt;br /&gt;  oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00&lt;br /&gt;  oacflg=00 fl2=0001 frm=00 csi=00 siz=24 off=0&lt;br /&gt;  kxsbbbfp=b7234fe8  bln=22  avl=04  flg=05&lt;br /&gt;  value=150767&lt;br /&gt;EXEC #12:c=5999,e=73474,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=4,tim=1244198235128125&lt;br /&gt;FETCH #12:c=0,e=59,p=0,cr=1,cu=0,mis=0,r=0,dep=1,og=4,tim=1244198235128225&lt;br /&gt;STAT #12 id=1 cnt=0 pid=0 pos=1 obj=0 op='SORT ORDER BY (cr=1 pr=0 pw=0 time=103 us)'&lt;br /&gt;STAT #12 id=2 cnt=0 pid=1 pos=1 obj=0 op='NESTED LOOPS  (cr=1 pr=0 pw=0 time=77 us)'&lt;br /&gt;STAT #12 id=3 cnt=0 pid=2 pos=1 obj=0 op='NESTED LOOPS  (cr=1 pr=0 pw=0 time=69 us)'&lt;br /&gt;STAT #12 id=4 cnt=0 pid=3 pos=1 obj=81 op='TABLE ACCESS BY INDEX ROWID TRIGGER$ (cr=1 pr=0 pw=0 time=64 us)'&lt;br /&gt;STAT #12 id=5 cnt=0 pid=4 pos=1 obj=125 op='INDEX RANGE SCAN I_TRIGGER1 (cr=1 pr=0 pw=0 time=35 us)'&lt;br /&gt;STAT #12 id=6 cnt=0 pid=3 pos=2 obj=18 op='TABLE ACCESS BY INDEX ROWID OBJ$ (cr=0 pr=0 pw=0 time=0 us)'&lt;br /&gt;STAT #12 id=7 cnt=0 pid=6 pos=1 obj=36 op='INDEX UNIQUE SCAN I_OBJ1 (cr=0 pr=0 pw=0 time=0 us)'&lt;br /&gt;STAT #12 id=8 cnt=0 pid=2 pos=2 obj=22 op='TABLE ACCESS CLUSTER USER$ (cr=0 pr=0 pw=0 time=0 us)'&lt;br /&gt;STAT #12 id=9 cnt=0 pid=8 pos=1 obj=11 op='INDEX UNIQUE SCAN I_USER# (cr=0 pr=0 pw=0 time=0 us)'&lt;br /&gt;&lt;b&gt;BINDS #8:&lt;/B&gt;&lt;br /&gt;kkscoacd&lt;br /&gt; Bind#0&lt;br /&gt;  oacdty=01 mxl=32(30) mxlc=00 mal=00 scl=00 pre=00&lt;br /&gt;  oacflg=03 fl2=1000010 frm=01 csi=31 siz=68 off=0&lt;br /&gt;  kxsbbbfp=b722aaec  bln=32  avl=30  flg=05&lt;br /&gt;  &lt;B&gt;value="test_string_0.8433509446104999"&lt;/B&gt;&lt;br /&gt; Bind#1&lt;br /&gt;  oacdty=02 mxl=22(22) mxlc=00 mal=00 scl=00 pre=00&lt;br /&gt;  oacflg=03 fl2=1000000 frm=01 csi=31 siz=0 off=32&lt;br /&gt;  kxsbbbfp=b722ab0c  bln=22  avl=01  flg=01&lt;br /&gt;  &lt;B&gt;value=0&lt;/B&gt;&lt;br /&gt; Bind#2&lt;br /&gt;  oacdty=180 mxl=11(11) mxlc=00 mal=00 scl=00 pre=00&lt;br /&gt;  oacflg=03 fl2=1000000 frm=01 csi=31 siz=0 off=56&lt;br /&gt;  kxsbbbfp=b722ab24  bln=11  avl=11  flg=01&lt;br /&gt;  &lt;B&gt;value=&lt;/B&gt;&lt;br /&gt;Dump of memory from 0xB722AB24 to 0xB722AB2F&lt;br /&gt;B722AB20          11056E78 132F240C 0000E28C      [xn...$/.....]&lt;br /&gt;EXEC #8:c=12998,e=101172,p=0,cr=2,cu=21,mis=1,r=1,dep=0,og=1,tim=1244198235152633&lt;br /&gt;XCTEND rlbk=0, rd_only=0&lt;br /&gt;...&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Here you can see the first insert query references "CURSOR #8" that will bind to "BINDS #8:" which shows the binding values:&lt;br /&gt;&lt;br /&gt;value="test_string_0.8433509446104999"&lt;br /&gt;value=0&lt;br /&gt;value=&lt;br /&gt;&lt;br /&gt;Timestamp is in hex format. You will to convert that yourself to find the value.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.oracle.com/page/Structure+of+an+Extended+SQL+Trace+file"&gt;http://wiki.oracle.com/page/Structure+of+an+Extended+SQL+Trace+file&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-7090663267099539328?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/7090663267099539328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=7090663267099539328' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/7090663267099539328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/7090663267099539328'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2010/05/tracing-bind-values.html' title='Tracing the Bind Values'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-5905344666804510937</id><published>2010-04-22T09:22:00.005+10:00</published><updated>2010-05-18T13:42:17.622+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><title type='text'>Creating a Custom ADF .JSPX Login Page</title><content type='html'>Note for myself to create a simple custom ADF login page with jspx.&lt;br /&gt;&lt;br /&gt;Create a new workspace by following the example shown here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/products/jdev/11/cuecards111/adf_set_29/ccset29_ALL.html"&gt;http://www.oracle.com/technology/products/jdev/11/cuecards111/adf_set_29/ccset29_ALL.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Once completing this, then go through the follow link &lt;a href="http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/adding_security.htm#BABDEICH"&gt;http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/adding_security.htm#BABDEICH&lt;/a&gt; to create the custom jspx page and backing bean to login into the application.&lt;br /&gt;&lt;br /&gt;The finished login will look something like this.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9rl0CtIbSrw/S8-J_iX0gGI/AAAAAAAAAGM/tr5OcQbQ8l4/s1600/login.screen.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 233px;" src="http://4.bp.blogspot.com/_9rl0CtIbSrw/S8-J_iX0gGI/AAAAAAAAAGM/tr5OcQbQ8l4/s400/login.screen.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5462736597675180130" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Download completed workspace from &lt;a href="http://www.mediafire.com/file/jfufr1yztjw/SecureApplication.zip"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-5905344666804510937?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/5905344666804510937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=5905344666804510937' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/5905344666804510937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/5905344666804510937'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2010/04/creating-custom-adf-jspx-login-page.html' title='Creating a Custom ADF .JSPX Login Page'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9rl0CtIbSrw/S8-J_iX0gGI/AAAAAAAAAGM/tr5OcQbQ8l4/s72-c/login.screen.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-7922527841072289450</id><published>2010-04-20T12:03:00.055+10:00</published><updated>2010-05-18T13:42:37.289+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Datasources'/><category scheme='http://www.blogger.com/atom/ns#' term='JDBC'/><title type='text'>Using Oracle 11.2g Data Encryption and Integrity Connection Pool in OAS10g</title><content type='html'>I haven't had the chance to write something for a while now. I was recently working on new feature with oracle advanced security data encryption and integrity using a JDBC connection pool. So I'll write my steps up of how I went about configuring this in OAS 10g.&lt;br /&gt;&lt;br /&gt;This setup allows for data encryption and integrity without the overhead of SSL.&lt;br /&gt;&lt;br /&gt;I used the following products to configure the steps detailed here:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;* Oracle Application Server 10.1.3.2.0&lt;br /&gt;* JDev 10.1.3.4.0&lt;br /&gt;* JDBC 11.2.0.1.0&lt;br /&gt;* Oracle Database 11.2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I am referencing these documentation for further details:&lt;br /&gt;&lt;br /&gt;Oracle® Database Advanced Security Administrator's Guide 11g Release 2 (11.2)&lt;br /&gt;Configuring Network Data Encryption and Integrity for Oracle Servers and Clients&lt;br /&gt;&lt;a href="http://download.oracle.com/docs/cd/E11882_01/network.112/e10746/asoconfg.htm#insertedID0"&gt;http://download.oracle.com/docs/cd/E11882_01/network.112/e10746/asoconfg.htm#insertedID0&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Oracle® Database JDBC Developer's Guide, 11g Release 2 (11.2)&lt;br /&gt;Support for Data Encryption and Integrity&lt;br /&gt;&lt;a href="http://download.oracle.com/docs/cd/E11882_01/java.112/e10589/clntsec.htm#EHAFHEIG"&gt;http://download.oracle.com/docs/cd/E11882_01/java.112/e10589/clntsec.htm#EHAFHEIG&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here are my complete steps:&lt;br /&gt;&lt;br /&gt;1. First follow the steps to configure the database: - &lt;a href="http://download.oracle.com/docs/cd/E11882_01/network.112/e10746/asoconfg.htm#i1006517"&gt;http://download.oracle.com/docs/cd/E11882_01/network.112/e10746/asoconfg.htm#i1006517&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Depending on your selection, your 'sqlnet.ora' file should look something like this when finished:&lt;br /&gt;&lt;pre&gt;&lt;span style="color:blue;"&gt;# sqlnet.ora Network Configuration File: /home/u01/app/oracle/product/11.2.0/db_1/network/admin/sqlnet.ora&lt;br /&gt;# Generated by Oracle configuration tools.&lt;br /&gt;&lt;br /&gt;SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER= (MD5)&lt;br /&gt;&lt;br /&gt;SQLNET.ENCRYPTION_SERVER = required&lt;br /&gt;&lt;br /&gt;NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)&lt;br /&gt;&lt;br /&gt;SQLNET.CRYPTO_SEED = 'example123456'&lt;br /&gt;&lt;br /&gt;SQLNET.ENCRYPTION_TYPES_SERVER= (RC4_256)&lt;br /&gt;&lt;br /&gt;ADR_BASE = /home/u01/app/oracle&lt;br /&gt;&lt;br /&gt;SQLNET.CRYPTO_CHECKSUM_SERVER = required&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;Once the steps have been completed, restart the listener and wait for the service to come back up.&lt;br /&gt;&lt;pre&gt;&lt;span style="color:blue;"&gt;[oracle@beast admin]$ lsnrctl stop&lt;br /&gt;&lt;br /&gt;LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 20-APR-2010 06:39:08&lt;br /&gt;&lt;br /&gt;Copyright (c) 1991, 2009, Oracle.  All rights reserved.&lt;br /&gt;&lt;br /&gt;Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1523)))&lt;br /&gt;The command completed successfully&lt;br /&gt;[oracle@beast admin]$ lsnrctl start&lt;br /&gt;&lt;br /&gt;LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 20-APR-2010 06:39:11&lt;br /&gt;&lt;br /&gt;Copyright (c) 1991, 2009, Oracle.  All rights reserved.&lt;br /&gt;&lt;br /&gt;Starting /home/u01/app/oracle/product/11.2.0/db_1/bin/tnslsnr: please wait...&lt;br /&gt;&lt;br /&gt;TNSLSNR for Linux: Version 11.2.0.1.0 - Production&lt;br /&gt;System parameter file is /home/u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora&lt;br /&gt;Log messages written to /home/u01/app/oracle/diag/tnslsnr/beast/listener/alert/log.xml&lt;br /&gt;Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1523)))&lt;br /&gt;Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=beast.au.oracle.com)(PORT=1523)))&lt;br /&gt;&lt;br /&gt;Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1523)))&lt;br /&gt;STATUS of the LISTENER&lt;br /&gt;------------------------&lt;br /&gt;Alias                     LISTENER&lt;br /&gt;Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production&lt;br /&gt;Start Date                20-APR-2010 06:39:11&lt;br /&gt;Uptime                    0 days 0 hr. 0 min. 0 sec&lt;br /&gt;Trace Level               off&lt;br /&gt;Security                  ON: Local OS Authentication&lt;br /&gt;SNMP                      OFF&lt;br /&gt;Listener Parameter File   /home/u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora&lt;br /&gt;Listener Log File         /home/u01/app/oracle/diag/tnslsnr/beast/listener/alert/log.xml&lt;br /&gt;Listening Endpoints Summary...&lt;br /&gt; (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1523)))&lt;br /&gt; (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=beast.au.oracle.com)(PORT=1523)))&lt;br /&gt;The listener supports no services&lt;br /&gt;The command completed successfully&lt;br /&gt;[oracle@beast admin]$ lsnrctl status&lt;br /&gt;&lt;br /&gt;LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 20-APR-2010 06:39:17&lt;br /&gt;&lt;br /&gt;Copyright (c) 1991, 2009, Oracle.  All rights reserved.&lt;br /&gt;&lt;br /&gt;Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1523)))&lt;br /&gt;STATUS of the LISTENER&lt;br /&gt;------------------------&lt;br /&gt;Alias                     LISTENER&lt;br /&gt;Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production&lt;br /&gt;Start Date                20-APR-2010 06:39:11&lt;br /&gt;Uptime                    0 days 0 hr. 0 min. 5 sec&lt;br /&gt;Trace Level               off&lt;br /&gt;Security                  ON: Local OS Authentication&lt;br /&gt;SNMP                      OFF&lt;br /&gt;Listener Parameter File   /home/u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora&lt;br /&gt;Listener Log File         /home/u01/app/oracle/diag/tnslsnr/beast/listener/alert/log.xml&lt;br /&gt;Listening Endpoints Summary...&lt;br /&gt; (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1523)))&lt;br /&gt; (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=beast.au.oracle.com)(PORT=1523)))&lt;br /&gt;The listener supports no services&lt;br /&gt;The command completed successfully&lt;br /&gt;[oracle@beast admin]$ lsnrctl status&lt;br /&gt;&lt;br /&gt;LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 20-APR-2010 06:40:24&lt;br /&gt;&lt;br /&gt;Copyright (c) 1991, 2009, Oracle.  All rights reserved.&lt;br /&gt;&lt;br /&gt;Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1523)))&lt;br /&gt;STATUS of the LISTENER&lt;br /&gt;------------------------&lt;br /&gt;Alias                     LISTENER&lt;br /&gt;Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production&lt;br /&gt;Start Date                20-APR-2010 06:39:11&lt;br /&gt;Uptime                    0 days 0 hr. 1 min. 12 sec&lt;br /&gt;Trace Level               off&lt;br /&gt;Security                  ON: Local OS Authentication&lt;br /&gt;SNMP                      OFF&lt;br /&gt;Listener Parameter File   /home/u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora&lt;br /&gt;Listener Log File         /home/u01/app/oracle/diag/tnslsnr/beast/listener/alert/log.xml&lt;br /&gt;Listening Endpoints Summary...&lt;br /&gt; (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1523)))&lt;br /&gt; (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=beast.au.oracle.com)(PORT=1523)))&lt;br /&gt;Services Summary...&lt;br /&gt;Service "linux11gr2" has 1 instance(s).&lt;br /&gt; Instance "linux11gr2", status READY, has 1 handler(s) for this service...&lt;br /&gt;Service "linux11gr2XDB" has 1 instance(s).&lt;br /&gt; Instance "linux11gr2", status READY, has 1 handler(s) for this service...&lt;br /&gt;The command completed successfully&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;2. Download JDBC driver 11.2.0.1.0. You can get the driver from here. &lt;a href="http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html"&gt;http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html&lt;/a&gt;&lt;br /&gt;Since OAS comes with JDK 1.5_06 by default, I'll used the 'ojdbc5.jar'.&lt;br /&gt;&lt;br /&gt;3. In My Oracle Support, review document 420303.1 - How to Use The Latest Thin JDBC Driver Across All Applications For a 10.1.3.x OAS Container&lt;br /&gt;&lt;br /&gt;Based on that document, here are the steps how I upgraded the driver and verified it updated correctly:&lt;br /&gt;&lt;br /&gt;4. I created a new instance called JDBC112010&lt;br /&gt;&lt;br /&gt;&gt; createinstance -instanceName JDBC112010&lt;br /&gt;&lt;br /&gt;5. I started the new instance and checked to make sure it was up.&lt;br /&gt;&lt;pre&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;&amp;gt; opmnctl startproc process-type=JDBC112010&lt;br /&gt;opmnctl: starting opmn managed processes...&lt;br /&gt;&lt;br /&gt;&amp;gt; opmnctl status&lt;br /&gt;&lt;br /&gt;Processes in Instance: web.sracanov-au.au.oracle.com&lt;br /&gt;---------------------------------+--------------------+---------+---------&lt;br /&gt;ias-component                    | process-type       |     pid | status&lt;br /&gt;---------------------------------+--------------------+---------+---------&lt;br /&gt;OC4JGroup:default_group          | OC4J:JDBC112010  |    5124 | Alive&lt;br /&gt;...&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;6. I then deploy the following application &lt;a href="http://www.mediafire.com/file/fdxiyzjzmyg/drvtest.ear"&gt;'drvtest.ear'&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;7. I accessed and ran the application from URL - 'http://&amp;lt;server&amp;gt;:&amp;lt;port&amp;gt;/drvtest/dbdetails.jsp'&lt;br /&gt;&lt;br /&gt;I completed my database details and clicked on the 'Submit' button.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9rl0CtIbSrw/S80TXxSJj7I/AAAAAAAAAFU/772W87hEqIA/s1600/jdbc.driver.01.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 237px;" src="http://4.bp.blogspot.com/_9rl0CtIbSrw/S80TXxSJj7I/AAAAAAAAAFU/772W87hEqIA/s400/jdbc.driver.01.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5462043222157660082" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The current JDBC details are displayed:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;=============&lt;br /&gt;JDBC Driver Name is ........ Oracle JDBC driver&lt;br /&gt;JDBC Driver Version is ..... 10.1.0.5.0&lt;br /&gt;JDBC Driver Major Version is 10&lt;br /&gt;JDBC Driver Minor Version is 1&lt;br /&gt;=============&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;8. I then continued to followed Doc ID 420303.1 to upgrade the JDBC Driver.&lt;br /&gt;&lt;br /&gt;In point 7 of the document, I entered&lt;br /&gt;&lt;br /&gt;   &lt;span style="font-weight:bold;"&gt;Shared Library Name : oracle.jdbc&lt;br /&gt;   Shared Library Version : 11.2.0.1.0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;NOTE: The name must be 'oracle.jdbc'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;9. In point 15 of the document, I first created a backup of 'system-applications.xml'. I then entered&lt;br /&gt;&lt;br /&gt;   &lt;pre name="code" class="xml" cols="60" rows="2"&gt;&lt;import-shared-library name="oracle.jdbc" version="11.2.0.1.0"&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;NOTE: The name must be 'oracle.jdbc'. The version details must match version enter in step 8.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;10. After restarting the instance, I then accessed the test application again. 'http://&amp;lt;server&amp;gt;:&amp;lt;port&amp;gt;/drvtest/dbdetails.jsp'&lt;br /&gt;&lt;br /&gt;I completed my database details and clicked on the 'Submit' button.&lt;br /&gt;&lt;br /&gt;This is the results I received&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;=============&lt;br /&gt;JDBC Driver Name is ........ Oracle JDBC driver&lt;br /&gt;JDBC Driver Version is ..... 11.2.0.1.0&lt;br /&gt;JDBC Driver Major Version is 11&lt;br /&gt;JDBC Driver Minor Version is 2&lt;br /&gt;=============&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9rl0CtIbSrw/S80UEkzLdLI/AAAAAAAAAFk/XvEhTTtQHIg/s1600/jdbc.driver.02.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 232px;" src="http://1.bp.blogspot.com/_9rl0CtIbSrw/S80UEkzLdLI/AAAAAAAAAFk/XvEhTTtQHIg/s400/jdbc.driver.02.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5462043991900648626" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I can now see and confirm the JDBC Driver upgrade worked successfully.&lt;br /&gt;&lt;br /&gt;11. Then created the datasource. You can do this following document 456270.1 - Creating a datasource in Application Server Control (ASC)/Enterprise Manager (EM) for 10.1.3.X&lt;br /&gt;&lt;br /&gt;Here is how my connection pool looks like in 'data-sources.xml':&lt;br /&gt;&lt;pre name="code" class="xml" cols="60" rows="30"&gt;&lt;br /&gt;&lt;managed-data-source connection-pool-name="scottConnectionPool" jndi-name="jdbc/scottDS" name="jdbc/scottDS"/&gt;&lt;br /&gt;   &lt;connection-pool name="scottConnectionPool"&gt;&lt;br /&gt;      &lt;connection-factory factory-class="oracle.jdbc.OracleDriver" user="scott" password="tiger" url="jdbc:oracle:thin:@//beast.au.oracle.com:1523/linux11gr2"&gt;&lt;br /&gt;         &lt;property name="CONNECTION_PROPERTY_THIN_NET_ENCRYPTION_LEVEL" value="ACCEPTED"&gt;&lt;/property&gt;&lt;br /&gt;         &lt;property name="CONNECTION_PROPERTY_THIN_NET_ENCRYPTION_TYPES" value="RC4_256"&gt;&lt;/property&gt;&lt;br /&gt;         &lt;property name="CONNECTION_PROPERTY_THIN_NET_CHECKSUM_LEVEL" value="ACCEPTED"&gt;&lt;/property&gt;&lt;br /&gt;         &lt;property name="CONNECTION_PROPERTY_THIN_NET_CHECKSUM_TYPES" value="MD5"&gt;&lt;/property&gt;&lt;br /&gt;      &lt;/connection-factory&gt;&lt;br /&gt;   &lt;/connection-pool&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;NOTE: You must use a managed datasource with oracle.jdbc.OracleDriver factory class. Can not use native data source. The pool properties there do not implement the encryption properties from oracle.jdbc.OracleConnection interface.&lt;br /&gt;&lt;br /&gt;The XXX_TYPES should match the setting as configure in the database. Step 1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;12. Download and deploy this application EAR file &lt;a href="http://www.mediafire.com/file/yqomzmj2nzj/drvtest2.ear"&gt;'drvtest2.ear'&lt;/a&gt; which you will then connect to this connection pool.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9rl0CtIbSrw/S80VBNmT98I/AAAAAAAAAFs/pYaxBdYeDk8/s1600/ASC-deployed-apps.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 205px;" src="http://3.bp.blogspot.com/_9rl0CtIbSrw/S80VBNmT98I/AAAAAAAAAFs/pYaxBdYeDk8/s400/ASC-deployed-apps.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5462045033644685250" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Access the URL 'http://&amp;lt;server&amp;gt;:&amp;lt;port&amp;gt;/drvtest2/dbdetails.jsp' and enter the JNDI of the pool and click 'Submit'. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9rl0CtIbSrw/S80VOPEeWKI/AAAAAAAAAF0/VMXL3SA4kyk/s1600/jdbc.jndi.01.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 240px;" src="http://2.bp.blogspot.com/_9rl0CtIbSrw/S80VOPEeWKI/AAAAAAAAAF0/VMXL3SA4kyk/s400/jdbc.jndi.01.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5462045257377929378" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Your results should look something like:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;System Information&lt;br /&gt;&lt;br /&gt;JDK Details&lt;br /&gt;&lt;br /&gt;=============&lt;br /&gt;JDK Vendor is ... Sun Microsystems Inc.&lt;br /&gt;JDK Version is ... 1.5.0_06&lt;br /&gt;=============&lt;br /&gt;&lt;br /&gt;JDBC Driver Details&lt;br /&gt;&lt;br /&gt;=============&lt;br /&gt;JDBC Driver Name is ........ Oracle JDBC driver&lt;br /&gt;JDBC Driver Version is ..... 11.2.0.1.0&lt;br /&gt;JDBC Driver Major Version is 11&lt;br /&gt;JDBC Driver Minor Version is 2&lt;br /&gt;=============&lt;br /&gt;&lt;br /&gt;Database Details&lt;br /&gt;&lt;br /&gt;=============&lt;br /&gt;Database Product Name is ... Oracle&lt;br /&gt;Database Product Version is  Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production&lt;br /&gt;With the Partitioning, OLAP, Data Mining and Real Application Testing options&lt;br /&gt;&lt;br /&gt;Secure Algorithm Details&lt;br /&gt;&lt;br /&gt;=============&lt;br /&gt;Encryption algorithm is: RC4_256&lt;br /&gt;Data Integrity algorithm is: MD5&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9rl0CtIbSrw/S80VXByq99I/AAAAAAAAAF8/sdfNXZrb05Q/s1600/jdbc.jndi.02.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 316px;" src="http://2.bp.blogspot.com/_9rl0CtIbSrw/S80VXByq99I/AAAAAAAAAF8/sdfNXZrb05Q/s400/jdbc.jndi.02.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5462045408432420818" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now I can see the encryption &amp;amp; data integrity algorithm used in this connection. You can further download a tool like wireshark - &lt;a href="http://www.wireshark.org/"&gt;http://www.wireshark.org/&lt;/a&gt; and run it on the application server to monitor this connection pool and confirm the message are encrypted and unreadable.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9rl0CtIbSrw/S80dDGDwHAI/AAAAAAAAAGE/epgCfoBB5yM/s1600/wireshark.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 297px;" src="http://4.bp.blogspot.com/_9rl0CtIbSrw/S80dDGDwHAI/AAAAAAAAAGE/epgCfoBB5yM/s400/wireshark.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5462053862073441282" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can download the JDev workspace from &lt;a href="http://www.mediafire.com/file/cqzyz0mjfyy/JDBCSystemDetails.zip"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-7922527841072289450?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/7922527841072289450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=7922527841072289450' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/7922527841072289450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/7922527841072289450'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2010/04/using-oracle-112g-data-encryption-and.html' title='Using Oracle 11.2g Data Encryption and Integrity Connection Pool in OAS10g'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9rl0CtIbSrw/S80TXxSJj7I/AAAAAAAAAFU/772W87hEqIA/s72-c/jdbc.driver.01.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-470402222488132747</id><published>2009-12-17T10:02:00.026+11:00</published><updated>2011-11-21T11:30:02.748+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DBMS Callout'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><title type='text'>11g Database Webservice Callout Steps</title><content type='html'>11g Database Webservice Callout Steps&lt;br /&gt;&lt;br /&gt;I installed the 11g R2 database last week and though I'd go through notes 469588.1, 428775.1 and 841183.1 on My Oracle Support and jot down my steps for configuring UTL_DBWS and JPublisher to use a java webservice proxy from the database to call external webservices.&lt;br /&gt;&lt;br /&gt;This is what I done:&lt;br /&gt;&lt;br /&gt;1. Check to see if the database webservice utilities are installed in sys schema, check the status of the java classes and set the OJVM pool size.&lt;br /&gt;&lt;br /&gt;a. Check and see if callout utilities are installed:&lt;br /&gt;&lt;pre class="sql" name="code"&gt;[oracle@sracanov-au2 dbhome_1]$ sqlplus /nolog&lt;br /&gt;&lt;br /&gt;SQL*Plus: Release 11.2.0.1.0 Production on Mon Dec 14 08:04:09 2009&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2009, Oracle.  All rights reserved.&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; conn sys/ as sysdba&lt;br /&gt;Enter password:&lt;br /&gt;Connected.&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; desc sys.utl_dbws&lt;br /&gt;ERROR:&lt;br /&gt;ORA-04043: object sys.utl_dbws does not exist&lt;/pre&gt;b. Check the status of the java classes:&lt;br /&gt;&lt;pre class="sql" name="code"&gt;SQL&amp;gt; SELECT owner, status, count(*) FROM DBA_OBJECTS WHERE OBJECT_TYPE='JAVA CLASS' GROUP BY owner, status;&lt;br /&gt;&lt;br /&gt;OWNER                          STATUS    COUNT(*)&lt;br /&gt;------------------------------ ------- ----------&lt;br /&gt;MDSYS                          VALID          531&lt;br /&gt;SYS                            VALID        20444&lt;br /&gt;EXFSYS                         VALID           47&lt;br /&gt;ORDSYS                         VALID         1898&lt;/pre&gt;c. Set the OJVM pool size. I'm setting the size as per note 469588.1. Although the online documentation suggest java_pool_size is set to at least 96 MB and shared_pool_size is set to at least 80 MB. &lt;a href="http://download.oracle.com/docs/cd/E11882_01/java.112/e10587/intro.htm#BHCBACII"&gt;http://download.oracle.com/docs/cd/E11882_01/java.112/e10587/intro.htm#BHCBACII&lt;/a&gt;. If this is not set, then loading and resolving java classes (jars) will occur errors:&lt;br /&gt;&lt;pre class="sql" name="code"&gt;SQL&amp;gt; show parameter SHARED_POOL_SIZE&lt;br /&gt;&lt;br /&gt;NAME                                 TYPE        VALUE&lt;br /&gt;------------------------------------ ----------- ------------------------------&lt;br /&gt;shared_pool_size                     big integer 0&lt;br /&gt;SQL&amp;gt; show parameter JAVA_POOL_SIZE&lt;br /&gt;&lt;br /&gt;NAME                                 TYPE        VALUE&lt;br /&gt;------------------------------------ ----------- ------------------------------&lt;br /&gt;java_pool_size                       big integer 0&lt;br /&gt;SQL&amp;gt; alter system set SHARED_POOL_SIZE=132M scope=both;&lt;br /&gt;&lt;br /&gt;System altered.&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; alter system set JAVA_POOL_SIZE=80M scope=both;&lt;br /&gt;&lt;br /&gt;System altered.&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; show parameter SHARED_POOL_SIZE&lt;br /&gt;&lt;br /&gt;NAME                                 TYPE        VALUE&lt;br /&gt;------------------------------------ ----------- ------------------------------&lt;br /&gt;shared_pool_size                     big integer 132M&lt;br /&gt;SQL&amp;gt; show parameter JAVA_POOL_SIZE&lt;br /&gt;&lt;br /&gt;NAME                                 TYPE        VALUE&lt;br /&gt;------------------------------------ ----------- ------------------------------&lt;br /&gt;java_pool_size                       big integer 80M&lt;br /&gt;SQL&amp;gt;&lt;/pre&gt;2. Download JPublisher &amp;amp; Database Web Services Callout Utilities&lt;br /&gt;&lt;br /&gt;Webpage:&lt;br /&gt;&lt;a href="http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html"&gt;http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html&lt;/a&gt;&lt;br /&gt;Download - JPublisher 10g Release 10.2:&lt;br /&gt;&lt;a href="http://download.oracle.com/otn/utilities_drivers/jdbc/10201/jpub_102.zip"&gt;http://download.oracle.com/otn/utilities_drivers/jdbc/10201/jpub_102.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Webpage:&lt;br /&gt;&lt;a href="http://www.oracle.com/technetwork/database/enterprise-edition/index-097123.html"&gt;http://www.oracle.com/technetwork/database/enterprise-edition/index-097123.html&lt;/a&gt;&lt;br /&gt;Download - 10.1.3.1 Callout Utility for 10g and 11g RDBMS (ZIP, ~13MB):&lt;br /&gt;&lt;a href="http://download.oracle.com/technology/sample_code/tech/java/jsp/dbws-callout-utility-10131.zip"&gt;http://download.oracle.com/technology/sample_code/tech/java/jsp/dbws-callout-utility-10131.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3. Setup the OS environment:&lt;br /&gt;&lt;pre class="sql" name="code"&gt;[oracle@sracanov-au2 ~]$ export ORACLE_HOME=/u01/programs/oracle/product/11.2.0/dbhome_1&lt;br /&gt;[oracle@sracanov-au2 ~]$ export JAVA_HOME=$ORACLE_HOME/jdk&lt;br /&gt;[oracle@sracanov-au2 ~]$ export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/sqlj/bin:$JAVA_HOME/bin:$PATH&lt;br /&gt;[oracle@sracanov-au2 ~]$ export CLASSPATH=$ORACLE_HOME/sqlj/lib/translator.jar:$ORACLE_HOME/sqlj/lib/runtime12.jar:$ORACLE_HOME/sqlj/lib/dbwsa.jar:$ORACLE_HOME/javavm/lib/aurora.zip:$ORACLE_HOME/jdbc/lib/ojdbc5.jar:$ORACLE_HOME/jdk/lib/dt.jar:$ORACLE_HOME/jdk/lib/tools.jar:$ORACLE_HOME/jlib/jssl-1_1.jar:$ORACLE_HOME/jlib/orai18n.jar:$ORACLE_HOME/rdbms/jlib/xdb.jar:$ORACLE_HOME/lib/xsu12.jar:$ORACLE_HOME/jlib/jndi.jar:$ORACLE_HOME/rdbms/jlib/aqapi.jar:$ORACLE_HOME/rdbms/jlib/jmscommon.jar:$ORACLE_HOME/lib/xmlparserv2.jar&lt;/pre&gt;I extract the downloaded files in the next setup. You can set the classpath now or later. Doing it now for simplicity.&lt;br /&gt;&lt;br /&gt;4. Extract the downloaded files:&lt;br /&gt;&lt;br /&gt;a. Take a backup of sqlj folder first:&lt;br /&gt;&lt;pre class="sql" name="code"&gt;[oracle@sracanov-au2 ~]$ mv $ORACLE_HOME/sqlj $ORACLE_HOME/sqlj.org&lt;/pre&gt;b. Extract Jpub:&lt;br /&gt;&lt;pre class="sql" name="code"&gt;[oracle@sracanov-au2 ~]$ unzip jpub_102.zip -d $ORACLE_HOME&lt;br /&gt;Archive:  jpub_102.zip&lt;br /&gt;   creating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/&lt;br /&gt;   creating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/lib/&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/lib/sqljutl.sql&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/lib/translator.jar&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/lib/runtime12.jar&lt;br /&gt;   creating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/bin/&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/bin/README.txt&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/bin/jpub.c&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/bin/jpub&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/bin/jpub.exe&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/README.txt&lt;br /&gt;   creating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/&lt;br /&gt;   creating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/Booleans.sql&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/Indexby.sql&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/Inherit.sql&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/MyRationalC.java&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/MyRationalO.java&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/MyRationalO8i.java&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/PlsqlType.sql&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/README.txt&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/Rational.sql&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/TestBooleans.java&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/TestCallin.java&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/TestIndexby.java&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/TestInh.java&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/TestInstall.sql&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/TestInstallCreateTable.java&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/TestInstallJDBC.java&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/TestQuery.java&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/TestMyRationalC.java&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/TestMyRationalO.java&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/TestMyRationalO8i.java&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/TestPlsqlType.java&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/TestRationalO.java&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/TestRationalP.java&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/WrDbmsUtil.sql&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/connect.properties&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/jpub.properties&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/demo/jpub/TemperatureService.wsdl&lt;br /&gt;   creating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/doc/&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/doc/faq.html&lt;br /&gt;[oracle@sracanov-au2 ~]$&lt;/pre&gt;c. Extract Callout Utilities:&lt;br /&gt;&lt;pre class="sql" name="code"&gt;[oracle@sracanov-au2 ~]$ unzip dbws-callout-utility-10131.zip sqlj\* -d $ORACLE_HOME&lt;br /&gt;Archive:  dbws-callout-utility-10131.zip&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/lib/utl_dbws_decl.sql&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/lib/utl_dbws_body.sql&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/lib/dbwsclientws.jar&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/lib/dbwsclientdb102.jar&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/lib/dbwsclientdb11.jar&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/lib/dbwsa.jar&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/lib/dbwsclientdb101.jar&lt;br /&gt;[oracle@sracanov-au2 ~]$ unzip dbws-callout-utility-10131.zip samples\* -d $ORACLE_HOME/sqlj&lt;br /&gt;Archive:  dbws-callout-utility-10131.zip&lt;br /&gt;   creating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/samples/&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/samples/javacallout.wsdl&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/samples/test-plsql-dii.sql&lt;br /&gt;  inflating: /u01/programs/oracle/product/11.2.0/dbhome_1/sqlj/samples/javacallout.ear&lt;br /&gt;[oracle@sracanov-au2 ~]$ unzip dbws-callout-utility-10131.zip *.htm -d sqlj/&lt;br /&gt;Archive:  dbws-callout-utility-10131.zip&lt;br /&gt;  inflating: sqlj/10.htm&lt;br /&gt;  inflating: sqlj/11.htm&lt;br /&gt;  inflating: sqlj/README.htm&lt;/pre&gt;d. Looking at the extracted files, there is no dbwsclient.jar.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download.oracle.com/docs/cd/E11882_01/java.112/e10587/intro.htm#BHCBACII"&gt;http://download.oracle.com/docs/cd/E11882_01/java.112/e10587/intro.htm#BHCBACII&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There is however dbwsclientws.jar. dbwsclientws.jar is the same as dbwsclient.jar. Jpub looks for this file when you run the jpub command. To avoid the error: &lt;b&gt;'Error loading dbwsclient.jar, please check the database trace file and make sure dbwsclient.jar exists in ORACLE_HOME/sqlj/lib.'&lt;/b&gt; when running the jpub command, I'll just make a copy of this file:&lt;br /&gt;&lt;pre class="sql" name="code"&gt;[oracle@sracanov-au2 lib]$ ls -al | grep dbwsc&lt;br /&gt;-rw-r--r--  1 oracle oinstall  737386 Jun 18  2008 dbwsclientdb101.jar&lt;br /&gt;-rw-r--r--  1 oracle oinstall  208486 Jun 18  2008 dbwsclientdb102.jar&lt;br /&gt;-rw-r--r--  1 oracle oinstall  214156 Jun 18  2008 dbwsclientdb11.jar&lt;br /&gt;-rw-r--r--  1 oracle oinstall 6716174 Aug  1  2008 dbwsclientws.jar&lt;br /&gt;[oracle@sracanov-au2 lib]$ cp dbwsclientws.jar dbwsclient.jar&lt;br /&gt;[oracle@sracanov-au2 lib]$ ls -al | grep dbwsc&lt;br /&gt;-rw-r--r--  1 oracle oinstall  737386 Jun 18  2008 dbwsclientdb101.jar&lt;br /&gt;-rw-r--r--  1 oracle oinstall  208486 Jun 18  2008 dbwsclientdb102.jar&lt;br /&gt;-rw-r--r--  1 oracle oinstall  214156 Jun 18  2008 dbwsclientdb11.jar&lt;br /&gt;-rw-r--r--  1 oracle oinstall 6716174 Dec 16 06:42 dbwsclient.jar&lt;br /&gt;-rw-r--r--  1 oracle oinstall 6716174 Aug  1  2008 dbwsclientws.jar&lt;br /&gt;[oracle@sracanov-au2 lib]$&lt;/pre&gt;I am not sure why they packaged it like this. It seems it was packaged dbwsclient.jar in the previous download version i.e. 10.1.3.0 Callout Utility for 10g RDBMS (ZIP, 6.89MB).&lt;br /&gt;&lt;br /&gt;Note that I did not find this step crucial. I could still run jpub and each time I will get that error above &lt;b&gt;'Error loading dbwsclient.jar,....&lt;/b&gt;. It could still proceed without it and it worked fine in my example. However doing this I avoid seeing that error all the time when I run Jpub.&lt;br /&gt;&lt;br /&gt;5. Set the execute permission on jpub:&lt;br /&gt;&lt;pre class="sql" name="code"&gt;[oracle@sracanov-au2 ~]$ cd $ORACLE_HOME/sqlj/bin&lt;br /&gt;[oracle@sracanov-au2 bin]$ chmod +x jpub&lt;/pre&gt;6. I'm using the scott schema in this example. Check the schema has CONNECT, RESOURCE and CREATE PUBLIC SYNONYM grants. This is the minimum permission required. If not, allow for it.&lt;br /&gt;&lt;pre class="sql" name="code"&gt;SQL&amp;gt; SELECT grantee, granted_role FROM dba_role_privs where GRANTEE = 'SCOTT';&lt;br /&gt;&lt;br /&gt;GRANTEE                        GRANTED_ROLE&lt;br /&gt;------------------------------ ------------------------------&lt;br /&gt;SCOTT                          RESOURCE&lt;br /&gt;SCOTT                          CONNECT&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; select * from dba_sys_privs where GRANTEE='SCOTT';&lt;br /&gt;&lt;br /&gt;GRANTEE                        PRIVILEGE                                ADM&lt;br /&gt;------------------------------ ---------------------------------------- ---&lt;br /&gt;SCOTT                          UNLIMITED TABLESPACE                     NO&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; grant CREATE PUBLIC SYNONYM to scott;&lt;br /&gt;SQL&amp;gt; select * from dba_sys_privs where GRANTEE='SCOTT';&lt;br /&gt;&lt;br /&gt;GRANTEE                        PRIVILEGE                                ADM&lt;br /&gt;------------------------------ ---------------------------------------- ---&lt;br /&gt;SCOTT                          UNLIMITED TABLESPACE                     NO&lt;br /&gt;SCOTT                          CREATE PUBLIC SYNONYM                    NO&lt;/pre&gt;7. Load the database webservice callout utilities into the scott schema. The jar's are found in $ORACLE_HOME/sqlj/lib folder.&lt;br /&gt;&lt;pre class="sql" name="code"&gt;[oracle@sracanov-au2 bin]$ cd $ORACLE_HOME/sqlj/lib&lt;br /&gt;[oracle@sracanov-au2 lib]$ loadjava -u scott/tiger -r -v -f -s -grant public -genmissing dbwsclientws.jar dbwsclientdb11.jar &amp;gt;&amp;amp; loadjava.txt&lt;/pre&gt;Check the log and see if it completed successfully. It should look something like:&lt;br /&gt;&lt;pre class="sql" name="code"&gt;[oracle@sracanov-au2 lib]$ tail -8 loadjava.txt&lt;br /&gt;Classes Loaded: 4061&lt;br /&gt;Resources Loaded: 81&lt;br /&gt;Sources Loaded: 0&lt;br /&gt;Published Interfaces: 0&lt;br /&gt;Classes generated: 63&lt;br /&gt;Classes skipped: 0&lt;br /&gt;Synonyms Created: 0&lt;br /&gt;Errors: 0&lt;br /&gt;[oracle@sracanov-au2 lib]$&lt;/pre&gt;(The values are likely to be different. This depends the on system environment and what already installed).&lt;br /&gt;&lt;br /&gt;8. Once the database webservice call out classes have been loaded, I need to run the PL/SQL wrappers that will call theses classes. The scripts are found in $ORACLE_HOME/sqlj/lib folder. Since I installed the jar in scott, scott needs to run these scripts:&lt;br /&gt;&lt;pre class="sql" name="code"&gt;[oracle@sracanov-au2 lib]$ sqlplus scott/tiger&lt;br /&gt;&lt;br /&gt;SQL*Plus: Release 11.2.0.1.0 Production on Tue Dec 15 11:08:50 2009&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2009, Oracle.  All rights reserved.&lt;br /&gt;&lt;br /&gt;Connected to:&lt;br /&gt;Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production&lt;br /&gt;With the Partitioning, OLAP, Data Mining and Real Application Testing options&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; @utl_dbws_decl.sql&lt;br /&gt;&lt;br /&gt;Package created.&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; @utl_dbws_body.sql&lt;br /&gt;&lt;br /&gt;Package body created.&lt;br /&gt;&lt;br /&gt;Grant succeeded.&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; desc utl_dbws&lt;br /&gt;PROCEDURE ADD_PARAMETER&lt;br /&gt; Argument Name                  Type                    In/Out Default?&lt;br /&gt; ------------------------------ ----------------------- ------ --------&lt;br /&gt; CALL_HANDLE                    NUMBER                  IN&lt;br /&gt; XML_NAME                       VARCHAR2                IN&lt;br /&gt; Q_NAME                         VARCHAR2(4096)          IN&lt;br /&gt;...&lt;br /&gt;...&lt;/pre&gt;9. Grant the following classes from the SYS schema to scott. (or whichever schema your using. Ensure the schema name is in capital letters. i.e. 'SCOTT'):&lt;br /&gt;&lt;pre class="sql" name="code"&gt;SQL&amp;gt; conn /as sysdba&lt;br /&gt;Connected.&lt;br /&gt;SQL&amp;gt; call dbms_java.grant_permission('SCOTT','SYS:java.lang.RuntimePermission', 'shutdownHooks', '' );&lt;br /&gt;SQL&amp;gt; call dbms_java.grant_permission('SCOTT','SYS:java.util.logging.LoggingPermission', 'control', '' );&lt;br /&gt;SQL&amp;gt; call dbms_java.grant_permission('SCOTT','SYS:java.util.PropertyPermission','http.proxySet','write');&lt;br /&gt;SQL&amp;gt; call dbms_java.grant_permission('SCOTT','SYS:java.util.PropertyPermission','http.proxyHost', 'write');&lt;br /&gt;SQL&amp;gt; call dbms_java.grant_permission('SCOTT','SYS:java.util.PropertyPermission','http.proxyPort', 'write');&lt;br /&gt;SQL&amp;gt; call dbms_java.grant_permission('SCOTT','SYS:java.lang.RuntimePermission','getClassLoader','');&lt;br /&gt;SQL&amp;gt; call dbms_java.grant_permission('SCOTT','SYS:java.net.SocketPermission','*','connect,resolve');&lt;br /&gt;SQL&amp;gt; call dbms_java.grant_permission('SCOTT','SYS:java.util.PropertyPermission','*','read,write');&lt;br /&gt;SQL&amp;gt; call dbms_java.grant_permission('SCOTT','SYS:java.lang.RuntimePermission','setFactory','');&lt;br /&gt;SQL&amp;gt; call dbms_java.grant_permission('SCOTT','SYS:java.lang.RuntimePermission', 'accessClassInPackage.sun.util.calendar','');&lt;/pre&gt;&lt;b&gt;EXAMPLE 1:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;==========&lt;/b&gt;&lt;br /&gt;10. Using the example code from note 841183.1, I will now use the UTL_DBWS package loaded in scott to call the webservice. The PL/SQL is created as follows:&lt;br /&gt;&lt;br /&gt;a. Here is the PL/SQL code using UTL_DBWS to call an external webservice:&lt;br /&gt;&lt;pre class="sql" name="code"&gt;CREATE OR REPLACE FUNCTION celciusToFahrenheit(temperature NUMBER) RETURN VARCHAR2 AS&lt;br /&gt;&lt;br /&gt;service_ scott.utl_dbws.SERVICE;&lt;br /&gt;call_ scott.utl_dbws.CALL;&lt;br /&gt;service_qname scott.utl_dbws.QNAME;&lt;br /&gt;port_qname scott.utl_dbws.QNAME;&lt;br /&gt;response sys.XMLTYPE;&lt;br /&gt;request sys.XMLTYPE;&lt;br /&gt;&lt;br /&gt;BEGIN&lt;br /&gt;scott.utl_dbws.set_http_proxy('myproxy.com:80');&lt;br /&gt;service_qname := scott.utl_dbws.to_qname(null, 'CelciusToFahrenheit');&lt;br /&gt;service_      := scott.utl_dbws.create_service(service_qname);&lt;br /&gt;call_         := scott.utl_dbws.create_call(service_);&lt;br /&gt;scott.utl_dbws.set_target_endpoint_address(call_, 'http://webservices.daehosting.com/services/TemperatureConversions.wso');&lt;br /&gt;scott.utl_dbws.set_property( call_, 'OPERATION_STYLE', 'document');&lt;br /&gt;request       := sys.XMLTYPE('&lt;Celciustofahrenheit xmlns="http://webservices.daehosting.com/temperature"&gt;&lt;nCelcius&gt;'||temperature||'&lt;/nCelcius&gt;&lt;/Celciustofahrenheit&gt;');&lt;br /&gt;response      := scott.utl_dbws.invoke(call_, request);&lt;br /&gt;return response.extract('//CelciusToFahrenheitResult/child::text()', 'xmlns="http://webservices.daehosting.com/temperature"').getstringval();&lt;br /&gt;END;&lt;br /&gt;/&lt;br /&gt;show errors;&lt;/pre&gt;b. I have changed line 11 with my proxy server details. If your environment does not use a proxy server leave this line out.&lt;br /&gt;c. Since the database webservice utilities have been installed in 'scott', I have changed all the 'sys' references to webservice utilities to 'scott'&lt;br /&gt;d. Ensure you can access the webservice used in this example: &lt;a href="http://webservices.daehosting.com/services/TemperatureConversions.wso"&gt;http://webservices.daehosting.com/services/TemperatureConversions.wso&lt;/a&gt;&lt;br /&gt;e: Now run the example:&lt;br /&gt;&lt;pre class="sql" name="code"&gt;SQL&amp;gt; @celciusToFahrenheit.sql&lt;br /&gt;&lt;br /&gt;Function created.&lt;br /&gt;&lt;br /&gt;No errors.&lt;br /&gt;SQL&amp;gt; SELECT celciusToFahrenheit(30) from dual;&lt;br /&gt;&lt;br /&gt;CELCIUSTOFAHRENHEIT(30)&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;86&lt;br /&gt;&lt;br /&gt;SQL&amp;gt;&lt;/pre&gt;&lt;b&gt;EXAMPLE 2:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;==========&lt;/b&gt;&lt;br /&gt;11. Now using the same webservice, I will use jpub to create and load the java webservice proxy classes to the database.&lt;br /&gt;&lt;br /&gt;a. Run the jpub to create and load your java webservice client proxy. Here is the command used:&lt;br /&gt;&lt;br /&gt;jpub -u scott/tiger -sysuser sys/welcome1 -proxywsdl=http://webservices.daehosting.com/services/TemperatureConversions.wso?WSDL -endpoint=http://webservices.daehosting.com/services/TemperatureConversions.wso -httpproxy=myproxy.com:80&lt;br /&gt;&lt;br /&gt;Note I have specified my proxy again as the last parameter. If your environment does not use a proxy server leave this out.&lt;br /&gt;&lt;pre class="sql" name="code"&gt;[oracle@sracanov-au2 dbhome_1]$ cd sqlj&lt;br /&gt;[oracle@sracanov-au2 sqlj]$ mkdir example2&lt;br /&gt;[oracle@sracanov-au2 sqlj]$ cd example2/&lt;br /&gt;[oracle@sracanov-au2 example2]$ jpub -u scott/tiger -sysuser sys/welcome1 -proxywsdl=http://webservices.daehosting.com/services/TemperatureConversions.wso?WSDL -endpoint=http://webservices.daehosting.com/services/TemperatureConversions.wso -httpproxy=myproxy.com:80&lt;br /&gt;tmp/src/genproxy/TemperatureConversionsSoapClientJPub.java&lt;br /&gt;plsql_wrapper.sql&lt;br /&gt;plsql_dropper.sql&lt;br /&gt;plsql_grant.sql&lt;br /&gt;plsql_revoke.sql&lt;br /&gt;Executing plsql_dropper.sql&lt;br /&gt;Executing plsql_wrapper.sql&lt;br /&gt;Executing plsql_grant.sql&lt;br /&gt;Loading plsql_proxy.jar&lt;br /&gt;&lt;br /&gt;[oracle@sracanov-au2 example2]$&lt;/pre&gt;Note that when using jpub I can avoid coding PL/SQL code. The PL/SQL files can be found in the current local directory where jpub is run from. They have been executed while running the jpub command.&lt;br /&gt;&lt;pre class="sql" name="code"&gt;[oracle@sracanov-au2 example2]$ ls -al&lt;br /&gt;total 88&lt;br /&gt;drwxr-xr-x  3 oracle oinstall  4096 Dec 16 07:27 .&lt;br /&gt;drwxr-xr-x  8 oracle oinstall  4096 Dec 15 10:43 ..&lt;br /&gt;-rw-r--r--  1 oracle oinstall    95 Dec 16 07:27 plsql_dropper.sql&lt;br /&gt;-rw-r--r--  1 oracle oinstall   548 Dec 16 07:27 plsql_grant.sql&lt;br /&gt;-rw-r--r--  1 oracle oinstall 26546 Dec 16 07:27 plsql_proxy.jar&lt;br /&gt;-rw-r--r--  1 oracle oinstall   404 Dec 16 07:27 plsql_revoke.sql&lt;br /&gt;-rw-r--r--  1 oracle oinstall  3261 Dec 16 07:27 plsql_wrapper.sql&lt;br /&gt;drwxr-xr-x  4 oracle oinstall  4096 Dec 16 06:43 tmp&lt;/pre&gt;b. Now call the web Service as in sqlplus.&lt;br /&gt;&lt;pre class="sql" name="code"&gt;SQL&amp;gt; conn scott/tiger&lt;br /&gt;Connected.&lt;br /&gt;SQL&amp;gt; select jpub_plsql_wrapper.celciusToFahrenheit(30) as "Celcius To Fahrenheit(30)" from dual;&lt;br /&gt;&lt;br /&gt;Celcius To Fahrenheit(30)&lt;br /&gt;-------------------------&lt;br /&gt;                       86&lt;br /&gt;&lt;br /&gt;SQL&amp;gt;&lt;/pre&gt;Running jpub has created the java webservice proxy for all the methods available from the webservice:&lt;br /&gt;&lt;pre class="sql" name="code"&gt;SQL&amp;gt; select jpub_plsql_wrapper.fahrenheitToCelcius(86) as "Fahrenheit To Celcius(86)" from dual;&lt;br /&gt;&lt;br /&gt;Fahrenheit To Celcius(86)&lt;br /&gt;-------------------------&lt;br /&gt;                       30&lt;br /&gt;&lt;br /&gt;SQL&amp;gt;&lt;/pre&gt;For any further or clarification, see the following documentation:&lt;br /&gt;&lt;br /&gt;Oracle® Database JPublisher User's Guide&lt;br /&gt;&lt;a href="http://download.oracle.com/docs/cd/B28359_01/java.111/b31226/toc.htm"&gt;http://download.oracle.com/docs/cd/B28359_01/java.111/b31226/toc.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Database Web Service Callout Utility 10.1.3.1&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/sample_code/tech/java/jsp/callout_users_guide.htm"&gt;http://www.oracle.com/technology/sample_code/tech/java/jsp/callout_users_guide.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-470402222488132747?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/470402222488132747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=470402222488132747' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/470402222488132747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/470402222488132747'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2009/12/11g-database-webservice-callout-steps.html' title='11g Database Webservice Callout Steps'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-852845311344373443</id><published>2009-09-07T11:46:00.010+10:00</published><updated>2010-05-18T13:43:33.096+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JDBC'/><title type='text'>Example of using JDBC Timezone</title><content type='html'>Recently I was working on a timezone issue there the values returned on the daylight saving change over where incorrect. Here is the example and steps to reproduce this problem.&lt;br /&gt;&lt;br /&gt;There sql script looks like:&lt;br /&gt;&lt;pre name="code" class="sql"&gt;connect / as sysdba&lt;br /&gt;&lt;br /&gt;drop user timezoneuser cascade;&lt;br /&gt;&lt;br /&gt;grant connect,resource to timezoneuser identified by timezoneuser;&lt;br /&gt;&lt;br /&gt;connect timezoneuser/timezoneuser&lt;br /&gt;&lt;br /&gt;create table jdbc_test (&lt;br /&gt;  sequence_id number(2),&lt;br /&gt;  cbt timestamp,&lt;br /&gt;  cbt_utc timestamp);&lt;br /&gt;&lt;br /&gt;alter session set NLS_DATE_FORMAT = 'MM/DD/YYYY HH24:MI:SS';&lt;br /&gt;alter session set NLS_TIMESTAMP_TZ_FORMAT ='MM/DD/YYYY HH24:MI:SS';&lt;br /&gt;alter session set NLS_TIMESTAMP_FORMAT = 'MM/DD/YYYY HH24:MI:SS';&lt;br /&gt;&lt;br /&gt;select * from nls_session_parameters;&lt;br /&gt;&lt;br /&gt;insert into jdbc_test values(1,'04/05/2009 00:00:00','04/04/2009 13:00:00');&lt;br /&gt;insert into jdbc_test values(2,'04/05/2009 01:00:00','04/04/2009 14:00:00');&lt;br /&gt;insert into jdbc_test values(3,'04/05/2009 02:00:00','04/04/2009 15:00:00');&lt;br /&gt;insert into jdbc_test values(4,'04/05/2009 02:00:00','04/04/2009 16:00:00');&lt;br /&gt;insert into jdbc_test values(5,'04/05/2009 03:00:00','04/04/2009 17:00:00');&lt;br /&gt;insert into jdbc_test values(6,'04/05/2009 04:00:00','04/04/2009 18:00:00');&lt;br /&gt;insert into jdbc_test values(7,'04/05/2009 05:00:00','04/04/2009 19:00:00');&lt;br /&gt;insert into jdbc_test values(8,'04/05/2009 06:00:00','04/04/2009 20:00:00');&lt;br /&gt;insert into jdbc_test values(9,'04/05/2009 07:00:00','04/04/2009 21:00:00');&lt;br /&gt;insert into jdbc_test values(10,'04/05/2009 08:00:00','04/04/2009 22:00:00');&lt;br /&gt;insert into jdbc_test values(11,'04/05/2009 09:00:00','04/04/2009 23:00:00');&lt;br /&gt;insert into jdbc_test values(12,'04/05/2009 10:00:00','04/05/2009 00:00:00');&lt;br /&gt;insert into jdbc_test values(13,'04/05/2009 11:00:00','04/05/2009 01:00:00');&lt;br /&gt;insert into jdbc_test values(14,'04/05/2009 12:00:00','04/05/2009 02:00:00');&lt;br /&gt;insert into jdbc_test values(15,'04/05/2009 13:00:00','04/05/2009 03:00:00');&lt;br /&gt;insert into jdbc_test values(16,'04/05/2009 14:00:00','04/05/2009 04:00:00');&lt;br /&gt;insert into jdbc_test values(17,'04/05/2009 15:00:00','04/05/2009 05:00:00');&lt;br /&gt;insert into jdbc_test values(18,'04/05/2009 16:00:00','04/05/2009 06:00:00');&lt;br /&gt;insert into jdbc_test values(19,'04/05/2009 17:00:00','04/05/2009 07:00:00');&lt;br /&gt;&lt;br /&gt;column seq format 999&lt;br /&gt;column cbt format a20&lt;br /&gt;column cbt_utc format a20&lt;br /&gt;column difference format a30&lt;br /&gt;&lt;br /&gt;select sequence_id as seq,cbt ,cbt_utc , cbt - cbt_utc as difference from jdbc_test;&lt;br /&gt;&lt;/pre&gt;and the java looks like:&lt;br /&gt;&lt;pre name="code" class="java"&gt;package example;&lt;br /&gt;&lt;br /&gt;import java.sql.Connection;&lt;br /&gt;import java.sql.DriverManager;&lt;br /&gt;import java.sql.PreparedStatement;&lt;br /&gt;import java.sql.ResultSet;&lt;br /&gt;import java.sql.Timestamp;&lt;br /&gt;&lt;br /&gt;import java.util.Date;&lt;br /&gt;import java.util.Properties;&lt;br /&gt;&lt;br /&gt;public class JDBCTimeStamp {&lt;br /&gt;&lt;br /&gt;  private void queryDatabase() {&lt;br /&gt;      Connection conn = null;&lt;br /&gt;&lt;br /&gt;      String DRIVER = "oracle.jdbc.driver.OracleDriver";&lt;br /&gt;      String connectionName = "jdbc:comp:env:sys";&lt;br /&gt;      String URL_NAME = "jdbc:oracle:thin:@celcsol1.us.oracle.com:1521:tarsr3";&lt;br /&gt;      String userName = new String("timezoneuser");&lt;br /&gt;      String password = new String("timezoneuser");&lt;br /&gt;      Properties prop = new Properties();&lt;br /&gt;      prop.put("user", userName);&lt;br /&gt;      prop.put("password", password);&lt;br /&gt;      prop.put("connectionName", connectionName);&lt;br /&gt;      try {&lt;br /&gt;          try {&lt;br /&gt;              Class.forName(DRIVER);&lt;br /&gt;          } catch (Exception e) {&lt;br /&gt;              System.out.println("Exception in Class.forName : " + e);&lt;br /&gt;          }&lt;br /&gt;          try {&lt;br /&gt;              conn = DriverManager.getConnection(URL_NAME, prop);&lt;br /&gt;          } catch (Exception e) {&lt;br /&gt;              System.out.println("Exception in creating the connection : " + e);&lt;br /&gt;          }&lt;br /&gt;&lt;br /&gt;          String sqlString = " SELECT SEQUENCE_ID,CBT,CBT_UTC" + " FROM JDBC_TEST ";&lt;br /&gt;&lt;br /&gt;          PreparedStatement ps = conn.prepareStatement(sqlString.toString());&lt;br /&gt;          ResultSet rs = null;&lt;br /&gt;          try {&lt;br /&gt;              ps = conn.prepareStatement(sqlString);&lt;br /&gt;              rs = ps.executeQuery();&lt;br /&gt;              String sequenceId = null;&lt;br /&gt;              Timestamp cbtTimeStamp = null;&lt;br /&gt;              Timestamp cbtUtcTimeStamp = null;&lt;br /&gt;              long longValueOfUtc;&lt;br /&gt;              long longValueOfCbt;&lt;br /&gt;              Date cbtDateValueFromLong;&lt;br /&gt;              Date utcDateValueFromLong;&lt;br /&gt;&lt;br /&gt;              System.out.println("ID \tCBT(local time) \t\t\tCBT_UTC(GMT) \t\t\tTime Difference");&lt;br /&gt;              while (rs.next()) {&lt;br /&gt;                  sequenceId = rs.getString(1);&lt;br /&gt;                  cbtTimeStamp = rs.getTimestamp(2);&lt;br /&gt;                  cbtUtcTimeStamp = rs.getTimestamp(3);&lt;br /&gt;                  longValueOfUtc = cbtUtcTimeStamp.getTime();&lt;br /&gt;                  longValueOfCbt = cbtTimeStamp.getTime();&lt;br /&gt;                  cbtDateValueFromLong = new Date(longValueOfCbt);&lt;br /&gt;                  utcDateValueFromLong = new Date(longValueOfUtc);&lt;br /&gt;                  System.out.println(sequenceId + "\t" + cbtDateValueFromLong + "\t\t" + utcDateValueFromLong + "\t\t" + ((longValueOfCbt - longValueOfUtc) / 3600000));&lt;br /&gt;              }&lt;br /&gt;          } finally {&lt;br /&gt;              if (ps != null)&lt;br /&gt;                  ps.close();&lt;br /&gt;              if (rs != null)&lt;br /&gt;                  rs.close();&lt;br /&gt;          }&lt;br /&gt;      } catch (Exception e) {&lt;br /&gt;          System.out.println("Exception :::" + e);&lt;br /&gt;          e.printStackTrace();&lt;br /&gt;      }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public static void main(String[] args) {&lt;br /&gt;      JDBCTimeStamp main = new JDBCTimeStamp();&lt;br /&gt;      main.queryDatabase();&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;Upon running the java code using JDK 1.6 and 11g JDBC drivers (ojdbc6.jar), the following results are show:&lt;br /&gt;&lt;pre&gt;&lt;span style="color:blue;"&gt;ID   CBT(local time)                     CBT_UTC(GMT)                        Time Difference&lt;br /&gt;1    Sun Apr 05 00:00:00 EST 2009        Sat Apr 04 13:00:00 EST 2009        11&lt;br /&gt;2    Sun Apr 05 01:00:00 EST 2009        Sat Apr 04 14:00:00 EST 2009        11&lt;br /&gt;3    Sun Apr 05 02:00:00 EST 2009        Sat Apr 04 15:00:00 EST 2009        12&lt;br /&gt;4    Sun Apr 05 02:00:00 EST 2009        Sat Apr 04 16:00:00 EST 2009        11&lt;br /&gt;5    Sun Apr 05 03:00:00 EST 2009        Sat Apr 04 17:00:00 EST 2009        11&lt;br /&gt;6    Sun Apr 05 04:00:00 EST 2009        Sat Apr 04 18:00:00 EST 2009        11&lt;br /&gt;7    Sun Apr 05 05:00:00 EST 2009        Sat Apr 04 19:00:00 EST 2009        11&lt;br /&gt;8    Sun Apr 05 06:00:00 EST 2009        Sat Apr 04 20:00:00 EST 2009        11&lt;br /&gt;9    Sun Apr 05 07:00:00 EST 2009        Sat Apr 04 21:00:00 EST 2009        11&lt;br /&gt;10    Sun Apr 05 08:00:00 EST 2009        Sat Apr 04 22:00:00 EST 2009        11&lt;br /&gt;11    Sun Apr 05 09:00:00 EST 2009        Sat Apr 04 23:00:00 EST 2009        11&lt;br /&gt;12    Sun Apr 05 10:00:00 EST 2009        Sun Apr 05 00:00:00 EST 2009        11&lt;br /&gt;13    Sun Apr 05 11:00:00 EST 2009        Sun Apr 05 01:00:00 EST 2009        11&lt;br /&gt;14    Sun Apr 05 12:00:00 EST 2009        Sun Apr 05 02:00:00 EST 2009        10&lt;br /&gt;15    Sun Apr 05 13:00:00 EST 2009        Sun Apr 05 03:00:00 EST 2009        10&lt;br /&gt;16    Sun Apr 05 14:00:00 EST 2009        Sun Apr 05 04:00:00 EST 2009        10&lt;br /&gt;17    Sun Apr 05 15:00:00 EST 2009        Sun Apr 05 05:00:00 EST 2009        10&lt;br /&gt;18    Sun Apr 05 16:00:00 EST 2009        Sun Apr 05 06:00:00 EST 2009        10&lt;br /&gt;19    Sun Apr 05 17:00:00 EST 2009        Sun Apr 05 07:00:00 EST 2009        10&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;This because the table was not created with local timezone. The column in the database is TIMESTAMP  -  which holds a non timezone specified value.&lt;br /&gt;&lt;br /&gt;When jdbc extracts values from a TIMESTAMP column into a java.sql.Timestamp via the getTimestamp method, it ensures that the value, when printed, shows the same DATE/TIME as that stored in the database.&lt;br /&gt;&lt;br /&gt;The correct way to create the table would be:&lt;br /&gt;&lt;pre name="code" class="sql"&gt;create table jdbc_test (&lt;br /&gt;  sequence_id number(2),&lt;br /&gt;  cbt TIMESTAMP WITH LOCAL TIME ZONE,&lt;br /&gt;  cbt_utc TIMESTAMP WITH TIME ZONE);&lt;br /&gt;&lt;/pre&gt;Now that I am using 'WITH LOCAL TIME ZONE', I need change my java code to include the timezone in the connection like '((OracleConnection)conn).setSessionTimeZone("Australia/Victoria");'&lt;br /&gt;&lt;br /&gt;So the java code would now look like:&lt;br /&gt;&lt;pre name="code" class="java"&gt;...&lt;br /&gt;try {&lt;br /&gt; conn = DriverManager.getConnection(URL_NAME, prop);&lt;br /&gt;} catch (Exception e) {&lt;br /&gt; System.out.println("Exception in creating the connection : " + e);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;((OracleConnection)conn).setSessionTimeZone("Australia/Victoria");&lt;br /&gt;String sqlString = " SELECT SEQUENCE_ID,CBT,CBT_UTC" + " FROM JDBC_TEST ";&lt;br /&gt;&lt;br /&gt;PreparedStatement ps = conn.prepareStatement(sqlString.toString());&lt;br /&gt;ResultSet rs = null;&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;Now when I run the java class, the correct results are shown:&lt;br /&gt;&lt;pre&gt;&lt;span style="color:blue;"&gt;ID   CBT(local time)                     CBT_UTC(GMT)                        Time Difference&lt;br /&gt;1    Sun Apr 05 01:00:00 EST 2009        Sat Apr 04 14:00:00 EST 2009        11&lt;br /&gt;2    Sun Apr 05 02:00:00 EST 2009        Sat Apr 04 15:00:00 EST 2009        11&lt;br /&gt;3    Sun Apr 05 02:00:00 EST 2009        Sat Apr 04 16:00:00 EST 2009        11&lt;br /&gt;4    Sun Apr 05 02:00:00 EST 2009        Sat Apr 04 17:00:00 EST 2009        10&lt;br /&gt;5    Sun Apr 05 03:00:00 EST 2009        Sat Apr 04 18:00:00 EST 2009        10&lt;br /&gt;6    Sun Apr 05 04:00:00 EST 2009        Sat Apr 04 19:00:00 EST 2009        10&lt;br /&gt;7    Sun Apr 05 05:00:00 EST 2009        Sat Apr 04 20:00:00 EST 2009        10&lt;br /&gt;8    Sun Apr 05 06:00:00 EST 2009        Sat Apr 04 21:00:00 EST 2009        10&lt;br /&gt;9    Sun Apr 05 07:00:00 EST 2009        Sat Apr 04 22:00:00 EST 2009        10&lt;br /&gt;10    Sun Apr 05 08:00:00 EST 2009        Sat Apr 04 23:00:00 EST 2009        10&lt;br /&gt;11    Sun Apr 05 09:00:00 EST 2009        Sun Apr 05 00:00:00 EST 2009        10&lt;br /&gt;12    Sun Apr 05 10:00:00 EST 2009        Sun Apr 05 01:00:00 EST 2009        10&lt;br /&gt;13    Sun Apr 05 11:00:00 EST 2009        Sun Apr 05 02:00:00 EST 2009        10&lt;br /&gt;14    Sun Apr 05 12:00:00 EST 2009        Sun Apr 05 02:00:00 EST 2009        10&lt;br /&gt;15    Sun Apr 05 13:00:00 EST 2009        Sun Apr 05 03:00:00 EST 2009        10&lt;br /&gt;16    Sun Apr 05 14:00:00 EST 2009        Sun Apr 05 04:00:00 EST 2009        10&lt;br /&gt;17    Sun Apr 05 15:00:00 EST 2009        Sun Apr 05 05:00:00 EST 2009        10&lt;br /&gt;18    Sun Apr 05 16:00:00 EST 2009        Sun Apr 05 06:00:00 EST 2009        10&lt;br /&gt;19    Sun Apr 05 17:00:00 EST 2009        Sun Apr 05 07:00:00 EST 2009        10&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-852845311344373443?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/852845311344373443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=852845311344373443' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/852845311344373443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/852845311344373443'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2009/09/example-of-using-jdbc-timezone_07.html' title='Example of using JDBC Timezone'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-8810746869395611780</id><published>2009-09-01T15:10:00.016+10:00</published><updated>2010-05-18T13:43:54.828+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Datasources'/><category scheme='http://www.blogger.com/atom/ns#' term='JDBC'/><title type='text'>Example of OracleDatabaseMetaData using OAS datasources to display table and view data</title><content type='html'>A simple example of using oracle database metadata (from JDBC) with Oracle Application Server 1013x datasources to display the data.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;1. My data-sources.xml looks like:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Courier;font-size:85%;"  &gt;&amp;lt;managed-data-source connection-pool-name="scottPool2" jndi-name="jdbc/ScottDS2"&lt;br /&gt;name="jdbc/ScottDS2"/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Courier;font-size:85%;"  &gt;&amp;lt;connection-pool name="scottPool2"&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Courier;font-size:85%;"  &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;connection-factory factory-class="oracle.jdbc.pool.OracleDataSource"&lt;br /&gt;user="scott" password="tiger" url="jdbc:oracle:thin:@//sracanov-au2.au.oracle.com:1522/orcl"/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Courier;font-size:85%;"  &gt;&amp;lt;/connection-pool&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2. My java code in jdev looks like:&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;span style="color: rgb(51, 102, 153);"&gt;&lt;b&gt;package&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;examples&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153);"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;java&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;sql&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Connection&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153);"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;java&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;sql&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;ResultSet&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153);"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;java&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;util&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Properties&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153);"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;javax&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;naming&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Context&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153);"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;javax&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;naming&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;InitialContext&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153);"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;javax&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;sql&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;DataSource&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153);"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;oracle&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;jdbc&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;OracleDatabaseMetaData&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153);"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(51, 102, 153);"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;TestOracleDatabaseMetaDataDataSource&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153);"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(51, 102, 153);"&gt;&lt;b&gt;static&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(51, 102, 153);"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;main&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;String&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;[]&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;args&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(51, 102, 153);"&gt;&lt;b&gt;throws&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;Exception&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0);"&gt;Properties&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;props&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(51, 102, 153);"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;Properties&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0);"&gt;props&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;put&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Context&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;PROVIDER_URL&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;,&lt;/span&gt;&lt;br /&gt;             &lt;span style="color: rgb(0, 51, 204);"&gt;"opmn:ormi://sracanov-au2.au.oracle.com:6005:OC4J_Apps/default"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0);"&gt;props&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;put&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Context&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;INITIAL_CONTEXT_FACTORY&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;,&lt;/span&gt;&lt;br /&gt;             &lt;span style="color: rgb(0, 51, 204);"&gt;"oracle.j2ee.rmi.RMIInitialContextFactory"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0);"&gt;props&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;put&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Context&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;SECURITY_PRINCIPAL&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;"oc4jadmin"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0);"&gt;props&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;put&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Context&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;SECURITY_CREDENTIALS&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;"welcome1"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0);"&gt;Context&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;ctx&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(51, 102, 153);"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;InitialContext&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;props&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0);"&gt;DataSource&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;ds&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;DataSource&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;ctx&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;lookup&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 51, 204);"&gt;"jdbc/ScottDS2"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0);"&gt;Connection&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;conn&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;ds&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;getConnection&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0);"&gt;OracleDatabaseMetaData&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;dbmd&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;OracleDatabaseMetaData&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;conn&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;getMetaData&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0);"&gt;ResultSet&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;rs&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0);"&gt;dbmd&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;getTables&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 102, 0);"&gt;null&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;"%"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;"%"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(51, 102, 153);"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;String&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;[]&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;"TABLE"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;"VIEW"&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;})&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(51, 102, 153);"&gt;&lt;b&gt;while&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;rs&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;next&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;())&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0);"&gt;System&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;out&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;println&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 51, 204);"&gt;"   "&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;+&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;rs&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;getString&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;3&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;+&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;" : "&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;+&lt;/span&gt;&lt;br /&gt;                          &lt;span style="color: rgb(0, 0, 0);"&gt;rs&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;getString&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;4&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;))&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;/pre&gt;3. Ensure the following libraries are in the project:&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:Courier;font-size:85%;"  &gt;* JDBC driver&lt;br /&gt;* Apache Ant&lt;br /&gt;* JSP Runtime&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;4. Run the class and the results are displayed:&lt;br /&gt;&lt;pre&gt;      DR$NUMBER_SEQUENCE : TABLE&lt;br /&gt;  DR$OBJECT_ATTRIBUTE : TABLE&lt;br /&gt;  DR$POLICY_TAB : TABLE&lt;br /&gt;  RLM$PARSEDCOND : TABLE&lt;br /&gt;  OGIS_GEOMETRY_COLUMNS : TABLE&lt;br /&gt;  OGIS_SPATIAL_REFERENCE_SYSTEMS : TABLE&lt;br /&gt;  ....&lt;br /&gt;  ....&lt;br /&gt;  ....&lt;br /&gt;  WM$REPLICATION_INFO : VIEW&lt;br /&gt;  WM$TABLE_NEXTVERS_VIEW : VIEW&lt;br /&gt;  WM$TABLE_PARVERS_VIEW : VIEW&lt;br /&gt;  WM$TABLE_VERSIONS_IN_LIVE_VIEW : VIEW&lt;br /&gt;  WM$TABLE_WS_PARVERS_VIEW : VIEW&lt;br /&gt;  WM$VERSIONS_IN_LIVE_VIEW : VIEW&lt;br /&gt;  WM$VER_BEF_INST_NEXTVERS_VIEW : VIEW&lt;br /&gt;  WM$VER_BEF_INST_PARVERS_VIEW : VIEW&lt;br /&gt;  WM_EVENTS_INFO : VIEW&lt;br /&gt;  PATH_VIEW : VIEW&lt;br /&gt;  RESOURCE_VIEW : VIEW      &lt;/pre&gt;Results of the output have been truncated.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-8810746869395611780?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/8810746869395611780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=8810746869395611780' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/8810746869395611780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/8810746869395611780'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2009/09/simple-example-with-oracledatabasemetad_01.html' title='Example of OracleDatabaseMetaData using OAS datasources to display table and view data'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-1765122060571459585</id><published>2009-08-30T15:03:00.019+10:00</published><updated>2010-05-18T13:44:17.576+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RMI'/><category scheme='http://www.blogger.com/atom/ns#' term='OAS'/><title type='text'>RMI-IIOP Example with oc4j 10.1.3.x</title><content type='html'>I have been trying to follow the rmi-iiop how to:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/tech/java/oc4j/htdocs/how-to-rmi-iiop.html"&gt;http://www.oracle.com/technology/tech/java/oc4j/htdocs/how-to-rmi-iiop.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;with oc4j 1013x. I experienced some issues and noticed some changes in the documentation compared to the previous versions.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download.oracle.com/docs/cd/E14101_01/doc.1013/e13975/rmi.htm#CHDBDEII"&gt;http://download.oracle.com/docs/cd/E14101_01/doc.1013/e13975/rmi.htm#CHDBDEII&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So I recreated the example to run with the latest oc4j and noted the following additional requirements:&lt;br /&gt;&lt;br /&gt;1. The client stub generation command has changed.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download.oracle.com/docs/cd/E14101_01/doc.1013/e13975/rmi.htm#i1084457"&gt;http://download.oracle.com/docs/cd/E14101_01/doc.1013/e13975/rmi.htm#i1084457&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You need to specified the '-iiopClientJar &lt;i&gt;stub_jar_filename'&lt;/i&gt; parameter during deployment.&lt;br /&gt;&lt;br /&gt;First start oc4j with command:&lt;br /&gt;&lt;span style="font-family:monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;java -DGenerateIIOP=true  -jar oc4j.jar&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then deploy the application to generate the client stub as follows:&lt;br /&gt;&lt;span style="font-family:monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;java -jar $J2EE_HOME/admin.jar&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;ormi://localhost admin welcome&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:monospace;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;-deploy -file filename&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:monospace;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;-deployment_name application_name&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);font-family:monospace;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;-iiopClientJar stub_jar_filename&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2. The client must have the &lt;span style="color: rgb(51, 51, 255);"&gt;ejb_sec.properties&lt;/span&gt; defined.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download.oracle.com/docs/cd/E14101_01/doc.1013/e13977/csiv2.htm#i1014488"&gt;http://download.oracle.com/docs/cd/E14101_01/doc.1013/e13977/csiv2.htm#i1014488&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In the example, the &lt;span style="color: rgb(51, 51, 255);"&gt;ejb_sec.properties&lt;/span&gt; contains the following properties:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;oc4j.iiop.trustedServers=*&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;client.sendpassword=true&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-size:100%;" &gt;&lt;span style="color: rgb(51, 51, 255);"&gt;nameservice.useSSL=false&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;3. The client requires the following 2 system properties:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-size:100%;" &gt;-Djavax.rmi.CORBA.PortableRemoteObjectClass=com.sun.corba.ee.impl.javax.rmi.PortableRemoteObject&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(51, 51, 255);font-size:100%;" &gt;&lt;span style="font-family:monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;-Dcom.oracle.CORBA.OrbManager=com.oracle.corba.ee.impl.orb.ORBManagerIm&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;4.  The client requires &lt;span style="color: rgb(51, 51, 255);"&gt;jazn.jar&lt;/span&gt; to be included in the classpath.&lt;br /&gt;&lt;br /&gt;You can download the example from &lt;a href="http://www.mediafire.com/?otjndjqxzxu"&gt;here&lt;/a&gt;. Follow the steps in the readme.txt to run it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-1765122060571459585?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/1765122060571459585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=1765122060571459585' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/1765122060571459585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/1765122060571459585'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2009/08/rmi-iiop-example-with-oc4j-1013x.html' title='RMI-IIOP Example with oc4j 10.1.3.x'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-9161362222722211476</id><published>2009-08-29T18:50:00.017+10:00</published><updated>2010-05-18T13:44:30.942+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RMI'/><title type='text'>java.rmi.AccessException: CORBA NO_PERMISSION error</title><content type='html'>I have been trying to run my RMI/IIOP client in Jdev 10135, and I kept on getting the following stack error:&lt;br /&gt;&lt;pre&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;java.rmi.AccessException&lt;/span&gt;: &lt;span style="color: rgb(0, 51, 204);"&gt;CORBA NO_PERMISSION 0 No; nested exception is: &lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;org.omg.CORBA.NO_PERMISSION&lt;/span&gt;: &lt;span style="color: rgb(0, 51, 204);"&gt;----------BEGIN server-side stack trace----------&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;org.omg.CORBA.NO_PERMISSION&lt;/span&gt;:   &lt;span style="color: rgb(0, 51, 204);"&gt;vmcid: 0x0  minor code: 0  completed: No&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;oracle.oc4j.corba.iiop.security.SecServerRequestInterceptor.receive_request(SecServerRequestInterceptor.java:355)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.interceptors.InterceptorInvoker.invokeServerInterceptorIntermediatePoint(InterceptorInvoker.java:509)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.interceptors.PIHandlerImpl.invokeServerPIIntermediatePoint(PIHandlerImpl.java:505)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.getServantWithPI(CorbaServerRequestDispatcherImpl.java:429)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:191)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1653)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1513)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:895)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:172)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:668)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:375)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.read(SocketOrChannelConnectionImpl.java:284)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.transport.ReaderThreadImpl.doWork(ReaderThreadImpl.java:73)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:382)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;----------END&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;server-side stack trace----------  vmcid: 0x0  minor code: 0  completed: No&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:204)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;javax.rmi.CORBA.Util.mapSystemException(Util.java:67)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;howto.rmiiiop.oc4j.ejb._RemoteHome_Stub.create(Unknown Source)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;howto.rmiiiop.oc4j.client.RemoteClient.run(RemoteClient.java:55)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;howto.rmiiiop.oc4j.client.RemoteClient.main(RemoteClient.java:91)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;Caused&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;by: org.omg.CORBA.NO_PERMISSION: ----------BEGIN server-side stack trace----------&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;org.omg.CORBA.NO_PERMISSION&lt;/span&gt;:   &lt;span style="color: rgb(0, 51, 204);"&gt;vmcid: 0x0  minor code: 0  completed: No&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;oracle.oc4j.corba.iiop.security.SecServerRequestInterceptor.receive_request(SecServerRequestInterceptor.java:355)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.interceptors.InterceptorInvoker.invokeServerInterceptorIntermediatePoint(InterceptorInvoker.java:509)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.interceptors.PIHandlerImpl.invokeServerPIIntermediatePoint(PIHandlerImpl.java:505)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.getServantWithPI(CorbaServerRequestDispatcherImpl.java:429)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:191)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1653)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1513)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:895)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:172)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:668)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:375)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.read(SocketOrChannelConnectionImpl.java:284)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.transport.ReaderThreadImpl.doWork(ReaderThreadImpl.java:73)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:382)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;----------END&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;server-side stack trace----------  vmcid: 0x0  minor code: 0  completed: No&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;java.lang.reflect.Constructor.newInstance(Constructor.java:494)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.protocol.giopmsgheaders.MessageBase.getSystemException(MessageBase.java:791)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.protocol.giopmsgheaders.ReplyMessage_1_2.getSystemException(ReplyMessage_1_2.java:97)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.getSystemExceptionReply(CorbaMessageMediatorImpl.java:546)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.processResponse(CorbaClientRequestDispatcherImpl.java:430)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.marshalingComplete(CorbaClientRequestDispatcherImpl.java:326)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.invoke(CorbaClientDelegateImpl.java:132)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;at&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:457)&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 0, 0);"&gt;...&lt;/span&gt; &lt;span style="color: rgb(0, 51, 204);"&gt;3 more&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;After reviewing the documentation http://download.oracle.com/docs/cd/E14101_01/doc.1013/e13975/rmi.htm#CHDBDEII I had no inside why this error was occurring or if there was any misconfiguration on my client. Evenually I found the the following documentation http://download.oracle.com/docs/cd/E14101_01/doc.1013/e13977/csiv2.htm#i1014488 which states:&lt;br /&gt;&lt;br /&gt;Any client, whether running inside a server or not, has EJB security properties. Table 19-2 following lists the EJB client security properties controlled by the ejb_sec.properties file. By default, OC4J searches for this file in the current directory when running as a client, or in ORACLE_HOME/j2ee/home/config when running in the server. You can specify the location of this file explicitly with the system property setting -Dejb_sec_properties_location=pathname.&lt;br /&gt;&lt;br /&gt;I then created the ejb_sec.properties file with the following settings:&lt;br /&gt;&lt;br /&gt;   oc4j.iiop.trustedServers=*&lt;br /&gt;   client.sendpassword=true&lt;br /&gt;   nameservice.useSSL=false&lt;br /&gt;&lt;br /&gt;Then I ran the client (as described by passing the file as system property) and it worked!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-9161362222722211476?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/9161362222722211476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=9161362222722211476' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/9161362222722211476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/9161362222722211476'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2009/08/javarmiaccessexception-corba.html' title='java.rmi.AccessException: CORBA NO_PERMISSION error'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-5773333951044494731</id><published>2009-08-25T13:18:00.009+10:00</published><updated>2010-05-18T13:44:42.860+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JDBC'/><title type='text'>Using useFetchSizeWithLongColumn and verifying prefetch returns the expected number of rows</title><content type='html'>The following is a simple example that uses 'useFetchSizeWithLongColumn' on a long column where a the row prefetch is set to 15. &lt;br /&gt;&lt;br /&gt;I confirm it returns 15 rows on each trip to the database by tracing the session and checking the trc file on the database.&lt;br /&gt;&lt;br /&gt;My code looks at follows:&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;package&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;project1&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;java&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;sql&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;Connection&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;java&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;sql&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;DriverManager&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;java&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;sql&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;ResultSet&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;java&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;sql&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;SQLException&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;java&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;sql&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;Statement&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;oracle&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;jdbc&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;OracleDriver&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;TestFetchSizeWithLongColumn&lt;/font&gt; &lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    &lt;font color="#336699"&gt;&lt;b&gt;private&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;Connection&lt;/font&gt; &lt;font color="#000000"&gt;conn&lt;/font&gt; &lt;font color="#000000"&gt;=&lt;/font&gt; &lt;font color="#996600"&gt;null&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;    &lt;font color="#336699"&gt;&lt;b&gt;private&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;Statement&lt;/font&gt; &lt;font color="#000000"&gt;stmt&lt;/font&gt; &lt;font color="#000000"&gt;=&lt;/font&gt; &lt;font color="#996600"&gt;null&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;    &lt;font color="#336699"&gt;&lt;b&gt;private&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;Statement&lt;/font&gt; &lt;font color="#000000"&gt;altstmt&lt;/font&gt; &lt;font color="#000000"&gt;=&lt;/font&gt; &lt;font color="#996600"&gt;null&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;    &lt;font color="#336699"&gt;&lt;b&gt;private&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;ResultSet&lt;/font&gt; &lt;font color="#000000"&gt;rset&lt;/font&gt; &lt;font color="#000000"&gt;=&lt;/font&gt; &lt;font color="#996600"&gt;null&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    &lt;font color="#336699"&gt;&lt;b&gt;final&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;String&lt;/font&gt; &lt;font color="#000000"&gt;traceSQL&lt;/font&gt; &lt;font color="#000000"&gt;=&lt;/font&gt; &lt;br /&gt;        &lt;font color="#0033cc"&gt;&amp;quot;select c.value || '/' || d.instance_name || '_ora_' || &amp;quot;&lt;/font&gt; &lt;font color="#000000"&gt;+&lt;/font&gt; &lt;br /&gt;        &lt;font color="#0033cc"&gt;&amp;quot;to_char(a.spid, 'fm99999') || '.trc' &amp;quot;&lt;/font&gt; &lt;font color="#000000"&gt;+&lt;/font&gt; &lt;br /&gt;        &lt;font color="#0033cc"&gt;&amp;quot;from v$process a, v$session b, v$parameter c, v$instance d &amp;quot;&lt;/font&gt; &lt;font color="#000000"&gt;+&lt;/font&gt; &lt;br /&gt;        &lt;font color="#0033cc"&gt;&amp;quot;where a.addr = b.paddr &amp;quot;&lt;/font&gt; &lt;font color="#000000"&gt;+&lt;/font&gt; &lt;font color="#0033cc"&gt;&amp;quot;and b.audsid = userenv('sessionid') &amp;quot;&lt;/font&gt; &lt;font color="#000000"&gt;+&lt;/font&gt; &lt;br /&gt;        &lt;font color="#0033cc"&gt;&amp;quot;and c.name = 'user_dump_dest'&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    &lt;font color="#336699"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;static&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;main&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;String&lt;/font&gt;&lt;font color="#000000"&gt;[]&lt;/font&gt; &lt;font color="#000000"&gt;args&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;throws&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;SQLException&lt;/font&gt; &lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br /&gt;        &lt;font color="#336699"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;TestFetchSizeWithLongColumn&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;run&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;    &lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    &lt;font color="#336699"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;run&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt; &lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br /&gt;        &lt;font color="#336699"&gt;&lt;b&gt;try&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;            &lt;font color="#000000"&gt;Connection&lt;/font&gt; &lt;font color="#000000"&gt;conn&lt;/font&gt; &lt;font color="#000000"&gt;=&lt;/font&gt; &lt;font color="#000000"&gt;getConnection&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;            &lt;font color="#000000"&gt;altstmt&lt;/font&gt; &lt;font color="#000000"&gt;=&lt;/font&gt; &lt;font color="#000000"&gt;conn&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;createStatement&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;            &lt;font color="#000000"&gt;stmt&lt;/font&gt; &lt;font color="#000000"&gt;=&lt;/font&gt; &lt;font color="#000000"&gt;conn&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;createStatement&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;            &lt;font color="#000000"&gt;altstmt&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;execute&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;alter session set events '10046 trace name &amp;quot;&lt;/font&gt; &lt;font color="#000000"&gt;+&lt;/font&gt; &lt;br /&gt;                            &lt;font color="#0033cc"&gt;&amp;quot;context  forever, level 12'&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;            &lt;font color="#000000"&gt;ResultSet&lt;/font&gt; &lt;font color="#000000"&gt;rset&lt;/font&gt; &lt;font color="#000000"&gt;=&lt;/font&gt; &lt;br /&gt;                &lt;font color="#000000"&gt;stmt&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;executeQuery&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;select search_condition,rownum&amp;quot;&lt;/font&gt; &lt;font color="#000000"&gt;+&lt;/font&gt; &lt;br /&gt;                                  &lt;font color="#0033cc"&gt;&amp;quot;from dba_constraints&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;            &lt;font color="#000000"&gt;altstmt&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;execute&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;alter session set events '10046 trace &amp;quot;&lt;/font&gt; &lt;font color="#000000"&gt;+&lt;/font&gt; &lt;br /&gt;                            &lt;font color="#0033cc"&gt;&amp;quot;name context off'&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;            &lt;font color="#000000"&gt;displayTraceFileName&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;conn&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;            &lt;font color="#808080"&gt;//            while (rset.next())&lt;/font&gt;&lt;br /&gt;            &lt;font color="#808080"&gt;//                System.out.println(rset.getInt(2));            &lt;/font&gt;&lt;br /&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;}&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;SQLException&lt;/font&gt; &lt;font color="#000000"&gt;sqle&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt; &lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br /&gt;            &lt;font color="#808080"&gt;//sqle.printStackTrace();&lt;/font&gt;&lt;br /&gt;            &lt;font color="#000000"&gt;System&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;out&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;sqlexception&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;}&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;finally&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br /&gt;            &lt;font color="#336699"&gt;&lt;b&gt;try&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br /&gt;                &lt;font color="#336699"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;rset&lt;/font&gt; &lt;font color="#000000"&gt;!=&lt;/font&gt; &lt;font color="#996600"&gt;null&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;br /&gt;                    &lt;font color="#000000"&gt;rset&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;close&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;                &lt;font color="#336699"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;stmt&lt;/font&gt; &lt;font color="#000000"&gt;!=&lt;/font&gt; &lt;font color="#996600"&gt;null&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;br /&gt;                    &lt;font color="#000000"&gt;stmt&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;close&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;                &lt;font color="#336699"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;altstmt&lt;/font&gt; &lt;font color="#000000"&gt;!=&lt;/font&gt; &lt;font color="#996600"&gt;null&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;br /&gt;                    &lt;font color="#000000"&gt;altstmt&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;close&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;                &lt;font color="#336699"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;conn&lt;/font&gt; &lt;font color="#000000"&gt;!=&lt;/font&gt; &lt;font color="#996600"&gt;null&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;br /&gt;                    &lt;font color="#000000"&gt;conn&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;close&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;            &lt;font color="#000000"&gt;}&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;Exception&lt;/font&gt; &lt;font color="#000000"&gt;ex&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt; &lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br /&gt;                &lt;font color="#000000"&gt;ex&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;printStackTrace&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;                &lt;font color="#000000"&gt;System&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;out&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;fatal error&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;            &lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;    &lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    &lt;font color="#336699"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;static&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;Connection&lt;/font&gt; &lt;font color="#000000"&gt;getConnection&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;throws&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;SQLException&lt;/font&gt; &lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;String&lt;/font&gt; &lt;font color="#000000"&gt;url&lt;/font&gt; &lt;font color="#000000"&gt;=&lt;/font&gt; &lt;br /&gt;            &lt;font color="#0033cc"&gt;&amp;quot;jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)&amp;quot;&lt;/font&gt; &lt;font color="#000000"&gt;+&lt;/font&gt; &lt;br /&gt;            &lt;font color="#0033cc"&gt;&amp;quot;(HOST=sracanov-au2.au.oracle.com)(PORT=1522))&amp;quot;&lt;/font&gt; &lt;font color="#000000"&gt;+&lt;/font&gt; &lt;br /&gt;            &lt;font color="#0033cc"&gt;&amp;quot;(CONNECT_DATA=(SERVICE_NAME=orcl)))&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;java&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;util&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;Properties&lt;/font&gt; &lt;font color="#000000"&gt;props&lt;/font&gt; &lt;font color="#000000"&gt;=&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;java&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;util&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;Properties&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;props&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;setProperty&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;user&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#0033cc"&gt;&amp;quot;system&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;props&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;setProperty&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;password&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#0033cc"&gt;&amp;quot;welcome1&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;props&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;setProperty&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;defaultRowPrefetch&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#0033cc"&gt;&amp;quot;15&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;props&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;setProperty&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;useFetchSizeWithLongColumn&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#0033cc"&gt;&amp;quot;true&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;DriverManager&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;registerDriver&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#336699"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;OracleDriver&lt;/font&gt;&lt;font color="#000000"&gt;())&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;Connection&lt;/font&gt; &lt;font color="#000000"&gt;conn&lt;/font&gt; &lt;font color="#000000"&gt;=&lt;/font&gt; &lt;font color="#000000"&gt;DriverManager&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;getConnection&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;url&lt;/font&gt;&lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#000000"&gt;props&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#336699"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;conn&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;    &lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    &lt;font color="#336699"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;displayTraceFileName&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;Connection&lt;/font&gt; &lt;font color="#000000"&gt;conn&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;throws&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;SQLException&lt;/font&gt; &lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;Statement&lt;/font&gt; &lt;font color="#000000"&gt;stmt&lt;/font&gt; &lt;font color="#000000"&gt;=&lt;/font&gt; &lt;font color="#000000"&gt;conn&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;createStatement&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;ResultSet&lt;/font&gt; &lt;font color="#000000"&gt;rset&lt;/font&gt; &lt;font color="#000000"&gt;=&lt;/font&gt; &lt;font color="#000000"&gt;stmt&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;executeQuery&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;traceSQL&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;rset&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;next&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;String&lt;/font&gt; &lt;font color="#000000"&gt;fileName&lt;/font&gt; &lt;font color="#000000"&gt;=&lt;/font&gt; &lt;font color="#000000"&gt;rset&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;getString&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#006600"&gt;1&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;System&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;out&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;TRACE FILE NAME : &amp;quot;&lt;/font&gt; &lt;font color="#000000"&gt;+&lt;/font&gt; &lt;font color="#000000"&gt;fileName&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;    &lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Now run the class as follows:&lt;br /&gt;&lt;br /&gt;[stever@STEVER-8500 C]$ java -version&lt;br /&gt;java version "1.5.0_06"&lt;br /&gt;Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)&lt;br /&gt;Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode)&lt;br /&gt;&lt;br /&gt;[stever@STEVER-8500 C]$ javac -cp .;"D:\My Contents\My Software\Oracle\JDBC Drivers\10.2.0.4\ojdbc14.jar" TestFetchSizeWithLongColumn.java&lt;br /&gt;&lt;br /&gt;[stever@STEVER-8500 C]$ java -cp .;"D:\My Contents\My Software\Oracle\JDBC Drivers\10.2.0.4\ojdbc14.jar" TestFetchSizeWithLongColumn&lt;br /&gt;TRACE FILE NAME : /u01/programs/oracle/product/10.2.0/db_1/admin/orcl/udump/orcl_ora_7002.trc&lt;br /&gt;&lt;br /&gt;[stever@STEVER-8500 C]$&lt;br /&gt;&lt;br /&gt;The result returned is the location of my trace file on the database. &lt;br /&gt;&lt;br /&gt;Upon checking the trace file, the following is shown:&lt;br /&gt;&lt;br /&gt;=====================&lt;br /&gt;PARSING IN CURSOR #1 len=51 dep=0 uid=5 oct=3 lid=5 tim=1221750605502677 hv=1856978345 ad='2bdf40f8'&lt;br /&gt;select search_condition,rownum from dba_constraints&lt;br /&gt;END OF STMT&lt;br /&gt;PARSE #1:c=0,e=108,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=1221750605502672&lt;br /&gt;BINDS #1:&lt;br /&gt;EXEC #1:c=0,e=98,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=1221750605502850&lt;br /&gt;WAIT #1: nam='SQL*Net message to client' ela= 2 driver id=1952673792 #bytes=1 p3=0 obj#=-1 tim=1221750605502898&lt;br /&gt;FETCH #1:c=232965,e=227064,p=0,cr=7679,cu=0,mis=0,r=15,dep=0,og=1,tim=1221750605730008&lt;br /&gt;WAIT #1: nam='SQL*Net message from client' ela= 77131 driver id=1952673792 #bytes=1 p3=0 obj#=-1 tim=1221750605807896&lt;br /&gt;=====================&lt;br /&gt;&lt;br /&gt;The line:&lt;br /&gt;&lt;br /&gt;FETCH #1:c=232965,e=227064,p=0,cr=7679,cu=0,mis=0,r=15,dep=0,og=1,tim=1221750605730008&lt;br /&gt;&lt;br /&gt;Contains 'r=15'. 15 rows are prefetched.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-5773333951044494731?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/5773333951044494731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=5773333951044494731' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/5773333951044494731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/5773333951044494731'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2009/08/using-usefetchsizewithlongcolumn-and.html' title='Using useFetchSizeWithLongColumn and verifying prefetch returns the expected number of rows'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-7824157090131452747</id><published>2009-07-07T13:43:00.014+10:00</published><updated>2010-05-18T13:53:02.435+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Weblogic'/><title type='text'>Closing socket as no data read from it during the configured idle timeout of 5 secs</title><content type='html'>In Jdeveloper 11.1.1.1.0, when I am running my web application I am frequently left with the following error from the integrated server:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255); font-weight: bold;"&gt;&amp;lt;Warning&amp;gt; &amp;lt;Socket&amp;gt; &amp;lt;BEA-000449&amp;gt; &amp;lt;Closing socket as no data read from it during the configured idle timeout of 5 secs&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;This is because I sometimes have multiple browsers/windows open of same application connections due to stopping and start the server each time opens a new window. Closing down all browsers/windows related to the application connection can avoid the problem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-7824157090131452747?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/7824157090131452747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=7824157090131452747' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/7824157090131452747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/7824157090131452747'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2009/07/closing-socket-as-no-data-read-from-it.html' title='Closing socket as no data read from it during the configured idle timeout of 5 secs'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-6083003689778956362</id><published>2009-07-06T14:18:00.002+10:00</published><updated>2010-05-18T13:48:02.862+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><category scheme='http://www.blogger.com/atom/ns#' term='Weblogic'/><title type='text'>WARNING: DeployerRunnable.run NoClassDefFoundErrororacle.oc4j.admin.internal.DeployerException: NoClassDefFoundError</title><content type='html'>When deploying a simple ADF application to standalone oc4j for the first time I get this error:&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;09/07/06 14:11:10 WARNING: DeployerRunnable.run NoClassDefFoundErrororacle.oc4j.admin.internal.DeployerException: NoClassDefFoundError&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        at oracle.oc4j.admin.internal.DeployerBase.execute(DeployerBase.java:134)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        at oracle.oc4j.admin.jmx.server.mbeans.deploy.OC4JDeployerRunnable.doRun(OC4JDeployerRunnable.java:52)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        at oracle.oc4j.admin.jmx.server.mbeans.deploy.DeployerRunnable.run(DeployerRunnable.java:81)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:298)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        at java.lang.Thread.run(Thread.java:595)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Caused by: java.lang.NoClassDefFoundError: oracle/jbo/JboException&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        at java.lang.Class.getDeclaredConstructors0(Native Method)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        at java.lang.Class.getConstructor0(Class.java:2671)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        at java.lang.Class.newInstance0(Class.java:321)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        at java.lang.Class.newInstance(Class.java:303)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        at com.sun.faces.config.ConfigureListener.configure(ConfigureListener.java:731)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        at com.sun.faces.config.ConfigureListener.configure(ConfigureListener.java:418)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:348)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        at com.evermind.server.http.HttpApplication.initDynamic(HttpApplication.java:1141)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        at com.evermind.server.http.HttpApplication.&lt;/span&gt;&lt;init&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(HttpApplication.java:741)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        at com.evermind.server.ApplicationStateRunning.getHttpApplication(ApplicationStateRunning.java:414)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        at com.evermind.server.Application.getHttpApplication(Application.java:570)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        at com.evermind.server.http.HttpSite$HttpApplicationRunTimeReference.createHttpApplicationFromReference(HttpSite.java:1987)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        at com.evermind.server.http.HttpSite$HttpApplicationRunTimeReference.&lt;/span&gt;&lt;init&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;(HttpSite.java:1906)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        at com.evermind.server.http.HttpSite.addHttpApplication(HttpSite.java:1603)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        at oracle.oc4j.admin.internal.WebApplicationBinder.bindWebApp(WebApplicationBinder.java:238)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        at oracle.oc4j.admin.internal.WebApplicationBinder.bindWebApp(WebApplicationBinder.java:99)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        at oracle.oc4j.admin.internal.ApplicationDeployer.bindWebApp(ApplicationDeployer.java:547)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        at oracle.oc4j.admin.internal.ApplicationDeployer.doDeploy(ApplicationDeployer.java:202)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        at oracle.oc4j.admin.internal.DeployerBase.execute(DeployerBase.java:93)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        ... 4 more&lt;/span&gt;&lt;/init&gt;&lt;/init&gt;&lt;/blockquote&gt;&lt;init&gt;&lt;init&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;This is because the ADF libraries are not installed on oc4j standalone.&lt;br /&gt;&lt;br /&gt;1. Shut down oc4j.&lt;br /&gt;2. Using the same Jdev version as oc4j, install the libraries from the menu: Tools -&gt; ADF Runtime Installer - Standalone OC4J.&lt;br /&gt;3. Select the oc4j home and install i.e D:\Oracle\oc4j\oc4j_extended_101330&lt;/init&gt;&lt;/init&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-6083003689778956362?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/6083003689778956362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=6083003689778956362' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/6083003689778956362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/6083003689778956362'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2009/07/warning-deployerrunnablerun.html' title='WARNING: DeployerRunnable.run NoClassDefFoundErrororacle.oc4j.admin.internal.DeployerException: NoClassDefFoundError'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-5012843973478260371</id><published>2009-07-02T14:48:00.019+10:00</published><updated>2010-05-18T13:47:18.277+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OC4J'/><category scheme='http://www.blogger.com/atom/ns#' term='OAS'/><title type='text'>Using log4j as a shared library in Oracle Application Server 10.1.3.x.</title><content type='html'>In this example I installed log4j as a shared library to my oc4j instance and then deploy my application from Jdev that utilises this library.&lt;br /&gt;&lt;br /&gt;First Download log4j from &lt;br /&gt;&lt;br /&gt;http://jakarta.apache.org/log4j/docs/download.html&lt;br /&gt;&lt;br /&gt;Deploying log4j as shared library.&lt;br /&gt;&lt;br /&gt;1. Unzip the downloaded log4j file.&lt;br /&gt;&lt;br /&gt;2. In OAS ASC, select your oc4j instance -&gt; Administration. Under Administration Tasks -&gt; Properties and select Shared Libraries.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9rl0CtIbSrw/Skw9COpm5zI/AAAAAAAAAD8/Ay5oLjJiAZg/s1600-h/ss001.jpg"&gt;&lt;img style="display:block; margin:0px 10px 10px 0; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 242px;" src="http://1.bp.blogspot.com/_9rl0CtIbSrw/Skw9COpm5zI/AAAAAAAAAD8/Ay5oLjJiAZg/s400/ss001.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5353721165538322226" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3. In Shared Libraries click Create.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9rl0CtIbSrw/Skw9KZM8BMI/AAAAAAAAAEE/blhSzHIiZFo/s1600-h/ss002.jpg"&gt;&lt;img style="display:block; margin:0px 10px 10px 0; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 183px;" src="http://4.bp.blogspot.com/_9rl0CtIbSrw/Skw9KZM8BMI/AAAAAAAAAEE/blhSzHIiZFo/s400/ss002.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5353721305809814722" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4. Enter the library name/version&lt;br /&gt;&lt;br /&gt;Shared Library Name = log4j&lt;br /&gt;Shared Library Version = 1.0&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9rl0CtIbSrw/Skw9SOqTURI/AAAAAAAAAEM/YRrruLltLLI/s1600-h/ss003.jpg"&gt;&lt;img style="display:block; margin:0px 10px 10px 0; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 190px;" src="http://2.bp.blogspot.com/_9rl0CtIbSrw/Skw9SOqTURI/AAAAAAAAAEM/YRrruLltLLI/s400/ss003.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5353721440419139858" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;5. Select the jar to load into the library.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9rl0CtIbSrw/Skw-L2Vz7AI/AAAAAAAAAEU/GFYumf-ZZXg/s1600-h/ss004.jpg"&gt;&lt;img style="display:block; margin:0px 10px 10px 0; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 210px;" src="http://1.bp.blogspot.com/_9rl0CtIbSrw/Skw-L2Vz7AI/AAAAAAAAAEU/GFYumf-ZZXg/s400/ss004.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5353722430323158018" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9rl0CtIbSrw/Skw-UjDFFOI/AAAAAAAAAEc/ddUBEOVhrCk/s1600-h/ss005.jpg"&gt;&lt;img style="display:block; margin:0px 10px 10px 0; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 101px;" src="http://2.bp.blogspot.com/_9rl0CtIbSrw/Skw-UjDFFOI/AAAAAAAAAEc/ddUBEOVhrCk/s400/ss005.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5353722579763139810" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;6. Click finish and see the loaded library.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9rl0CtIbSrw/Skw-Z6JIhPI/AAAAAAAAAEk/qfmkibjJd_Q/s1600-h/ss006.jpg"&gt;&lt;img style="display:block; margin:0px 10px 10px 0; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 160px;" src="http://2.bp.blogspot.com/_9rl0CtIbSrw/Skw-Z6JIhPI/AAAAAAAAAEk/qfmkibjJd_Q/s400/ss006.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5353722671861892338" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In Jdev, create a simple web application servlet that uses log4j.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9rl0CtIbSrw/Sk0igjkpbBI/AAAAAAAAAEs/Tz2PzX_JL14/s1600-h/JDev-Example.jpg"&gt;&lt;img style="display:block; margin:0 10px 10px 0;text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 281px;" src="http://3.bp.blogspot.com/_9rl0CtIbSrw/Sk0igjkpbBI/AAAAAAAAAEs/Tz2PzX_JL14/s400/JDev-Example.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5353973474713496594" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;7. My servlet looks like:&lt;br /&gt;&lt;pre&gt;&lt;font color="#336699"&gt;&lt;b&gt;package&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;project1&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;java&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;io&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;IOException&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;java&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;io&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;PrintWriter&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;javax&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;servlet&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;ServletConfig&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;javax&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;servlet&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;ServletException&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;javax&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;servlet&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;http&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;HttpServlet&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;javax&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;servlet&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;http&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;HttpServletRequest&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;javax&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;servlet&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;http&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;HttpServletResponse&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;org&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;apache&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;log4j&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;Logger&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;org&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;apache&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;log4j&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;PropertyConfigurator&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;Log4jDemoInOAS&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;extends&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;HttpServlet&lt;/font&gt; &lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br /&gt;    &lt;font color="#336699"&gt;&lt;b&gt;private&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;static&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;final&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;String&lt;/font&gt; &lt;font color="#000000"&gt;CONTENT_TYPE&lt;/font&gt; &lt;font color="#000000"&gt;=&lt;/font&gt; &lt;br /&gt;        &lt;font color="#0033cc"&gt;&amp;quot;text/html; charset=windows-1252&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;    &lt;font color="#000000"&gt;Logger&lt;/font&gt; &lt;font color="#000000"&gt;log&lt;/font&gt; &lt;font color="#000000"&gt;=&lt;/font&gt; &lt;font color="#000000"&gt;Logger&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;getLogger&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;Log4jDemoInOAS.class&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    &lt;font color="#336699"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;init&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;ServletConfig&lt;/font&gt; &lt;font color="#000000"&gt;config&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;throws&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;ServletException&lt;/font&gt; &lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br /&gt;        &lt;font color="#336699"&gt;&lt;b&gt;super&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;init&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;config&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;String&lt;/font&gt; &lt;font color="#000000"&gt;prefix&lt;/font&gt; &lt;font color="#000000"&gt;=&lt;/font&gt; &lt;font color="#000000"&gt;getServletContext&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;getRealPath&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;/&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;String&lt;/font&gt; &lt;font color="#000000"&gt;file&lt;/font&gt; &lt;font color="#000000"&gt;=&lt;/font&gt; &lt;font color="#000000"&gt;getInitParameter&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;log4j-prop-file&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#336699"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;file&lt;/font&gt; &lt;font color="#000000"&gt;!=&lt;/font&gt; &lt;font color="#996600"&gt;null&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt; &lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br /&gt;            &lt;font color="#000000"&gt;PropertyConfigurator&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;configure&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;prefix&lt;/font&gt; &lt;font color="#000000"&gt;+&lt;/font&gt; &lt;font color="#000000"&gt;file&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    &lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    &lt;font color="#336699"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;doGet&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;HttpServletRequest&lt;/font&gt; &lt;font color="#000000"&gt;request&lt;/font&gt;&lt;font color="#000000"&gt;,&lt;/font&gt; &lt;br /&gt;                      &lt;font color="#000000"&gt;HttpServletResponse&lt;/font&gt; &lt;font color="#000000"&gt;response&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;throws&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;ServletException&lt;/font&gt;&lt;font color="#000000"&gt;,&lt;/font&gt; &lt;br /&gt;                                                           &lt;font color="#000000"&gt;IOException&lt;/font&gt; &lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;response&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;setContentType&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;CONTENT_TYPE&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;PrintWriter&lt;/font&gt; &lt;font color="#000000"&gt;out&lt;/font&gt; &lt;font color="#000000"&gt;=&lt;/font&gt; &lt;font color="#000000"&gt;response&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;getWriter&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;out&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;&amp;lt;html&amp;gt;&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;out&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;Log4j Demo In OAS&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;out&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;&amp;lt;body&amp;gt;&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;out&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;&amp;lt;h2&amp;gt;Using log4j shared libraries in OAS Demo&amp;lt;/h2&amp;gt;&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;System&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;out&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;println&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;=== Log4jDemo ===&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;log&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;debug&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;== DEBUG Message ==&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;log&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;info&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;== INFO Message ==&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;log&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;warn&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;== WARN Message ==&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;log&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;error&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;== ERROR Message ==&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;        &lt;font color="#000000"&gt;log&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;fatal&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;== FATAL Message ==&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;        &lt;br /&gt;        &lt;font color="#000000"&gt;out&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;close&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;    &lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;/pre&gt;&lt;br /&gt;8. The orion-application.xml must import the library name define in step 4. It looks like:&lt;pre&gt;&lt;br /&gt;&lt;font color="#000000"&gt;   ...&lt;br /&gt;   &lt;/font&gt;&lt;font color="#006699"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#006699"&gt;&lt;b&gt;imported-shared-libraries&lt;/b&gt;&lt;/font&gt;&lt;font color="#006699"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;br /&gt;      &lt;/font&gt;&lt;font color="#006699"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#006699"&gt;&lt;b&gt;import-shared-library&lt;/b&gt;&lt;/font&gt; &lt;font color="#990000"&gt;name&lt;/font&gt;&lt;font color="#006699"&gt;=&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;log4j&amp;quot;&lt;/font&gt;&lt;font color="#006699"&gt;&amp;gt;&amp;lt;/&lt;/font&gt;&lt;font color="#006699"&gt;&lt;b&gt;import-shared-library&lt;/b&gt;&lt;/font&gt;&lt;font color="#006699"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;br /&gt;   &lt;/font&gt;&lt;font color="#006699"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#006699"&gt;&lt;b&gt;imported-shared-libraries&lt;/b&gt;&lt;/font&gt;&lt;font color="#006699"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;br /&gt;   ...&lt;/font&gt;&lt;/pre&gt;&lt;br /&gt;http://download-west.oracle.com/docs/cd/B32110_01/web.1013/b28957/deploysimple.htm#CHDIEFGE&lt;br /&gt;&lt;br /&gt;9. Now, before deploying the application to oc4j, I need to uncheck the log4j library that we included in the JDev application during development. This is to ensure that when Jdev packages the application it does not for include the library in the package. From the deployment properties, uncheck this library. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9rl0CtIbSrw/Sk007a8PzOI/AAAAAAAAAFM/zFMukWW6lfE/s1600-h/LibraryDeploymentProperties.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 242px;" src="http://4.bp.blogspot.com/_9rl0CtIbSrw/Sk007a8PzOI/AAAAAAAAAFM/zFMukWW6lfE/s400/LibraryDeploymentProperties.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5353993727462329570" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;10. Deploy the application and see the opmn container logs for the results.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9rl0CtIbSrw/Sk00lta3-jI/AAAAAAAAAFE/0U1YIMEwAw4/s1600-h/Check.Log.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 289px;" src="http://1.bp.blogspot.com/_9rl0CtIbSrw/Sk00lta3-jI/AAAAAAAAAFE/0U1YIMEwAw4/s400/Check.Log.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5353993354465507890" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-5012843973478260371?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/5012843973478260371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=5012843973478260371' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/5012843973478260371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/5012843973478260371'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2009/07/using-log4j-as-shared-library-in-oracle.html' title='Using log4j as a shared library in Oracle Application Server 10.1.3.x.'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_9rl0CtIbSrw/Skw9COpm5zI/AAAAAAAAAD8/Ay5oLjJiAZg/s72-c/ss001.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-9185536103500105791</id><published>2009-05-13T13:29:00.015+10:00</published><updated>2010-05-18T13:47:33.946+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OC4J'/><category scheme='http://www.blogger.com/atom/ns#' term='OAS'/><title type='text'>Using admin_client.jar to deploy an application to oc4j</title><content type='html'>An example of deploying an application to a single OC4J instance through the command line.&lt;br /&gt;&lt;br /&gt;You can deploy an application using the admin_client.jar from the command line. Either locally or remotely. If you want to deploy from remotely, you will first need to download the Administration Client. Ensure you download the same client version as your OAS version.&lt;br /&gt;&lt;br /&gt;10.1.3.0&lt;br /&gt;&lt;br /&gt;http://download.oracle.com/otn/java/oc4j/1013/oc4j_admin_client_101300.zip&lt;br /&gt;&lt;br /&gt;10.1.3.1&lt;br /&gt;&lt;br /&gt;http://download.oracle.com/otn/java/oc4j/101310/oc4j_admin_client_101310.zip&lt;br /&gt;&lt;br /&gt;10.1.3.2&lt;br /&gt;&lt;br /&gt;http://download.oracle.com/otn/java/oc4j/101320/oc4j_admin_client_101320.zip&lt;br /&gt;&lt;br /&gt;10.1.3.3 &amp; 10.1.3.4&lt;br /&gt;&lt;br /&gt;http://www.oracle.com/technology/software/products/ias/htdocs/utilsoft.html&lt;br /&gt;&lt;br /&gt;In this example I will only deploy locally. Further details can be found here:&lt;br /&gt;http://download-west.oracle.com/docs/cd/B32110_01/web.1013/b28951/adminclient.htm#BABFHIEB&lt;br /&gt;&lt;br /&gt;1. Check the instance I want to deploy to is up and running.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[sracanov@sracanov-au D]$ opmnctl status&lt;br /&gt;&lt;br /&gt;Processes in Instance: web.sracanov-au.au.oracle.com&lt;br /&gt;---------------------------------+--------------------+---------+---------&lt;br /&gt;ias-component                    | process-type       |     pid | status&lt;br /&gt;---------------------------------+--------------------+---------+---------&lt;br /&gt;OC4JGroup:default_group          | OC4J:OC4J_Apps2    |    4296 | Alive&lt;br /&gt;OC4JGroup:default_group          | OC4J:home          |    2308 | Alive&lt;br /&gt;HTTP_Server                      | HTTP_Server        |    2732 | Alive&lt;br /&gt;ASG                              | ASG                |     N/A | Down&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;2. Find the opmn port.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[sracanov@sracanov-au D]$ opmnctl status -port&lt;br /&gt;sracanov-au:6007&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;3. Go to the $OH/j2ee/home folder where admin_client.jar sits.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[sracanov@sracanov-au D]$ cd %ORACLE_HOME%\j2ee\home&lt;br /&gt;&lt;br /&gt;[sracanov@sracanov-au D]$ pwd&lt;br /&gt;D:\Oracle\product\10.1.3.2.0\OracleAS_1\j2ee\home&lt;br /&gt;&lt;br /&gt;[sracanov@sracanov-au D]$ dir | grep admin_&lt;br /&gt;11/01/2007  06:53 PM               733 admin_client.jar&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;4. Deploy the application to oc4j instance. In my example OC4J_Apps2. The command line should looks something like:&lt;br /&gt;&lt;br /&gt;java -jar admin_client.jar deployer:oc4j:opmn://&lt;Host&gt;:&lt;OPMN Port&gt;/&lt;OC4J Container&gt; &lt;oc4jadmin&gt; &lt;password&gt; -deploy -file C:\drvtest.ear -deploymentName drvtest -bindAllWebApps&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[sracanov@sracanov-au D]$ echo %JAVA_HOME%&lt;br /&gt;D:\Oracle\product\10.1.3.2.0\OracleAS_1\jdk&lt;br /&gt;&lt;br /&gt;[sracanov@sracanov-au D]$ java -version&lt;br /&gt;java version "1.5.0_06"&lt;br /&gt;Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)&lt;br /&gt;Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode)&lt;br /&gt;&lt;br /&gt;[sracanov@sracanov-au D]$ java -jar admin_client.jar deployer:oc4j:opmn://localhost:6007/OC4J_Apps2&lt;br /&gt;oc4jadmin welcome1 -deploy -file C:\drvtest.ear -deploymentName drvtest -bindAllWebApps&lt;br /&gt;09/05/13 13:23:14 Notification ==&gt;Application Deployer for drvtest STARTS.&lt;br /&gt;&lt;br /&gt;09/05/13 13:23:14 Notification ==&gt;Copy the archive to D:\Oracle\product\10.1.3.2.0&lt;br /&gt;\OracleAS_1\j2ee\OC4J_Apps2\applications\drvtest.ear&lt;br /&gt;&lt;br /&gt;09/05/13 13:23:14 Notification ==&gt;Initialize D:\Oracle\product\10.1.3.2.0\OracleAS_1&lt;br /&gt;\j2ee\OC4J_Apps2\applications\drvtest.ear begins...&lt;br /&gt;&lt;br /&gt;09/05/13 13:23:14 Notification ==&gt;Unpacking drvtest.ear&lt;br /&gt;&lt;br /&gt;09/05/13 13:23:14 Notification ==&gt;Done unpacking drvtest.ear&lt;br /&gt;&lt;br /&gt;09/05/13 13:23:14 Notification ==&gt;Unpacking drvtest.war&lt;br /&gt;&lt;br /&gt;09/05/13 13:23:14 Notification ==&gt;Done unpacking drvtest.war&lt;br /&gt;&lt;br /&gt;09/05/13 13:23:14 Notification ==&gt;Initialize D:\Oracle\product\10.1.3.2.0\OracleAS_1&lt;br /&gt;\j2ee\OC4J_Apps2\applications\drvtest.ear ends...&lt;br /&gt;&lt;br /&gt;09/05/13 13:23:14 Notification ==&gt;Starting application : drvtest&lt;br /&gt;&lt;br /&gt;09/05/13 13:23:14 Notification ==&gt;Initializing ClassLoader(s)&lt;br /&gt;&lt;br /&gt;09/05/13 13:23:14 Notification ==&gt;Initializing EJB container&lt;br /&gt;&lt;br /&gt;09/05/13 13:23:14 Notification ==&gt;Loading connector(s)&lt;br /&gt;&lt;br /&gt;09/05/13 13:23:14 Notification ==&gt;Starting up resource adapters&lt;br /&gt;&lt;br /&gt;09/05/13 13:23:14 Notification ==&gt;Initializing EJB sessions&lt;br /&gt;&lt;br /&gt;09/05/13 13:23:14 Notification ==&gt;Committing ClassLoader(s)&lt;br /&gt;&lt;br /&gt;09/05/13 13:23:14 Notification ==&gt;Initialize drvtest begins...&lt;br /&gt;&lt;br /&gt;09/05/13 13:23:14 Notification ==&gt;Initialize drvtest ends...&lt;br /&gt;&lt;br /&gt;09/05/13 13:23:14 Notification ==&gt;Started application : drvtest&lt;br /&gt;&lt;br /&gt;09/05/13 13:23:14 Notification ==&gt;Binding web application(s) to site default-web-site begins...&lt;br /&gt;&lt;br /&gt;09/05/13 13:23:14 Notification ==&gt;Binding drvtest web-module for application drvtest &lt;br /&gt;to site default-web-site under context root drvtest&lt;br /&gt;&lt;br /&gt;09/05/13 13:23:17 Notification ==&gt;Initializing Servlet: &lt;br /&gt;org.apache.struts.action.ActionServlet for web application drvtest&lt;br /&gt;&lt;br /&gt;09/05/13 13:23:17 Notification ==&gt;Binding web application(s) to site &lt;br /&gt;default-web-site ends...&lt;br /&gt;&lt;br /&gt;09/05/13 13:23:17 Notification ==&gt;Application Deployer for drvtest COMPLETES. &lt;br /&gt;Operation time: 3328 msecs&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;5. Check the application is deployed and running:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[sracanov@sracanov-au D]$ opmnctl status -app&lt;br /&gt;&lt;br /&gt;Applications in Instance: web.sracanov-au.au.oracle.com&lt;br /&gt;&lt;br /&gt;application type: OC4J&lt;br /&gt;-----+-----------+---------+---------+----------------+----------+--------&lt;br /&gt;pid  | name      | state   | rtid    | classification | routable | parent&lt;br /&gt;-----+-----------+---------+---------+----------------+----------+--------&lt;font color=red&gt;&lt;br /&gt;4296 | drvtest   | started | g_rt_id | external       | true     | default&lt;/font&gt;&lt;br /&gt;4296 | system    | started | g_rt_id | external       | true     |&lt;br /&gt;4296 | default   | started | g_rt_id | external       | true     | system&lt;br /&gt;4296 | jamagent  | started | g_rt_id | external       | true     | default&lt;br /&gt;4296 | ascontrol | stopped | g_rt_id | external       | false    |&lt;br /&gt;4296 | datatags  | started | g_rt_id | internal       | true     | default&lt;br /&gt;4296 | javasso   | stopped | g_rt_id | internal       | true     |&lt;br /&gt;2308 | system    | started | g_rt_id | external       | true     |&lt;br /&gt;2308 | default   | started | g_rt_id | external       | true     | system&lt;br /&gt;2308 | ascontrol | started | g_rt_id | external       | true     | system&lt;br /&gt;2308 | datatags  | started | g_rt_id | internal       | true     | default&lt;br /&gt;2308 | javasso   | stopped | g_rt_id | internal       | true     |&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-9185536103500105791?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/9185536103500105791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=9185536103500105791' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/9185536103500105791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/9185536103500105791'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2009/05/using-adminclientjar-to-deploy.html' title='Using admin_client.jar to deploy an application to oc4j'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-6522465488675580710</id><published>2009-04-20T09:11:00.012+10:00</published><updated>2010-05-18T13:46:44.506+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JDev'/><title type='text'>JDev11g Export Table To Excel</title><content type='html'>JDev 11g offers a simple way to export an ADF table to excel in a couple simple steps.&lt;br /&gt;&lt;br /&gt;1. Create af:panelCollection on the jspx page.&lt;br /&gt;2. Drag a data control onto af:panelCollection and drop it as table.&lt;br /&gt;3. Set af:table id to table.&lt;br /&gt;4. Expand Panel Collection facets, and drop af:toolbar on toolbar facet.&lt;br /&gt;5. Drop af:commandButton on af:toolbar. Set the text to "Export To Excel"&lt;br /&gt;6. Drop af:exportCollectionActionListener on af:commandButton. And set the following:&lt;br /&gt;&lt;br /&gt;ExportId: table&lt;br /&gt;Type: excelHTML&lt;br /&gt;Filename: Emp.xls&lt;br /&gt;Title: Employees.&lt;br /&gt;&lt;br /&gt;The exportId needs to bind to the af:table id. Which we set as 'table' in step 3&lt;br /&gt;&lt;br /&gt;7. Run the jspx page and test the export button.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9rl0CtIbSrw/Seu4FHV0IHI/AAAAAAAAAD0/N5ksJKCCoEc/s1600-h/ExportToExcel.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 347px;" src="http://2.bp.blogspot.com/_9rl0CtIbSrw/Seu4FHV0IHI/AAAAAAAAAD0/N5ksJKCCoEc/s400/ExportToExcel.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5326553382305144946" /&gt;&lt;/a&gt;&lt;br /&gt;This is how the my final code looks like:&lt;pre&gt;&lt;br /&gt;&amp;lt;panelCollection&amp;gt;&lt;br /&gt;  &amp;lt;facet name=&amp;quot;menus&amp;quot;/&amp;gt;&lt;br /&gt;  &amp;lt;facet name=&amp;quot;toolbar&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;toolbar&amp;gt;&lt;br /&gt;      &amp;lt;commandButton text=&amp;quot;Export To Excel&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;exportCollectionActionListener exportedId=&amp;quot;table&amp;quot; type=&amp;quot;excelHTML&amp;quot;&lt;br /&gt;                                        filename=&amp;quot;Emp.xls&amp;quot; title=&amp;quot;Employees&amp;quot;/&amp;gt;&lt;br /&gt;      &amp;lt;/commandButton&amp;gt;&lt;br /&gt;    &amp;lt;/toolbar&amp;gt;&lt;br /&gt;  &amp;lt;/facet&amp;gt;&lt;br /&gt;  &amp;lt;facet name=&amp;quot;statusbar&amp;quot;/&amp;gt;&lt;br /&gt;  &amp;lt;table value=&amp;quot;#{bindings.EmpView1.collectionModel}&amp;quot; var=&amp;quot;row&amp;quot;&lt;br /&gt;         rows=&amp;quot;#{bindings.EmpView1.rangeSize}&amp;quot;&lt;br /&gt;         emptyText=&amp;quot;#{bindings.EmpView1.viewable ? 'No rows yet.' : 'Access Denied.'}&amp;quot;&lt;br /&gt;         fetchSize=&amp;quot;#{bindings.EmpView1.rangeSize}&amp;quot; filterVisible=&amp;quot;false&amp;quot;&lt;br /&gt;         id=&amp;quot;table&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;column sortProperty=&amp;quot;Empno&amp;quot; sortable=&amp;quot;false&amp;quot;&lt;br /&gt;            headerText=&amp;quot;#{bindings.EmpView1.hints.Empno.label}&amp;quot;&lt;br /&gt;            filterable=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;      &amp;lt;outputText value=&amp;quot;#{row.Empno}&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;convertNumber groupingUsed=&amp;quot;false&amp;quot;&lt;br /&gt;                       pattern=&amp;quot;#{bindings.EmpView1.hints.Empno.format}&amp;quot;/&amp;gt;&lt;br /&gt;      &amp;lt;/outputText&amp;gt;&lt;br /&gt;    &amp;lt;/column&amp;gt;&lt;br /&gt;    ...&lt;br /&gt;    ...&lt;br /&gt;    ...&lt;br /&gt;  &amp;lt;/table&amp;gt;&lt;br /&gt;&amp;lt;/panelCollection&amp;gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-6522465488675580710?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/6522465488675580710/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=6522465488675580710' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/6522465488675580710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/6522465488675580710'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2009/04/jdev11g-export-table-to-excel.html' title='JDev11g Export Table To Excel'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_9rl0CtIbSrw/Seu4FHV0IHI/AAAAAAAAAD0/N5ksJKCCoEc/s72-c/ExportToExcel.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-3086614873280848909</id><published>2009-04-16T11:01:00.006+10:00</published><updated>2010-05-18T13:46:32.047+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JDev'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><title type='text'>Jdev 11g Web Service WSDL Parameter Name</title><content type='html'>&lt;pre&gt;&lt;br /&gt;&lt;font color="#000000"&gt;With Jdev 11g, after generating a Web Service from a java class, the WSDL contains the following &lt;br /&gt;parameter names:&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;/font&gt;&lt;font color="#006699"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#006699"&gt;&lt;b&gt;xsd:complexType&lt;/b&gt;&lt;/font&gt; &lt;font color="#990000"&gt;name&lt;/font&gt;&lt;font color="#006699"&gt;=&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;sayHello&amp;quot;&lt;/font&gt;&lt;font color="#006699"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;br /&gt;  &lt;/font&gt;&lt;font color="#006699"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#006699"&gt;&lt;b&gt;xsd:sequence&lt;/b&gt;&lt;/font&gt;&lt;font color="#006699"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;br /&gt;     &lt;/font&gt;&lt;font color="#006699"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#006699"&gt;&lt;b&gt;xsd:element&lt;/b&gt;&lt;/font&gt; &lt;font color="#990000"&gt;name&lt;/font&gt;&lt;font color="#006699"&gt;=&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;arg0&amp;quot;&lt;/font&gt; &lt;font color="#990000"&gt;type&lt;/font&gt;&lt;font color="#006699"&gt;=&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;xsd:string&amp;quot;&lt;/font&gt;&lt;font color="#006699"&gt;/&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;br /&gt;     &lt;/font&gt;&lt;font color="#006699"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#006699"&gt;&lt;b&gt;xsd:element&lt;/b&gt;&lt;/font&gt; &lt;font color="#990000"&gt;name&lt;/font&gt;&lt;font color="#006699"&gt;=&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;arg1&amp;quot;&lt;/font&gt; &lt;font color="#990000"&gt;type&lt;/font&gt;&lt;font color="#006699"&gt;=&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;xsd:string&amp;quot;&lt;/font&gt;&lt;font color="#006699"&gt;/&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;br /&gt;  &lt;/font&gt;&lt;font color="#006699"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#006699"&gt;&lt;b&gt;xsd:sequence&lt;/b&gt;&lt;/font&gt;&lt;font color="#006699"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="#006699"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#006699"&gt;&lt;b&gt;xsd:complexType&lt;/b&gt;&lt;/font&gt;&lt;font color="#006699"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;&lt;font color="#000000"&gt;My&lt;/font&gt; &lt;font color="#000000"&gt;java&lt;/font&gt; &lt;font color="#000000"&gt;code&lt;/font&gt; &lt;font color="#000000"&gt;function&lt;/font&gt; &lt;font color="#000000"&gt;looks&lt;/font&gt; &lt;font color="#000000"&gt;like&lt;/font&gt;&lt;font color="#000000"&gt;:&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;...&lt;/font&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;String&lt;/font&gt; &lt;font color="#000000"&gt;sayHello&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;String&lt;/font&gt; &lt;font color="#000000"&gt;firstname&lt;/font&gt;&lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#000000"&gt;String&lt;/font&gt; &lt;font color="#000000"&gt;lastname&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt; &lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br /&gt;  &lt;font color="#336699"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/font&gt; &lt;font color="#0033cc"&gt;&amp;quot;Hello &amp;quot;&lt;/font&gt; &lt;font color="#000000"&gt;+&lt;/font&gt; &lt;font color="#000000"&gt;firstname&lt;/font&gt; &lt;font color="#000000"&gt;+&lt;/font&gt; &lt;font color="#0033cc"&gt;&amp;quot; &amp;quot;&lt;/font&gt; &lt;font color="#000000"&gt;+&lt;/font&gt; &lt;font color="#000000"&gt;lastname&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;...&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;With Jdev 10g , the same code generates the appropriate values:&lt;br /&gt;...&lt;br /&gt;&lt;/font&gt;&lt;font color="#006699"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#006699"&gt;&lt;b&gt;xsd:complexType&lt;/b&gt;&lt;/font&gt; &lt;font color="#990000"&gt;name&lt;/font&gt;&lt;font color="#006699"&gt;=&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;sayHello&amp;quot;&lt;/font&gt;&lt;font color="#006699"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;br /&gt;  &lt;/font&gt;&lt;font color="#006699"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#006699"&gt;&lt;b&gt;xsd:sequence&lt;/b&gt;&lt;/font&gt;&lt;font color="#006699"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;br /&gt;     &lt;/font&gt;&lt;font color="#006699"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#006699"&gt;&lt;b&gt;xsd:element&lt;/b&gt;&lt;/font&gt; &lt;font color="#990000"&gt;name&lt;/font&gt;&lt;font color="#006699"&gt;=&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;firstname&amp;quot;&lt;/font&gt; &lt;font color="#990000"&gt;type&lt;/font&gt;&lt;font color="#006699"&gt;=&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;xsd:string&amp;quot;&lt;/font&gt;&lt;font color="#006699"&gt;/&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;br /&gt;     &lt;/font&gt;&lt;font color="#006699"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#006699"&gt;&lt;b&gt;xsd:element&lt;/b&gt;&lt;/font&gt; &lt;font color="#990000"&gt;name&lt;/font&gt;&lt;font color="#006699"&gt;=&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;lastname&amp;quot;&lt;/font&gt; &lt;font color="#990000"&gt;type&lt;/font&gt;&lt;font color="#006699"&gt;=&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;xsd:string&amp;quot;&lt;/font&gt;&lt;font color="#006699"&gt;/&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;br /&gt;  &lt;/font&gt;&lt;font color="#006699"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#006699"&gt;&lt;b&gt;xsd:sequence&lt;/b&gt;&lt;/font&gt;&lt;font color="#006699"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="#006699"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#006699"&gt;&lt;b&gt;xsd:complexType&lt;/b&gt;&lt;/font&gt;&lt;font color="#006699"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;To workaround this in 11g, I need to create my java class as follows:&lt;br /&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;package&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;project1&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;javax&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;jws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;WebMethod&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;javax&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;jws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;WebParam&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;javax&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;jws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;WebService&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#000000"&gt;@&lt;/font&gt;&lt;font color="#000000"&gt;WebService&lt;/font&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;Class1&lt;/font&gt; &lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br /&gt;    &lt;font color="#000000"&gt;@&lt;/font&gt;&lt;font color="#000000"&gt;WebMethod&lt;/font&gt;&lt;br /&gt;    &lt;font color="#336699"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;String&lt;/font&gt; &lt;font color="#000000"&gt;sayHello&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;@&lt;/font&gt;&lt;font color="#000000"&gt;WebParam&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;name&lt;/font&gt; &lt;font color="#000000"&gt;=&lt;/font&gt; &lt;font color="#0033cc"&gt;&amp;quot;fname&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt; &lt;font color="#000000"&gt;String&lt;/font&gt; &lt;font color="#000000"&gt;firstname&lt;/font&gt;&lt;font color="#000000"&gt;,&lt;/font&gt;&lt;br /&gt;                           &lt;font color="#000000"&gt;@&lt;/font&gt;&lt;font color="#000000"&gt;WebParam&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;name&lt;/font&gt; &lt;font color="#000000"&gt;=&lt;/font&gt; &lt;font color="#0033cc"&gt;&amp;quot;lname&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt; &lt;font color="#000000"&gt;String&lt;/font&gt; &lt;font color="#000000"&gt;lastname&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt; &lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br /&gt;        &lt;font color="#336699"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/font&gt; &lt;font color="#0033cc"&gt;&amp;quot;Hello &amp;quot;&lt;/font&gt; &lt;font color="#000000"&gt;+&lt;/font&gt; &lt;font color="#000000"&gt;firstname&lt;/font&gt; &lt;font color="#000000"&gt;+&lt;/font&gt; &lt;font color="#0033cc"&gt;&amp;quot; &amp;quot;&lt;/font&gt; &lt;font color="#000000"&gt;+&lt;/font&gt; &lt;font color="#000000"&gt;lastname&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;    &lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;And now my generated WSDL looks like:&lt;br /&gt;...&lt;br /&gt;&lt;/font&gt;&lt;font color="#006699"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#006699"&gt;&lt;b&gt;xsd:complexType&lt;/b&gt;&lt;/font&gt; &lt;font color="#990000"&gt;name&lt;/font&gt;&lt;font color="#006699"&gt;=&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;sayHello&amp;quot;&lt;/font&gt;&lt;font color="#006699"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;br /&gt;  &lt;/font&gt;&lt;font color="#006699"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#006699"&gt;&lt;b&gt;xsd:sequence&lt;/b&gt;&lt;/font&gt;&lt;font color="#006699"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;br /&gt;     &lt;/font&gt;&lt;font color="#006699"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#006699"&gt;&lt;b&gt;xsd:element&lt;/b&gt;&lt;/font&gt; &lt;font color="#990000"&gt;name&lt;/font&gt;&lt;font color="#006699"&gt;=&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;fname&amp;quot;&lt;/font&gt; &lt;font color="#990000"&gt;type&lt;/font&gt;&lt;font color="#006699"&gt;=&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;xsd:string&amp;quot;&lt;/font&gt;&lt;font color="#006699"&gt;/&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;br /&gt;     &lt;/font&gt;&lt;font color="#006699"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#006699"&gt;&lt;b&gt;xsd:element&lt;/b&gt;&lt;/font&gt; &lt;font color="#990000"&gt;name&lt;/font&gt;&lt;font color="#006699"&gt;=&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;lname&amp;quot;&lt;/font&gt; &lt;font color="#990000"&gt;type&lt;/font&gt;&lt;font color="#006699"&gt;=&lt;/font&gt;&lt;font color="#0033cc"&gt;&amp;quot;xsd:string&amp;quot;&lt;/font&gt;&lt;font color="#006699"&gt;/&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;br /&gt;  &lt;/font&gt;&lt;font color="#006699"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#006699"&gt;&lt;b&gt;xsd:sequence&lt;/b&gt;&lt;/font&gt;&lt;font color="#006699"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="#006699"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#006699"&gt;&lt;b&gt;xsd:complexType&lt;/b&gt;&lt;/font&gt;&lt;font color="#006699"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;http://java.sun.com/javaee/5/docs/api/javax/jws/WebParam.html&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-3086614873280848909?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/3086614873280848909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=3086614873280848909' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/3086614873280848909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/3086614873280848909'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2009/04/jdev-11g-web-service-wsdl-parameter.html' title='Jdev 11g Web Service WSDL Parameter Name'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-1135553672658300735</id><published>2009-02-25T13:57:00.019+11:00</published><updated>2010-05-18T13:52:13.891+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DBMS Callout'/><category scheme='http://www.blogger.com/atom/ns#' term='jpub'/><title type='text'>ORA-29532: HTTP transport error: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send fail</title><content type='html'>After running jpub using the 'get joke' web service and then calling the web service in sqlplus, I get the following error:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[sracanov@sracanov-au D]$ jpub -user=scott/tiger -sysuser=sys/welcome1&lt;br /&gt;-proxywsdl=getjoke.asmx.xml &lt;br /&gt;-endpoint=http://interpressfact.net/webservices/getjoke.asmx&lt;br /&gt;tmp\src\genproxy\GetJokeSoapClientJPub.java&lt;br /&gt;plsql_wrapper.sql&lt;br /&gt;plsql_dropper.sql&lt;br /&gt;plsql_grant.sql&lt;br /&gt;plsql_revoke.sql&lt;br /&gt;Executing plsql_dropper.sql&lt;br /&gt;Executing plsql_wrapper.sql&lt;br /&gt;Executing plsql_grant.sql&lt;br /&gt;Loading plsql_proxy.jar&lt;br /&gt;&lt;br /&gt;[sracanov@sracanov-au D]$ sqlplus scott/tiger&lt;br /&gt;Logging into sqlplus - scott @orcl&lt;br /&gt;&lt;br /&gt;SQL*Plus: Release 10.2.0.3.0 - Production on Wed Feb 25 14:06:32 2009&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.&lt;br /&gt;&lt;br /&gt;Connected to:&lt;br /&gt;Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production&lt;br /&gt;With the Partitioning, OLAP and Data Mining options&lt;br /&gt;&lt;br /&gt;scott@orcl&gt; select jpub_plsql_wrapper.getjoke('') from dual;&lt;br /&gt;select jpub_plsql_wrapper.getjoke('') from dual&lt;br /&gt;&lt;FONT COLOR=RED&gt;                                           *&lt;br /&gt;ERROR at line 1:&lt;br /&gt;ORA-29532: Java call terminated by uncaught Java exception:&lt;br /&gt;java.rmi.RemoteException: java.rmi.RemoteException:; nested exception is:&lt;br /&gt;HTTP transport error: javax.xml.soap.SOAPException:&lt;br /&gt;java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message&lt;br /&gt;send failed: Connection refused&lt;/FONT&gt;&lt;/pre&gt;&lt;br /&gt;This error is occurring due to the proxy. So I need to execute setHttpProxy(host VARCHAR2, port NUMBER) to avoid this.&lt;br /&gt;&lt;br /&gt;scott@orcl&gt; call jpub_plsql_wrapper.setHttpProxy('www-proxy',8080);&lt;br /&gt;&lt;br /&gt;Call completed.&lt;br /&gt;&lt;br /&gt;scott@orcl&gt; select jpub_plsql_wrapper.getjoke('') from dual;&lt;br /&gt;&lt;br /&gt;JPUB_PLSQL_WRAPPER.GETJOKE('')&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;Murphy's Military Laws:15.&lt;br /&gt;Don't be conspicuous. In the combat zone, it draws fire. Out of the combat zone,&lt;br /&gt; it draws sergeants.&lt;br /&gt;&lt;br /&gt;To completely avoid this error, set jpub to call the WSDL directly rather than a local file and set the http proxy for jpub.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[sracanov@sracanov-au D]$ jpub -user=scott/tiger -sysuser=sys/welcome1 &lt;br /&gt;-proxywsdl=http://interpressfact.net/webservices/getjoke.asmx?WSDL &lt;br /&gt;-endpoint=http://interpressfact.net/webservices/getjoke.asmx &lt;br /&gt;-httpproxy=www-proxy:8080&lt;br /&gt;tmp\src\genproxy\GetJokeSoapClientJPub.java&lt;br /&gt;plsql_wrapper.sql&lt;br /&gt;plsql_dropper.sql&lt;br /&gt;plsql_grant.sql&lt;br /&gt;plsql_revoke.sql&lt;br /&gt;Executing plsql_dropper.sql&lt;br /&gt;Executing plsql_wrapper.sql&lt;br /&gt;Executing plsql_grant.sql&lt;br /&gt;Loading plsql_proxy.jar&lt;br /&gt;&lt;br /&gt;[sracanov@sracanov-au D]$ sqlplus scott/tiger&lt;br /&gt;Logging into sqlplus - scott @orcl&lt;br /&gt;&lt;br /&gt;SQL*Plus: Release 10.2.0.3.0 - Production on Wed Feb 25 14:02:50 2009&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.&lt;br /&gt;&lt;br /&gt;Connected to:&lt;br /&gt;Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production&lt;br /&gt;With the Partitioning, OLAP and Data Mining options&lt;br /&gt;&lt;br /&gt;scott@orcl&gt; select jpub_plsql_wrapper.getjoke('') from dual;&lt;br /&gt;&lt;br /&gt;JPUB_PLSQL_WRAPPER.GETJOKE('')&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;Q: How many `Real Men' does it take to change a light bulb?&lt;br /&gt;A: None:  `Real Men' aren't afraid of the dark.&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-1135553672658300735?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/1135553672658300735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=1135553672658300735' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/1135553672658300735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/1135553672658300735'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2009/02/ora-29532-http-transport-error.html' title='ORA-29532: HTTP transport error: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send fail'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-9188240104025113038</id><published>2009-01-19T11:50:00.010+11:00</published><updated>2010-05-18T13:46:07.486+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JDBC'/><title type='text'>java.sql.SQLException: Io exception: The Network Adapter</title><content type='html'>When using JDBC 10.2.0.3 to connect from java standalone client to the database I get the following error:&lt;br /&gt;&lt;code&gt;&lt;font color=red&gt;&lt;br /&gt;D:\Oracle\jdev\10134-prod\jdk\bin\javaw.exe -client -classpath "D:\Oracle\jdev\10134-prod\jdev\mywork\MyApplications\JDBC-SSL2\classes;D:\My Contents\My Software\Oracle\JDBC Drivers\10.2.0.3\ojdbc14_g.jar;D:\Oracle\jdev\10134-prod\jlib\oraclepki.jar" jdbcssl2.SSLEncryptionAuthenication&lt;br /&gt;Exception in thread "main" java.sql.SQLException: Io exception: The Network Adapter could not establish the connection&lt;br /&gt; at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)&lt;br /&gt; at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:190)&lt;br /&gt; at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:363)&lt;br /&gt; at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:401)&lt;br /&gt; at oracle.jdbc.driver.PhysicalConnection.&lt;init&gt;(PhysicalConnection.java:466)&lt;br /&gt; at oracle.jdbc.driver.T4CConnection.&lt;init&gt;(T4CConnection.java:165)&lt;br /&gt; at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)&lt;br /&gt; at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:839)&lt;br /&gt; at java.sql.DriverManager.getConnection(DriverManager.java:525)&lt;br /&gt; at java.sql.DriverManager.getConnection(DriverManager.java:140)&lt;br /&gt; at jdbcssl2.SSLEncryptionAuthenication.getConnection(SSLEncryptionAuthenication.java:57)&lt;br /&gt; at jdbcssl2.SSLEncryptionAuthenication.run(SSLEncryptionAuthenication.java:39)&lt;br /&gt; at jdbcssl2.SSLEncryptionAuthenication.main(SSLEncryptionAuthenication.java:62)&lt;br /&gt;Process exited with exit code 1.&lt;br /&gt;&lt;/font&gt;&lt;/code&gt;&lt;br /&gt;The &lt;b&gt;"java.sql.SQLException: Io exception: The Network Adapter could not establish the connection"&lt;/b&gt; is very generic and can mean a number of different issue. Also the stack error is not very detailed.&lt;br /&gt;&lt;br /&gt;Try using JDBC 11.1.0.7 and enable &lt;b&gt;"-Djavax.net.debug=ssl"&lt;/b&gt; java property when you run your client to allow for a detailed stack error to help you find the problem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-9188240104025113038?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/9188240104025113038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=9188240104025113038' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/9188240104025113038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/9188240104025113038'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2009/01/javasqlsqlexception-io-exception.html' title='java.sql.SQLException: Io exception: The Network Adapter'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-4164049867094124315</id><published>2008-11-11T11:58:00.007+11:00</published><updated>2010-05-18T13:45:30.641+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='jpub'/><title type='text'>Using jpub to create webserivce proxy for callouts.</title><content type='html'>Im my preivous blog I created a simple webservice and used plsql to call the webservice from the database. Here I will use jpub to generate my java proxy and use that to call my webservice without the need to code any plsql. Note all of these steps are done upon the previous blog beginning completed.&lt;br /&gt;&lt;br /&gt;1. Download and unzip jpub. You can get it from http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html &lt;br /&gt;Im using JPublisher 10g Release 10.2&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;C:\Documents and Settings\stever\Desktop&amp;gt; set_database.bat&lt;br /&gt;C:\Documents and Settings\stever\Desktop&amp;gt; oracle_home&lt;br /&gt;D:\Oracle\product\10.2.0\db_1&lt;br /&gt;C:\Documents and Settings\stever\Desktop&amp;gt; unzip jpub_102.zip -d %oracle_home%&lt;br /&gt;Archive:  jpub_102.zip&lt;br /&gt;  inflating: D:/Oracle/product/10.2.0/db_1/sqlj/lib/sqljutl.sql&lt;br /&gt;  inflating: D:/Oracle/product/10.2.0/db_1/sqlj/lib/translator.jar&lt;br /&gt;...&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;2. Set the classpath and run jpub.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;C:\Documents and Settings\stever\Desktop&amp;gt;cdo&lt;br /&gt;&lt;br /&gt;D:\Oracle\product\10.2.0\db_1&lt;br /&gt;&lt;br /&gt;D:\Oracle\product\10.2.0\db_1&amp;gt;cd sqlj\bin&lt;br /&gt;&lt;br /&gt;D:\Oracle\product\10.2.0\db_1\sqlj\bin&amp;gt;ll&lt;br /&gt; Volume in drive D is ACERDATA&lt;br /&gt; Volume Serial Number is 4059-B823&lt;br /&gt;&lt;br /&gt; Directory of D:\Oracle\product\10.2.0\db_1\sqlj\bin&lt;br /&gt;&lt;br /&gt;07/21/2005  03:34 AM    &amp;lt;DIR&amp;gt;          .&lt;br /&gt;07/21/2005  03:34 AM    &amp;lt;DIR&amp;gt;          ..&lt;br /&gt;07/21/2005  03:34 AM             1,376 jpub&lt;br /&gt;07/21/2005  03:34 AM             2,834 jpub.c&lt;br /&gt;07/21/2005  03:34 AM            50,619 jpub.exe&lt;br /&gt;07/21/2005  03:34 AM               267 README.txt&lt;br /&gt;               4 File(s)         55,096 bytes&lt;br /&gt;               2 Dir(s)   8,243,344,384 bytes free&lt;br /&gt;&lt;br /&gt;D:\Oracle\product\10.2.0\db_1\sqlj\bin&amp;gt; cd ..&lt;br /&gt;D:\Oracle\product\10.2.0\db_1\sqlj&amp;gt;java_home&lt;br /&gt;D:\Oracle\product\10.2.0\db_1\jdk&lt;br /&gt;&lt;br /&gt;D:\Oracle\product\10.2.0\db_1\sqlj&amp;gt;classpath&lt;br /&gt;.;D:\Oracle\product\10.2.0\db_1\sqlj\lib\translator.jar;&lt;br /&gt;D:\Oracle\product\10.2.0\db_1\sqlj\lib\runtime12.jar;&lt;br /&gt;D:\Oracle\product\10.2.0\db_1\sqlj\lib\dbwsa.jar;D:\Oracle\product\10.2&lt;br /&gt;.0\db_1\javavm\lib\aurora.zip;&lt;br /&gt;D:\Oracle\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar;&lt;br /&gt;&lt;br /&gt;D:\Oracle\product\10.2.0\db_1\sqlj&amp;gt;jpub -u wsuser/wsuser -sysuser sys/welcome1&lt;br /&gt;-proxywsdl=http://stever-5670:8988/DatabaseWSDemo-WS-context-root/MyWebService1SoapHttpPort?WSDL&lt;br /&gt;-endpoint=http://stever-5670:8988/DatabaseWSDemo-WS-context-root/MyWebService1SoapHttpPort&lt;br /&gt;tmp\src\genproxy\MyWebService1SoapHttpPortClientJPub.java&lt;br /&gt;plsql_wrapper.sql&lt;br /&gt;plsql_dropper.sql&lt;br /&gt;plsql_grant.sql&lt;br /&gt;plsql_revoke.sql&lt;br /&gt;Executing plsql_dropper.sql&lt;br /&gt;Executing plsql_wrapper.sql&lt;br /&gt;Executing plsql_grant.sql&lt;br /&gt;Loading plsql_proxy.jar&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;3. Call the webservice.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;D:\Oracle\product\10.2.0\db_1\sqlj&amp;gt;sqlplus wsuser/wsuser&lt;br /&gt;&lt;br /&gt;SQL*Plus: Release 10.2.0.3.0 - Production on Mon Nov 10 19:36:58 2008&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.&lt;br /&gt;&lt;br /&gt;Connected to:&lt;br /&gt;Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production&lt;br /&gt;With the Partitioning, OLAP and Data Mining options&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; select jpub_plsql_wrapper.sayhelloworld from dual;&lt;br /&gt;&lt;br /&gt;SAYHELLOWORLD&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;Hello World&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; select jpub_plsql_wrapper.sayhelloname('Steve') from dual;&lt;br /&gt;&lt;br /&gt;JPUB_PLSQL_WRAPPER.SAYHELLONAME('STEVE')&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;Hello Steve&lt;br /&gt;&lt;br /&gt;SQL&amp;gt;&lt;br /&gt;&lt;br /&gt;NOTE: My set_database.bat file simply has my environment settings in there. &lt;br /&gt;This is where I set the classpath. It looks like:&lt;br /&gt;&lt;br /&gt;set ORACLE_HOME=D:\Oracle\product\10.2.0\db_1&lt;br /&gt;set ORACLE_SID=ORCL&lt;br /&gt;set JAVA_HOME=%ORACLE_HOME%\jdk&lt;br /&gt;set PATH=%ORACLE_HOME%\bin;%TT_HOME%\bin;%JAVA_HOME%\bin;%ORACLE_HOME%\sqlj\bin;%PATH%&lt;br /&gt;set TNS_ADMIN=D:\Oracle\product\10.2.0\db_1\NETWORK\ADMIN&lt;br /&gt;set CLASSPATH=.;%ORACLE_HOME%\sqlj\lib\translator.jar;&lt;br /&gt;%ORACLE_HOME%\sqlj\lib\runtime12.jar;%ORACLE_HOME%\sqlj\lib\dbwsa.jar;&lt;br /&gt;%ORACLE_HOME%\javavm\lib\aurora.zip;%ORACLE_HOME%\jdbc\lib\ojdbc14.jar;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-4164049867094124315?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/4164049867094124315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=4164049867094124315' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/4164049867094124315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/4164049867094124315'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2008/11/using-jpub-to-create-webserivce-proxy.html' title='Using jpub to create webserivce proxy for callouts.'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-1179133557631613300</id><published>2008-10-27T15:12:00.040+11:00</published><updated>2009-03-17T09:14:02.821+11:00</updated><title type='text'>Using UTL_DBWS Package To Call A Web Service From PL/SQL Code.</title><content type='html'>I am going to show a simple example that will call my web service from my database. I will be using JDev 10.1.3.x to create and run my web service. My database and web service will all be running from my local machine.&lt;br /&gt;&lt;br /&gt;1. My first step is to upgrade my database to 10.2.0.2 or later. UTL_DBWS will not work on 10.2.0.1. While its upgrading, I need to download the latest UTL_DBWS from&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/sample_code/tech/java/jsp/dbwebservices.html"&gt;http://www.oracle.com/technology/sample_code/tech/java/jsp/dbwebservices.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;* I am going to use &lt;a href="http://download.oracle.com/technology/sample_code/tech/java/jsp/dbws-callout-utility-10131.zip"&gt;10.1.3.1 Callout Utility for 10g and 11g RDBMS (ZIP, ~13MB)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Extract the downloaded file like:&lt;br /&gt;&lt;br /&gt;unzip dbws-callout-utility-10131.zip sqlj/* -d $ORACLE_HOME&lt;br /&gt;unzip dbws-callout-utility-10131.zip samples/* -d $ORACLE_HOME/sqlj&lt;br /&gt;unzip dbws-callout-utility-10131.zip *.htm -d $ORACLE_HOME/sqlj&lt;br /&gt;&lt;br /&gt;2. Ensure that I have $ORACLE_HOME/bin in my path. First, I need to run the following command to load the libraries (run this from the $ORACLE_HOME/sqlj/lib folder).&lt;br /&gt;&lt;br /&gt;loadjava -u username/password -r -v -f -s -grant public -genmissing dbwsclientws.jar dbwsclientdb102.jar&lt;br /&gt;&lt;br /&gt;The username and password is this example will be the sys user.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9rl0CtIbSrw/SQVRCzcTYCI/AAAAAAAAADI/3Q-P-7531xg/s1600-h/Loading_Jar_Classes.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 246px;" src="http://2.bp.blogspot.com/_9rl0CtIbSrw/SQVRCzcTYCI/AAAAAAAAADI/3Q-P-7531xg/s400/Loading_Jar_Classes.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5261700848262799394" /&gt;&lt;/a&gt;&lt;br /&gt;Check my database is upgraded/correct and load the jar files.&lt;br /&gt;&lt;br /&gt;NOTE: This may take a while to run.&lt;br /&gt;&lt;br /&gt;3. Create a new user to use web services utl_dbws package and give grant privileges.&lt;br /&gt;&lt;br /&gt;create user wsuser identified by wsuser&lt;br /&gt;default tablespace users&lt;br /&gt;temporary tablespace temp&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;grant connect, resource to wsuser;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9rl0CtIbSrw/SQVUa7fWEAI/AAAAAAAAADQ/QGLcmFVPxRo/s1600-h/Create_WSUser.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 241px;" src="http://1.bp.blogspot.com/_9rl0CtIbSrw/SQVUa7fWEAI/AAAAAAAAADQ/QGLcmFVPxRo/s400/Create_WSUser.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5261704561274785794" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4. Once the packages had been loaded (step 2), the next step is to provide grants from the schema where the jar files have been loaded to our 'WSUSER'. These grants will have to run from where the libraries are installed. 'SYS' user.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;execute&amp;nbsp;dbms_java.grant_permission('&amp;lt;user&amp;nbsp;schema&amp;gt;','SYS:java.lang.RuntimePermission',&amp;nbsp;&lt;br/&gt;&lt;br /&gt;'accessClassInPackage.sun.util.calendar','');&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;execute&amp;nbsp;dbms_java.grant_permission('&amp;lt;user&amp;nbsp;schema&amp;gt;','SYS:java.lang.RuntimePermission',&lt;br/&gt;&lt;br /&gt;'getClassLoader','');&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;execute&amp;nbsp;dbms_java.grant_permission('&amp;lt;user&amp;nbsp;schema&amp;gt;','SYS:java.net.SocketPermission','*',&lt;br/&gt;&lt;br /&gt;'connect,resolve');&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;execute&amp;nbsp;dbms_java.grant_permission('&amp;lt;user&amp;nbsp;schema&amp;gt;','SYS:java.util.PropertyPermission','*',&lt;br/&gt;&lt;br /&gt;'read,write');&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;execute&amp;nbsp;dbms_java.grant_permission('&amp;lt;user&amp;nbsp;schema&amp;gt;','SYS:java.lang.RuntimePermission',&lt;br/&gt;&lt;br /&gt;'setFactory','');&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9rl0CtIbSrw/SQVKLFClXCI/AAAAAAAAADA/STQo4OwqoKI/s1600-h/Grant_WSUSER.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 166px;" src="http://1.bp.blogspot.com/_9rl0CtIbSrw/SQVKLFClXCI/AAAAAAAAADA/STQo4OwqoKI/s400/Grant_WSUSER.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5261693293844323362" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;5. Now using Jdev, I create my java class as follows.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;package&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;ws&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;HelloWorld&lt;/font&gt; &lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br /&gt;    &lt;font color="#336699"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;HelloWorld&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt; &lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br /&gt;    &lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;    &lt;br /&gt;    &lt;font color="#336699"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;String&lt;/font&gt; &lt;font color="#000000"&gt;sayHelloWorld&lt;/font&gt;&lt;font color="#000000"&gt;(){&lt;/font&gt;&lt;br /&gt;        &lt;font color="#336699"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/font&gt; &lt;font color="#0033cc"&gt;&amp;quot;Hello World&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;    &lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;    &lt;br /&gt;    &lt;font color="#336699"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;String&lt;/font&gt; &lt;font color="#000000"&gt;sayHelloName&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;String&lt;/font&gt; &lt;font color="#000000"&gt;n&lt;/font&gt;&lt;font color="#000000"&gt;){&lt;/font&gt;&lt;br /&gt;        &lt;font color="#336699"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/font&gt; &lt;font color="#0033cc"&gt;&amp;quot;Hello &amp;quot;&lt;/font&gt; &lt;font color="#000000"&gt;+&lt;/font&gt; &lt;font color="#000000"&gt;n&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;    &lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;6. I then create a web service from this class.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9rl0CtIbSrw/SQVBnuUDYXI/AAAAAAAAACg/bt9ZHKgbN7c/s1600-h/Create_J2EE_Web_Service.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 319px;" src="http://1.bp.blogspot.com/_9rl0CtIbSrw/SQVBnuUDYXI/AAAAAAAAACg/bt9ZHKgbN7c/s400/Create_J2EE_Web_Service.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5261683890355134834" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;* Select &lt;span style="font-weight:bold;"&gt;"J2EE 1.4 (JAX-RPC) Web Service"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I then click on finished at Step 1 of 8 of the 'Create Java J2EE 1.4 Web Service' wizard so it uses all the default setting.&lt;br /&gt;&lt;br /&gt;7. Then I ran the web service in the embedded server. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9rl0CtIbSrw/SQVGT5dhFaI/AAAAAAAAACo/zZKSFRCVdrw/s1600-h/Run_J2EE_Web_Service.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 319px;" src="http://4.bp.blogspot.com/_9rl0CtIbSrw/SQVGT5dhFaI/AAAAAAAAACo/zZKSFRCVdrw/s400/Run_J2EE_Web_Service.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5261689047308375458" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And checked my WS WSDL to ensure it is running.&lt;br /&gt;&lt;br /&gt;http://stever-5670:8988/DatabaseWSDemo-WS-context-root/MyWebService1SoapHttpPort&lt;br /&gt;http://stever-5670:8988/DatabaseWSDemo-WS-context-root/MyWebService1SoapHttpPort?WSDL&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9rl0CtIbSrw/SQVHhxXsqeI/AAAAAAAAACw/yZZwYpJzsM8/s1600-h/Running_Embedded_OC4J_Server.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 168px;" src="http://3.bp.blogspot.com/_9rl0CtIbSrw/SQVHhxXsqeI/AAAAAAAAACw/yZZwYpJzsM8/s400/Running_Embedded_OC4J_Server.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5261690385166281186" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is how my deployed WSDL looks like:&lt;br /&gt;&lt;br /&gt;This XML file does not appear to have any style information associated with it. The document tree is shown below.&lt;br /&gt;     &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;-&amp;lt;definitions name=&amp;quot;MyWebService1&amp;quot; targetNamespace=&amp;quot;http://ws/&amp;quot;&amp;gt;&lt;br /&gt; -&amp;lt;types&amp;gt;&lt;br /&gt;  -&amp;lt;schema targetNamespace=&amp;quot;http://ws/types/&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;   -&amp;lt;element name=&amp;quot;sayHelloNameElement&amp;quot;&amp;gt;&lt;br /&gt;    -&amp;lt;complexType&amp;gt;&lt;br /&gt;      -&amp;lt;sequence&amp;gt;&lt;br /&gt;         &amp;lt;element name=&amp;quot;n&amp;quot; type=&amp;quot;string&amp;quot; nillable=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;      -&amp;lt;/sequence&amp;gt;&lt;br /&gt;     &amp;lt;/complexType&amp;gt;&lt;br /&gt;    &amp;lt;/element&amp;gt;&lt;br /&gt;   -&amp;lt;element name=&amp;quot;sayHelloNameResponseElement&amp;quot;&amp;gt;&lt;br /&gt;    -&amp;lt;complexType&amp;gt;&lt;br /&gt;     -&amp;lt;sequence&amp;gt;&lt;br /&gt;       &amp;lt;element name=&amp;quot;result&amp;quot; type=&amp;quot;string&amp;quot; nillable=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;      &amp;lt;/sequence&amp;gt;&lt;br /&gt;     &amp;lt;/complexType&amp;gt;&lt;br /&gt;    &amp;lt;/element&amp;gt;&lt;br /&gt;   -&amp;lt;element name=&amp;quot;sayHelloWorldElement&amp;quot;&amp;gt;&lt;br /&gt;    -&amp;lt;complexType&amp;gt;&lt;br /&gt;      &amp;lt;sequence/&amp;gt;&lt;br /&gt;     &amp;lt;/complexType&amp;gt;&lt;br /&gt;    &amp;lt;/element&amp;gt;&lt;br /&gt;   -&amp;lt;element name=&amp;quot;sayHelloWorldResponseElement&amp;quot;&amp;gt;&lt;br /&gt;    -&amp;lt;complexType&amp;gt;&lt;br /&gt;     -&amp;lt;sequence&amp;gt;&lt;br /&gt;       &amp;lt;element name=&amp;quot;result&amp;quot; type=&amp;quot;string&amp;quot; nillable=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;      &amp;lt;/sequence&amp;gt;&lt;br /&gt;     &amp;lt;/complexType&amp;gt;&lt;br /&gt;    &amp;lt;/element&amp;gt;    &lt;br /&gt;   &amp;lt;/schema&amp;gt;&lt;br /&gt;  &amp;lt;/types&amp;gt;&lt;br /&gt; -&amp;lt;message name=&amp;quot;MyWebService1_sayHelloName&amp;quot;&amp;gt;&lt;br /&gt;   &amp;lt;part name=&amp;quot;parameters&amp;quot; element=&amp;quot;tns0:sayHelloNameElement&amp;quot;/&amp;gt;&lt;br /&gt;  &amp;lt;/message&amp;gt;&lt;br /&gt; -&amp;lt;message name=&amp;quot;MyWebService1_sayHelloNameResponse&amp;quot;&amp;gt;&lt;br /&gt;   &amp;lt;part name=&amp;quot;parameters&amp;quot; element=&amp;quot;tns0:sayHelloNameResponseElement&amp;quot;/&amp;gt;&lt;br /&gt;  &amp;lt;/message&amp;gt;&lt;br /&gt; -&amp;lt;message name=&amp;quot;MyWebService1_sayHelloWorld&amp;quot;&amp;gt;&lt;br /&gt;   &amp;lt;part name=&amp;quot;parameters&amp;quot; element=&amp;quot;tns0:sayHelloWorldElement&amp;quot;/&amp;gt;&lt;br /&gt;  &amp;lt;/message&amp;gt;&lt;br /&gt; -&amp;lt;message name=&amp;quot;MyWebService1_sayHelloWorldResponse&amp;quot;&amp;gt;&lt;br /&gt;   &amp;lt;part name=&amp;quot;parameters&amp;quot; element=&amp;quot;tns0:sayHelloWorldResponseElement&amp;quot;/&amp;gt;&lt;br /&gt;  &amp;lt;/message&amp;gt; &lt;br /&gt; -&amp;lt;portType name=&amp;quot;MyWebService1&amp;quot;&amp;gt;&lt;br /&gt;  -&amp;lt;operation name=&amp;quot;sayHelloName&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;input message=&amp;quot;tns:MyWebService1_sayHelloName&amp;quot;/&amp;gt;&lt;br /&gt;    &amp;lt;output message=&amp;quot;tns:MyWebService1_sayHelloNameResponse&amp;quot;/&amp;gt;    &lt;br /&gt;   &amp;lt;/operation&amp;gt;&lt;br /&gt;   &amp;lt;operation name=&amp;quot;sayHelloWorld&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;input message=&amp;quot;tns:MyWebService1_sayHelloWorld&amp;quot;/&amp;gt;&lt;br /&gt;    &amp;lt;output message=&amp;quot;tns:MyWebService1_sayHelloWorldResponse&amp;quot;/&amp;gt;&lt;br /&gt;   &amp;lt;/operation&amp;gt; &lt;br /&gt;  &amp;lt;/portType&amp;gt;&lt;br /&gt; -&amp;lt;binding name=&amp;quot;MyWebService1SoapHttp&amp;quot; type=&amp;quot;tns:MyWebService1&amp;quot;&amp;gt;&lt;br /&gt;   &amp;lt;soap:binding style=&amp;quot;document&amp;quot; transport=&amp;quot;http://schemas.xmlsoap.org/soap/http&amp;quot;/&amp;gt;&lt;br /&gt;  -&amp;lt;operation name=&amp;quot;sayHelloName&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;soap:operation soapAction=&amp;quot;http://ws//sayHelloName&amp;quot;/&amp;gt;&lt;br /&gt;   -&amp;lt;input&amp;gt;&lt;br /&gt;     &amp;lt;soap:body use=&amp;quot;literal&amp;quot;/&amp;gt;&lt;br /&gt;    &amp;lt;/input&amp;gt;&lt;br /&gt;   -&amp;lt;output&amp;gt;&lt;br /&gt;     &amp;lt;soap:body use=&amp;quot;literal&amp;quot;/&amp;gt;&lt;br /&gt;    &amp;lt;/output&amp;gt;&lt;br /&gt;   &amp;lt;/operation&amp;gt;&lt;br /&gt;   -&amp;lt;operation name=&amp;quot;sayHelloWorld&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;soap:operation soapAction=&amp;quot;http://ws//sayHelloWorld&amp;quot;/&amp;gt;&lt;br /&gt;   -&amp;lt;input&amp;gt;&lt;br /&gt;     &amp;lt;soap:body use=&amp;quot;literal&amp;quot;/&amp;gt;&lt;br /&gt;    &amp;lt;/input&amp;gt;&lt;br /&gt;   -&amp;lt;output&amp;gt;&lt;br /&gt;     &amp;lt;soap:body use=&amp;quot;literal&amp;quot;/&amp;gt;&lt;br /&gt;    &amp;lt;/output&amp;gt;&lt;br /&gt;   &amp;lt;/operation&amp;gt;&lt;br /&gt;  &amp;lt;/binding&amp;gt;&lt;br /&gt; -&amp;lt;service name=&amp;quot;MyWebService1&amp;quot;&amp;gt;&lt;br /&gt;  -&amp;lt;port name=&amp;quot;MyWebService1SoapHttpPort&amp;quot; binding=&amp;quot;tns:MyWebService1SoapHttp&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;soap:address &lt;br /&gt;      location=&amp;quot;http://stever-5670:8988/DatabaseWSDemo-WS-context-root/MyWebService1SoapHttpPort&amp;quot;/&amp;gt;&lt;br /&gt;   &amp;lt;/port&amp;gt;&lt;br /&gt;  &amp;lt;/service&amp;gt;&lt;br /&gt;&amp;lt;/definitions&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;8. Now using the UTL_DBWS package, I will create my PL/SQL code.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;CREATE&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;OR&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;REPLACE&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;PACKAGE&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;HelloWorld&lt;/font&gt; &lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;AS&lt;/b&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;FUNCTION&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;SayHelloWorld&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;RETURN&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;VARCHAR2&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;FUNCTION&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;sayHelloName&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;yourname&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;IN&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;VARCHAR2&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;RETURN&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;VARCHAR2&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;END&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;HelloWorld&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;/&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;CREATE&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;OR&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;REPLACE&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;PACKAGE&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;BODY&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;HelloWorld&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;AS&lt;/b&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;FUNCTION&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;SayHelloWorld&lt;/font&gt; &lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;RETURN&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;VARCHAR2&lt;/b&gt;&lt;/font&gt; &lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;IS&lt;/b&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;service_&lt;/font&gt;           &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;SERVICE&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;call_&lt;/font&gt;              &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;CALL&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;service_qname&lt;/font&gt;      &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;QNAME&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;port_qname&lt;/font&gt;         &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;QNAME&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;xoperation_qname&lt;/font&gt;   &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;QNAME&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;xstring_type_qname&lt;/font&gt; &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;QNAME&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;response&lt;/font&gt;           &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#336699"&gt;&lt;b&gt;XMLTYPE&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;request&lt;/font&gt;            &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#336699"&gt;&lt;b&gt;XMLTYPE&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;BEGIN&lt;/b&gt;&lt;/font&gt;  &lt;br /&gt;  &lt;font color="#000000"&gt;service_qname&lt;/font&gt; &lt;font color="#000000"&gt;:=&lt;/font&gt; &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;to_qname&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#336699"&gt;&lt;b&gt;null&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#0033cc"&gt;'SayHelloWorld'&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;service_&lt;/font&gt;      &lt;font color="#000000"&gt;:=&lt;/font&gt; &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;create_service&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;service_qname&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;call_&lt;/font&gt;         &lt;font color="#000000"&gt;:=&lt;/font&gt; &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;create_call&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;service_&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;set_target_endpoint_address&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;call_&lt;/font&gt;&lt;br /&gt;    &lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#0033cc"&gt;'http://stever-5670:8988/DatabaseWSDemo-WS-context-root/MyWebService1SoapHttpPort'&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;set_property&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt; &lt;font color="#000000"&gt;call_&lt;/font&gt;&lt;br /&gt;                           &lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#0033cc"&gt;'SOAPACTION_USE'&lt;/font&gt;&lt;br /&gt;                           &lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#0033cc"&gt;'TRUE'&lt;/font&gt;&lt;br /&gt;                           &lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;set_property&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt; &lt;font color="#000000"&gt;call_&lt;/font&gt;&lt;br /&gt;                           &lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#0033cc"&gt;'SOAPACTION_URI'&lt;/font&gt;&lt;br /&gt;                           &lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#0033cc"&gt;'http://ws//sayHelloWorld'&lt;/font&gt;&lt;br /&gt;                           &lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt; &lt;br /&gt;  &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;set_property&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt; &lt;font color="#000000"&gt;call_&lt;/font&gt;&lt;br /&gt;                         &lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#0033cc"&gt;'OPERATION_STYLE'&lt;/font&gt;&lt;br /&gt;                         &lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#0033cc"&gt;'document'&lt;/font&gt;&lt;br /&gt;                          &lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;request&lt;/font&gt; &lt;font color="#000000"&gt;:=&lt;/font&gt; &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#336699"&gt;&lt;b&gt;XMLTYPE&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;'&amp;lt;sayHelloWorldElement xmlns=&amp;quot;http://ws/types/&amp;quot; /&amp;gt;'&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;response&lt;/font&gt; &lt;font color="#000000"&gt;:=&lt;/font&gt;&lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt; &lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;invoke&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;call_&lt;/font&gt;&lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#000000"&gt;request&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;  &lt;font color="#336699"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;response&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#336699"&gt;&lt;b&gt;extract&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;'//child::text()'&lt;/font&gt;&lt;br /&gt;    &lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#0033cc"&gt;'xmlns=&amp;quot;http://stever-5670:8988/DatabaseWSDemo-WS-context-root/&lt;br /&gt;    MyWebService1SoapHttpPort&amp;quot;'&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;getstringval&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;END&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;SayHelloWorld&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;FUNCTION&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;sayHelloName&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;yourname&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;IN&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;VARCHAR2&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;RETURN&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;VARCHAR2&lt;/b&gt;&lt;/font&gt; &lt;font color="#336699"&gt;&lt;b&gt;AS&lt;/b&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;service_&lt;/font&gt;           &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;SERVICE&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;call_&lt;/font&gt;              &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;CALL&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;service_qname&lt;/font&gt;      &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;QNAME&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;port_qname&lt;/font&gt;         &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;QNAME&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;xoperation_qname&lt;/font&gt;   &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;QNAME&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;xstring_type_qname&lt;/font&gt; &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;QNAME&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;response&lt;/font&gt;           &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#336699"&gt;&lt;b&gt;XMLTYPE&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;request&lt;/font&gt;            &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#336699"&gt;&lt;b&gt;XMLTYPE&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;BEGIN&lt;/b&gt;&lt;/font&gt;  &lt;br /&gt;  &lt;font color="#000000"&gt;service_qname&lt;/font&gt; &lt;font color="#000000"&gt;:=&lt;/font&gt; &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;to_qname&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#336699"&gt;&lt;b&gt;null&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#0033cc"&gt;'SayHelloName'&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;service_&lt;/font&gt;      &lt;font color="#000000"&gt;:=&lt;/font&gt; &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;create_service&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;service_qname&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;call_&lt;/font&gt;         &lt;font color="#000000"&gt;:=&lt;/font&gt; &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;create_call&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;service_&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;set_target_endpoint_address&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;call_&lt;/font&gt;&lt;br /&gt;    &lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#0033cc"&gt;'http://stever-5670:8988/DatabaseWSDemo-WS-context-root/MyWebService1SoapHttpPort'&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;set_property&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt; &lt;font color="#000000"&gt;call_&lt;/font&gt;&lt;br /&gt;                           &lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#0033cc"&gt;'SOAPACTION_USE'&lt;/font&gt;&lt;br /&gt;                           &lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#0033cc"&gt;'TRUE'&lt;/font&gt;&lt;br /&gt;                           &lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;set_property&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt; &lt;font color="#000000"&gt;call_&lt;/font&gt;&lt;br /&gt;                           &lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#0033cc"&gt;'SOAPACTION_URI'&lt;/font&gt;&lt;br /&gt;                           &lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#0033cc"&gt;'http://ws//sayHelloName'&lt;/font&gt;&lt;br /&gt;                           &lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt; &lt;br /&gt;  &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;set_property&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt; &lt;font color="#000000"&gt;call_&lt;/font&gt;&lt;br /&gt;                         &lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#0033cc"&gt;'OPERATION_STYLE'&lt;/font&gt;&lt;br /&gt;                         &lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#0033cc"&gt;'document'&lt;/font&gt;&lt;br /&gt;                          &lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;request&lt;/font&gt; &lt;font color="#000000"&gt;:=&lt;/font&gt; &lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#336699"&gt;&lt;b&gt;XMLTYPE&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;'&amp;lt;sayHelloNameElement xmlns=&amp;quot;http://ws/types/&amp;quot;&amp;gt;'&lt;/font&gt;&lt;br /&gt;                        &lt;font color="#000000"&gt;||&lt;/font&gt;&lt;font color="#0033cc"&gt;'&amp;lt;n&amp;gt;'&lt;/font&gt; &lt;font color="#000000"&gt;||&lt;/font&gt; &lt;font color="#000000"&gt;yourname&lt;/font&gt; &lt;font color="#000000"&gt;||&lt;/font&gt; &lt;font color="#0033cc"&gt;'&amp;lt;/n&amp;gt; &amp;lt;/sayHelloNameElement&amp;gt;'&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;  &lt;font color="#000000"&gt;response&lt;/font&gt; &lt;font color="#000000"&gt;:=&lt;/font&gt;&lt;font color="#000000"&gt;sys&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt; &lt;font color="#000000"&gt;utl_dbws&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;invoke&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;call_&lt;/font&gt;&lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#000000"&gt;request&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;  &lt;font color="#336699"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;response&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#336699"&gt;&lt;b&gt;extract&lt;/b&gt;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0033cc"&gt;'//child::text()'&lt;/font&gt;&lt;br /&gt;    &lt;font color="#000000"&gt;,&lt;/font&gt; &lt;font color="#0033cc"&gt;'xmlns=&amp;quot;http://stever-5670:8988/DatabaseWSDemo-WS-context-root/&lt;br /&gt;    MyWebService1SoapHttpPort&amp;quot;'&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#000000"&gt;getstringval&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;END&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;SayHelloName&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#336699"&gt;&lt;b&gt;END&lt;/b&gt;&lt;/font&gt; &lt;font color="#000000"&gt;HelloWorld&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;/&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;9. I then ran my package:&lt;br /&gt;&lt;br /&gt;select helloworld.sayhelloworld from dual;&lt;br /&gt;&lt;br /&gt;select helloworld.sayhelloname('Steve') from dual;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9rl0CtIbSrw/SQVIuyKw6gI/AAAAAAAAAC4/QrmgTJ59vBg/s1600-h/Run_HelloWorld_Package.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 188px;" src="http://3.bp.blogspot.com/_9rl0CtIbSrw/SQVIuyKw6gI/AAAAAAAAAC4/QrmgTJ59vBg/s400/Run_HelloWorld_Package.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5261691708230396418" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-1179133557631613300?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/1179133557631613300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=1179133557631613300' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/1179133557631613300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/1179133557631613300'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2008/10/using-utldbws-package-to-call-web.html' title='Using UTL_DBWS Package To Call A Web Service From PL/SQL Code.'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_9rl0CtIbSrw/SQVRCzcTYCI/AAAAAAAAADI/3Q-P-7531xg/s72-c/Loading_Jar_Classes.bmp' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-2127001082008964457</id><published>2008-03-31T13:03:00.016+11:00</published><updated>2010-05-18T13:51:11.413+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JDBC'/><category scheme='http://www.blogger.com/atom/ns#' term='Binding'/><title type='text'>Performance using Bind Variables in Java Application</title><content type='html'>The advantage of using bind variables within your Java application, it that provides greater application performance and uses less of the shared pool from the database.&lt;br /&gt;&lt;br /&gt;This is illustrated in the following 2 examples.&lt;br /&gt;&lt;br /&gt;Example 1: Using Bind variables.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color:#336699;"&gt;&lt;b&gt;package&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;bindvariables&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#336699;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;java&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;sql&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Connection&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#336699;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;java&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;sql&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;PreparedStatement&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#336699;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;java&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;sql&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;ResultSet&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#336699;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;java&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;sql&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;SQLException&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#336699;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;java&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;util&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Date&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#336699;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;bindvariables&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;JDBCUtil&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#336699;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#336699;"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;Bind&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:#336699;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#336699;"&gt;&lt;b&gt;static&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#336699;"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;main&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;String&lt;/span&gt;&lt;span style="color:#000000;"&gt;[]&lt;/span&gt; &lt;span style="color:#000000;"&gt;args&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt; &lt;span style="color:#336699;"&gt;&lt;b&gt;throws&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;SQLException&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;        &lt;span style="color:#000000;"&gt;ResultSet&lt;/span&gt; &lt;span style="color:#000000;"&gt;rs&lt;/span&gt; &lt;span style="color:#000000;"&gt;=&lt;/span&gt; &lt;span style="color:#996600;"&gt;null&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#000000;"&gt;Connection&lt;/span&gt; &lt;span style="color:#000000;"&gt;conn&lt;/span&gt; &lt;span style="color:#000000;"&gt;=&lt;/span&gt; &lt;span style="color:#996600;"&gt;null&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#000000;"&gt;PreparedStatement&lt;/span&gt; &lt;span style="color:#000000;"&gt;pstmt&lt;/span&gt; &lt;span style="color:#000000;"&gt;=&lt;/span&gt; &lt;span style="color:#996600;"&gt;null&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;        &lt;span style="color:#336699;"&gt;&lt;b&gt;try&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#808080;"&gt;// Get Connection&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#000000;"&gt;conn&lt;/span&gt; &lt;span style="color:#000000;"&gt;=&lt;/span&gt; &lt;span style="color:#000000;"&gt;JDBCUtil&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;getConnection&lt;/span&gt;&lt;span style="color:#000000;"&gt;()&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#808080;"&gt;// Create statement&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#000000;"&gt;pstmt&lt;/span&gt; &lt;span style="color:#000000;"&gt;=&lt;/span&gt; &lt;span style="color:#000000;"&gt;conn&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;prepareStatement&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#0033cc;"&gt;&amp;quot;SELECT ? FROM dual&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#000000;"&gt;System&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;out&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;println&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#0033cc;"&gt;&amp;quot;Start: &amp;quot;&lt;/span&gt; &lt;span style="color:#000000;"&gt;+&lt;/span&gt; &lt;span style="color:#336699;"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;Date&lt;/span&gt;&lt;span style="color:#000000;"&gt;())&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#336699;"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#336699;"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;i&lt;/span&gt; &lt;span style="color:#000000;"&gt;=&lt;/span&gt; &lt;span style="color:#006600;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt; &lt;span style="color:#000000;"&gt;i&lt;/span&gt; &lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#006600;"&gt;100000&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt; &lt;span style="color:#000000;"&gt;i&lt;/span&gt;&lt;span style="color:#000000;"&gt;++&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#808080;"&gt;// Use bind variable for subsitution&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#000000;"&gt;pstmt&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;setString&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#006600;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt;,&lt;/span&gt; &lt;span style="color:#000000;"&gt;String&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;valueOf&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;i&lt;/span&gt;&lt;span style="color:#000000;"&gt;))&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#808080;"&gt;// Execute the query&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#000000;"&gt;rs&lt;/span&gt; &lt;span style="color:#000000;"&gt;=&lt;/span&gt; &lt;span style="color:#000000;"&gt;pstmt&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;executeQuery&lt;/span&gt;&lt;span style="color:#000000;"&gt;()&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#808080;"&gt;//if (i % 1000 == 1)&lt;/span&gt;&lt;br /&gt;                  &lt;span style="color:#808080;"&gt;//  System.out.println(&amp;quot;Print: &amp;quot; + i);&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#000000;"&gt;System&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;out&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;println&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#0033cc;"&gt;&amp;quot;End: &amp;quot;&lt;/span&gt; &lt;span style="color:#000000;"&gt;+&lt;/span&gt; &lt;span style="color:#336699;"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;Date&lt;/span&gt;&lt;span style="color:#000000;"&gt;())&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;           &lt;br /&gt;        &lt;span style="color:#000000;"&gt;}&lt;/span&gt; &lt;span style="color:#336699;"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;SQLException&lt;/span&gt; &lt;span style="color:#000000;"&gt;se&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#000000;"&gt;System&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;out&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;println&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#0033cc;"&gt;&amp;quot;SQL Exception:&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#000000;"&gt;se&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;printStackTrace&lt;/span&gt;&lt;span style="color:#000000;"&gt;()&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#336699;"&gt;&lt;b&gt;finally&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#808080;"&gt;// Close the result set, statement and the connection&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#000000;"&gt;JDBCUtil&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;close&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;rs&lt;/span&gt;&lt;span style="color:#000000;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;pstmt&lt;/span&gt;&lt;span style="color:#000000;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;conn&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Running this application returns the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255); font-weight: bold;"&gt;Start: Mon Mar 31 11:36:04 EST 2008&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255); font-weight: bold;"&gt;End: Mon Mar 31 11:36:51 EST 2008&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It shows the application being executed within less than a minute.&lt;br /&gt;&lt;br /&gt;Now the second example does not use bind variables and force the use of Hard Parse on the database.&lt;br /&gt;&lt;br /&gt;Example 2: Not using bind variables.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color:#336699;"&gt;&lt;b&gt;package&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;bindvariables&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#336699;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;java&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;sql&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Connection&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#336699;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;java&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;sql&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;ResultSet&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#336699;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;java&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;sql&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;SQLException&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#336699;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;java&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;sql&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Statement&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#336699;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;java&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;util&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;Date&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#336699;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#336699;"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;NonBind&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color:#336699;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#336699;"&gt;&lt;b&gt;static&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#336699;"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;main&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;String&lt;/span&gt;&lt;span style="color:#000000;"&gt;[]&lt;/span&gt; &lt;span style="color:#000000;"&gt;args&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt; &lt;span style="color:#336699;"&gt;&lt;b&gt;throws&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;SQLException&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;        &lt;span style="color:#000000;"&gt;ResultSet&lt;/span&gt; &lt;span style="color:#000000;"&gt;rs&lt;/span&gt; &lt;span style="color:#000000;"&gt;=&lt;/span&gt; &lt;span style="color:#996600;"&gt;null&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#000000;"&gt;Connection&lt;/span&gt; &lt;span style="color:#000000;"&gt;conn&lt;/span&gt; &lt;span style="color:#000000;"&gt;=&lt;/span&gt; &lt;span style="color:#996600;"&gt;null&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#000000;"&gt;Statement&lt;/span&gt; &lt;span style="color:#000000;"&gt;stmt&lt;/span&gt; &lt;span style="color:#000000;"&gt;=&lt;/span&gt; &lt;span style="color:#996600;"&gt;null&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;        &lt;span style="color:#336699;"&gt;&lt;b&gt;try&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#808080;"&gt;// Get Connection            &lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#000000;"&gt;stmt&lt;/span&gt; &lt;span style="color:#000000;"&gt;=&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;JDBCUtil&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;getConnection&lt;/span&gt;&lt;span style="color:#000000;"&gt;())&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;createStatement&lt;/span&gt;&lt;span style="color:#000000;"&gt;()&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#000000;"&gt;System&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;out&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;println&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#0033cc;"&gt;&amp;quot;Start: &amp;quot;&lt;/span&gt; &lt;span style="color:#000000;"&gt;+&lt;/span&gt; &lt;span style="color:#336699;"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;Date&lt;/span&gt;&lt;span style="color:#000000;"&gt;())&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#336699;"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#336699;"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;i&lt;/span&gt; &lt;span style="color:#000000;"&gt;=&lt;/span&gt; &lt;span style="color:#006600;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt; &lt;span style="color:#000000;"&gt;i&lt;/span&gt; &lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#006600;"&gt;100000&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt; &lt;span style="color:#000000;"&gt;i&lt;/span&gt;&lt;span style="color:#000000;"&gt;++&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#808080;"&gt;// Execute Statement&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#000000;"&gt;rs&lt;/span&gt; &lt;span style="color:#000000;"&gt;=&lt;/span&gt; &lt;span style="color:#000000;"&gt;stmt&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;executeQuery&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#0033cc;"&gt;&amp;quot;SELECT &amp;quot;&lt;/span&gt; &lt;span style="color:#000000;"&gt;+&lt;/span&gt; &lt;span style="color:#000000;"&gt;i&lt;/span&gt; &lt;span style="color:#000000;"&gt;+&lt;/span&gt; &lt;span style="color:#0033cc;"&gt;&amp;quot; FROM dual&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#808080;"&gt;//if (i % 1000 == 1)&lt;/span&gt;&lt;br /&gt;                  &lt;span style="color:#808080;"&gt;//  System.out.println(&amp;quot;Print: &amp;quot; + i);&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#000000;"&gt;System&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;out&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;println&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#0033cc;"&gt;&amp;quot;End: &amp;quot;&lt;/span&gt; &lt;span style="color:#000000;"&gt;+&lt;/span&gt; &lt;span style="color:#336699;"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;Date&lt;/span&gt;&lt;span style="color:#000000;"&gt;())&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;           &lt;br /&gt;        &lt;span style="color:#000000;"&gt;}&lt;/span&gt; &lt;span style="color:#336699;"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;SQLException&lt;/span&gt; &lt;span style="color:#000000;"&gt;se&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#000000;"&gt;System&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;out&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;println&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#0033cc;"&gt;&amp;quot;SQL Exception:&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#000000;"&gt;se&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;printStackTrace&lt;/span&gt;&lt;span style="color:#000000;"&gt;()&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#336699;"&gt;&lt;b&gt;finally&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#808080;"&gt;// Close the result set, pstatement and the connection&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#000000;"&gt;JDBCUtil&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;close&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;rs&lt;/span&gt;&lt;span style="color:#000000;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;stmt&lt;/span&gt;&lt;span style="color:#000000;"&gt;,&lt;/span&gt;&lt;span style="color:#000000;"&gt;conn&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Running this application returns the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255); font-weight: bold;"&gt;Start: Mon Mar 31 11:31:45 EST 2008&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255); font-weight: bold;"&gt;End: Mon Mar 31 11:35:34 EST 2008&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It shows the application being executed over 4 minutes.&lt;br /&gt;&lt;br /&gt;As you can see, ensure you use bind variables for performance when coding your application.&lt;br /&gt;&lt;br /&gt;My JDBCUtil class method look like:&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;    &lt;span style="color:#336699;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#336699;"&gt;&lt;b&gt;static&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#336699;"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;close&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;ResultSet&lt;/span&gt; &lt;span style="color:#000000;"&gt;resultSet&lt;/span&gt;&lt;span style="color:#000000;"&gt;,&lt;/span&gt; &lt;span style="color:#000000;"&gt;Statement&lt;/span&gt; &lt;span style="color:#000000;"&gt;statement&lt;/span&gt;&lt;span style="color:#000000;"&gt;,&lt;/span&gt;&lt;br /&gt;                             &lt;span style="color:#000000;"&gt;Connection&lt;/span&gt; &lt;span style="color:#000000;"&gt;connection&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#336699;"&gt;&lt;b&gt;try&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#336699;"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;resultSet&lt;/span&gt; &lt;span style="color:#000000;"&gt;!=&lt;/span&gt; &lt;span style="color:#996600;"&gt;null&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#000000;"&gt;close&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;resultSet&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#336699;"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;statement&lt;/span&gt; &lt;span style="color:#000000;"&gt;!=&lt;/span&gt; &lt;span style="color:#996600;"&gt;null&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#000000;"&gt;close&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;statement&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#336699;"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;connection&lt;/span&gt; &lt;span style="color:#000000;"&gt;!=&lt;/span&gt; &lt;span style="color:#996600;"&gt;null&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#000000;"&gt;close&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;connection&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#000000;"&gt;}&lt;/span&gt;  &lt;span style="color:#336699;"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;Exception&lt;/span&gt; &lt;span style="color:#000000;"&gt;e&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#000000;"&gt;e&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;printStackTrace&lt;/span&gt;&lt;span style="color:#000000;"&gt;()&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;br /&gt;   &lt;br /&gt;    &lt;span style="color:#336699;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#336699;"&gt;&lt;b&gt;static&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#336699;"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;close&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;ResultSet&lt;/span&gt; &lt;span style="color:#000000;"&gt;resultSet&lt;/span&gt;&lt;span style="color:#000000;"&gt;,&lt;/span&gt; &lt;span style="color:#000000;"&gt;PreparedStatement&lt;/span&gt; &lt;span style="color:#000000;"&gt;pstatement&lt;/span&gt;&lt;span style="color:#000000;"&gt;,&lt;/span&gt;&lt;br /&gt;                             &lt;span style="color:#000000;"&gt;Connection&lt;/span&gt; &lt;span style="color:#000000;"&gt;connection&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#336699;"&gt;&lt;b&gt;try&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#336699;"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;resultSet&lt;/span&gt; &lt;span style="color:#000000;"&gt;!=&lt;/span&gt; &lt;span style="color:#996600;"&gt;null&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#000000;"&gt;close&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;resultSet&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#336699;"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;pstatement&lt;/span&gt; &lt;span style="color:#000000;"&gt;!=&lt;/span&gt; &lt;span style="color:#996600;"&gt;null&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#000000;"&gt;close&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;pstatement&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#336699;"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;connection&lt;/span&gt; &lt;span style="color:#000000;"&gt;!=&lt;/span&gt; &lt;span style="color:#996600;"&gt;null&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#000000;"&gt;close&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;connection&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#000000;"&gt;}&lt;/span&gt;  &lt;span style="color:#336699;"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;Exception&lt;/span&gt; &lt;span style="color:#000000;"&gt;e&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#000000;"&gt;e&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;printStackTrace&lt;/span&gt;&lt;span style="color:#000000;"&gt;()&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;br /&gt;   &lt;br /&gt;    &lt;span style="color:#336699;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#336699;"&gt;&lt;b&gt;static&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;Connection&lt;/span&gt; &lt;span style="color:#000000;"&gt;getConnection&lt;/span&gt;&lt;span style="color:#000000;"&gt;()&lt;/span&gt; &lt;span style="color:#336699;"&gt;&lt;b&gt;throws&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;SQLException&lt;/span&gt; &lt;span style="color:#000000;"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#000000;"&gt;String&lt;/span&gt; &lt;span style="color:#000000;"&gt;username&lt;/span&gt; &lt;span style="color:#000000;"&gt;=&lt;/span&gt; &lt;span style="color:#0033cc;"&gt;&amp;quot;scott&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#000000;"&gt;String&lt;/span&gt; &lt;span style="color:#000000;"&gt;password&lt;/span&gt; &lt;span style="color:#000000;"&gt;=&lt;/span&gt; &lt;span style="color:#0033cc;"&gt;&amp;quot;tiger&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#000000;"&gt;String&lt;/span&gt; &lt;span style="color:#000000;"&gt;thinConn&lt;/span&gt; &lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#0033cc;"&gt;&amp;quot;jdbc:oracle:thin:@sracanov-au2.au.oracle.com:1522:orcl&amp;quot;&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#000000;"&gt;DriverManager&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;registerDriver&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#336699;"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;OracleDriver&lt;/span&gt;&lt;span style="color:#000000;"&gt;())&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#000000;"&gt;Connection&lt;/span&gt; &lt;span style="color:#000000;"&gt;conn&lt;/span&gt; &lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#000000;"&gt;DriverManager&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;getConnection&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#000000;"&gt;thinConn&lt;/span&gt;&lt;span style="color:#000000;"&gt;,&lt;/span&gt; &lt;span style="color:#000000;"&gt;username&lt;/span&gt;&lt;span style="color:#000000;"&gt;,&lt;/span&gt; &lt;span style="color:#000000;"&gt;password&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#000000;"&gt;conn&lt;/span&gt;&lt;span style="color:#000000;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;"&gt;setAutoCommit&lt;/span&gt;&lt;span style="color:#000000;"&gt;(&lt;/span&gt;&lt;span style="color:#996600;"&gt;false&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#336699;"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/span&gt; &lt;span style="color:#000000;"&gt;conn&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-2127001082008964457?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/2127001082008964457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=2127001082008964457' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/2127001082008964457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/2127001082008964457'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2008/03/performance-using-bind-variables-in.html' title='Performance using Bind Variables in Java Application'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-4260007316575731626</id><published>2008-03-19T11:28:00.007+11:00</published><updated>2010-05-18T13:45:06.066+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DBMS Callout'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><title type='text'>Database (Web Services Call-Out) class error</title><content type='html'>&lt;span style="font-family: arial;font-family:times new roman;" &gt;When receiving the following error:&lt;pre&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;ERROR at line 1:&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;br /&gt;ORA-29540: class oracle/jpub/runtime/dbws/DbwsProxy does not exist&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;br /&gt;ORA-06512: at "SYS.UTL_DBWS", line 195&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;br /&gt;ORA-06512: at "INTERFACE.GET_JOKE", line 13&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;The java classes are not installed in the database user schema.&lt;br /&gt;&lt;br /&gt;Logout of sqlplus and run:&lt;br /&gt;&lt;pre  style="font-family:arial;"&gt;&lt;span style="font-weight: bold;"&gt;loadjava -u &lt;user&gt;/&lt;password&gt; -r -v -f -s -grant public -genmissing  dbwsclientws.jar dbwsclientdb102.jar&lt;/password&gt;&lt;/user&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Where user/password are the details of the database user using the database web service callout.&lt;br /&gt;&lt;br /&gt;Further details can be found here:&lt;br /&gt;&lt;/pre&gt;http://www.oracle.com/technology/sample_code/tech/java/jsp/callout_users_guide.htm&lt;br /&gt;http://www.oracle.com/technology/tech/java/oc4j/1003/how_to/how-to-ws-db-javacallout.html&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-4260007316575731626?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/4260007316575731626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=4260007316575731626' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/4260007316575731626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/4260007316575731626'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2008/03/database-web-services-call-out-class.html' title='Database (Web Services Call-Out) class error'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-8367029748149937954</id><published>2007-11-13T14:20:00.000+11:00</published><updated>2007-11-23T11:33:14.991+11:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JMS Provider'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='J2CA'/><title type='text'>How to configure an Oracle J2CA JMS RA and use it with a java client</title><content type='html'>This article explain’s in point form to create a java client that excesses a resource adapter, from an oc4j instance that is configure with fast connection failover to RAC database. It extends from my previous JMS posts.&lt;br /&gt;&lt;br /&gt;I am using:&lt;br /&gt;OAS 10.1.3.2.0&lt;br /&gt;RAC DB 10.2.0.3.0&lt;br /&gt;Jdev 10.1.3.2&lt;br /&gt;&lt;br /&gt;1. First logged in the database as “sys” user and created the queue. &lt;br /&gt;&lt;br /&gt;I ran the following script:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;drop user jmsuser cascade;&lt;br /&gt;------------------------------------------------------------&lt;br /&gt; create user jmsuser identified by jmsuser;&lt;br /&gt;&lt;br /&gt;grant create database link, create sequence, create session,&lt;br /&gt;       create synonym, create public synonym, drop public synonym,&lt;br /&gt;       create table, create view, create indextype,&lt;br /&gt;       create procedure, create trigger, create type, &lt;br /&gt;       unlimited tablespace&lt;br /&gt;    to  jmsuser;&lt;br /&gt;&lt;br /&gt; grant aq_administrator_role      to  jmsuser;&lt;br /&gt; grant execute on sys.dbms_aqadm  to  jmsuser;&lt;br /&gt; grant execute on sys.dbms_aq     to  jmsuser;&lt;br /&gt;&lt;br /&gt; grant execute on sys.dbms_aqin   to  jmsuser;&lt;br /&gt; grant execute on sys.dbms_aqjms  to  jmsuser;&lt;br /&gt;&lt;br /&gt; grant force any transaction      to  jmsuser;&lt;br /&gt;&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;connect jmsuser/jmsuser@judd;&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;create or replace package  ROUTERAdmin&lt;br /&gt;  AUTHID  DEFINER  as&lt;br /&gt;&lt;br /&gt;  procedure  createQueueTable(qtablename  IN VARCHAR2);&lt;br /&gt;  procedure  createTopicTable(ttablename  IN VARCHAR2);&lt;br /&gt;&lt;br /&gt;  procedure  createQueue(&lt;br /&gt;                qname                    IN     VARCHAR2,&lt;br /&gt;                qtablename               IN     VARCHAR2);&lt;br /&gt;&lt;br /&gt;  procedure  createTopic(&lt;br /&gt;                tname                    IN     VARCHAR2,&lt;br /&gt;                ttablename               IN     VARCHAR2);&lt;br /&gt;&lt;br /&gt;end  ROUTERAdmin;&lt;br /&gt;/&lt;br /&gt;show errors;&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;create or replace package body ROUTERAdmin  as&lt;br /&gt;&lt;br /&gt;---------------------------------&lt;br /&gt;---------------------------------&lt;br /&gt;  procedure  createQueue(&lt;br /&gt;                qname                    IN     VARCHAR2,&lt;br /&gt;                qtablename               IN     VARCHAR2)  is&lt;br /&gt;  begin&lt;br /&gt;    --&lt;br /&gt;    createQueueTable(qtablename);&lt;br /&gt;&lt;br /&gt;    --&lt;br /&gt;    DBMS_AQADM.CREATE_QUEUE( &lt;br /&gt;      Queue_name          =&gt; qname, &lt;br /&gt;      Queue_table         =&gt; qtablename,&lt;br /&gt;      max_retries         =&gt; '2');&lt;br /&gt;&lt;br /&gt;    --&lt;br /&gt;    DBMS_AQADM.START_QUEUE(&lt;br /&gt;      queue_name         =&gt; qname);&lt;br /&gt; end;&lt;br /&gt;---------------------------------&lt;br /&gt;  procedure  createTopic(&lt;br /&gt;                tname                    IN     VARCHAR2,&lt;br /&gt;                ttablename               IN     VARCHAR2) is&lt;br /&gt;  begin&lt;br /&gt;    --&lt;br /&gt;    createTopicTable(ttablename);&lt;br /&gt;  &lt;br /&gt;    --&lt;br /&gt;    DBMS_AQADM.CREATE_QUEUE( &lt;br /&gt;      Queue_name          =&gt; tname, &lt;br /&gt;      Queue_table         =&gt; ttablename,&lt;br /&gt;      max_retries         =&gt; '2');&lt;br /&gt;&lt;br /&gt;    --&lt;br /&gt;    DBMS_AQADM.START_QUEUE(&lt;br /&gt;      queue_name         =&gt; tname);&lt;br /&gt; end;&lt;br /&gt;&lt;br /&gt;---------------------------------&lt;br /&gt;  procedure  createQueueTable(qtablename  IN VARCHAR2)   is&lt;br /&gt;  begin&lt;br /&gt;      DBMS_AQADM.CREATE_QUEUE_TABLE(&lt;br /&gt;        Queue_table            =&gt; qtablename,&lt;br /&gt;        Queue_payload_type     =&gt; 'SYS.AQ$_JMS_MESSAGE',&lt;br /&gt;        sort_list =&gt; 'PRIORITY,ENQ_TIME',&lt;br /&gt; multiple_consumers  =&gt; false,&lt;br /&gt;        compatible             =&gt; '9.2');&lt;br /&gt;  exception&lt;br /&gt;    when others then&lt;br /&gt;       dbms_output.put_line('EXC: createQueueTable');&lt;br /&gt;    return;&lt;br /&gt;  end;&lt;br /&gt;---------------------------------&lt;br /&gt;  procedure  createTopicTable(ttablename  IN VARCHAR2)   is&lt;br /&gt;  begin&lt;br /&gt;      DBMS_AQADM.CREATE_QUEUE_TABLE(&lt;br /&gt;        Queue_table            =&gt; ttablename,&lt;br /&gt;        Queue_payload_type     =&gt; 'SYS.AQ$_JMS_MESSAGE',&lt;br /&gt;        sort_list =&gt; 'PRIORITY,ENQ_TIME',&lt;br /&gt; multiple_consumers  =&gt; TRUE,&lt;br /&gt;        compatible             =&gt; '9.2');&lt;br /&gt;  exception&lt;br /&gt;    when others then&lt;br /&gt;       dbms_output.put_line('EXC: createTopicTable');&lt;br /&gt;    return;&lt;br /&gt;  end;&lt;br /&gt;---------------------------------&lt;br /&gt;&lt;br /&gt;end  ROUTERAdmin;&lt;br /&gt;/&lt;br /&gt;show errors;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;------------------------------------------------&lt;br /&gt;----- create topics and queues for jmsrouteruser&lt;br /&gt;------------------------------------------------&lt;br /&gt;connect jmsuser/jmsuser@judd;&lt;br /&gt;&lt;br /&gt;begin&lt;br /&gt;---- Queues ----&lt;br /&gt; ROUTERAdmin.createQueue('RPQueue','RPTABLE');&lt;br /&gt; ROUTERAdmin.createQueue('RPLogQ','RPQLOGTABLE');&lt;br /&gt;end;&lt;br /&gt;/&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;2. I am using the oc4j instance “OC4J_Apps”&lt;br /&gt;&lt;br /&gt;Created a connection pool called “fcfConnPoolJMS”&lt;br /&gt;&lt;br /&gt;ULR: jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=on)(...))&lt;br /&gt;&lt;br /&gt;Username: jmsuser&lt;br /&gt;Password: jmsuser&lt;br /&gt;&lt;br /&gt;Connection Factory Properites:&lt;br /&gt;connectionCachingEnabled = true&lt;br /&gt;fastConnectionFailoverEnabled =true&lt;br /&gt;&lt;br /&gt;Initial size of Connection Cache = 10&lt;br /&gt;Minimum Number of Connections = 10&lt;br /&gt;Maximum Number of Connections = 20&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_9rl0CtIbSrw/RzkYldRFGkI/AAAAAAAAAAg/sCWrkMxkHEs/s1600-h/fcfConnPoolJMS.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_9rl0CtIbSrw/RzkYldRFGkI/AAAAAAAAAAg/sCWrkMxkHEs/s400/fcfConnPoolJMS.JPG" alt="" id="BLOGGER_PHOTO_ID_5132160282155883074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_9rl0CtIbSrw/RzkY1tRFGlI/AAAAAAAAAAo/xtncQ6EltBg/s1600-h/fcfConnPoolJMS-Attributes.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_9rl0CtIbSrw/RzkY1tRFGlI/AAAAAAAAAAo/xtncQ6EltBg/s400/fcfConnPoolJMS-Attributes.JPG" alt="" id="BLOGGER_PHOTO_ID_5132160561328757330" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Save&lt;br /&gt;&lt;br /&gt;3. Create a data source&lt;br /&gt;&lt;br /&gt;Name: fcfDSJMS&lt;br /&gt;JNDI Location: jdbc/fcfDSJMS&lt;br /&gt;Connection Pool: fcfConnPoolJMS&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_9rl0CtIbSrw/RzkbJtRFGmI/AAAAAAAAAAw/dsEDCvYe3XA/s1600-h/fcfDSJMS.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_9rl0CtIbSrw/RzkbJtRFGmI/AAAAAAAAAAw/dsEDCvYe3XA/s400/fcfDSJMS.JPG" alt="" id="BLOGGER_PHOTO_ID_5132163103949396578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;Save&lt;br /&gt;&lt;br /&gt;4. Create a Database Persistence.&lt;br /&gt;&lt;br /&gt;OC4J_Apps -&gt; Administration -&gt; Database Persistence -&gt; Deploy&lt;br /&gt;&lt;br /&gt;Resource Adapter Module Name = mySimpleTestRA&lt;br /&gt;&lt;br /&gt;Add new Resource Provider&lt;br /&gt;Resource Provider Name = mySimpleTestRP&lt;br /&gt;Datasource JNDI Location = jdbc/fcfDSJMS&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_9rl0CtIbSrw/Rzkbj9RFGnI/AAAAAAAAAA4/qU6L91pkoGg/s1600-h/database-persistence.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_9rl0CtIbSrw/Rzkbj9RFGnI/AAAAAAAAAA4/qU6L91pkoGg/s400/database-persistence.JPG" alt="" id="BLOGGER_PHOTO_ID_5132163554920962674" border="0" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Saved and then restarted OC4J instance “OC4J_Apps”.&lt;br /&gt;&lt;br /&gt;5. Created Connection Factory.&lt;br /&gt;&lt;br /&gt;OC4J_Apps -&gt; Applications -&gt; Standalone Resource Adapters (select from combo box) -&gt; mySimpleTestRA (Resource Adapter Module)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_9rl0CtIbSrw/RzkbwdRFGoI/AAAAAAAAABA/fFJbPQxy0jo/s1600-h/Resource+Adapter+Module.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_9rl0CtIbSrw/RzkbwdRFGoI/AAAAAAAAABA/fFJbPQxy0jo/s400/Resource+Adapter+Module.JPG" alt="" id="BLOGGER_PHOTO_ID_5132163769669327490" border="0" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Connection Factories -&gt; Create&lt;br /&gt;&lt;br /&gt;Connection Factory Interface = javax.jms.QueueConnectionFactory&lt;br /&gt;JNDI Location = mySimpleTestRA&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_9rl0CtIbSrw/Rzkb5dRFGpI/AAAAAAAAABI/9Jhqm0Z1dw4/s1600-h/Connection+Factory.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_9rl0CtIbSrw/Rzkb5dRFGpI/AAAAAAAAABI/9Jhqm0Z1dw4/s400/Connection+Factory.JPG" alt="" id="BLOGGER_PHOTO_ID_5132163924288150162" border="0" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Save.&lt;br /&gt;&lt;br /&gt;6. Create Administration Objects&lt;br /&gt;&lt;br /&gt;Administration Objects -&gt; create&lt;br /&gt;&lt;br /&gt;Object Class = oracle.j2ee.ra.jms.generic.AdminObjectQueueImpl&lt;br /&gt;&lt;br /&gt;JNDI Location = mySimpleTestRA/AutoWrap&lt;br /&gt;&lt;br /&gt;Configuration Properties&lt;br /&gt;ResourceProviderName = mySimpleTestRP&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_9rl0CtIbSrw/RzkcP9RFGqI/AAAAAAAAABQ/67Ts950E8bs/s1600-h/Administration+Objects.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_9rl0CtIbSrw/RzkcP9RFGqI/AAAAAAAAABQ/67Ts950E8bs/s400/Administration+Objects.JPG" alt="" id="BLOGGER_PHOTO_ID_5132164310835206818" border="0" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Save.&lt;br /&gt;&lt;br /&gt;7. Create my java test client in Jdev.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;package jmsracclient;&lt;br /&gt;&lt;br /&gt;import java.util.Hashtable;&lt;br /&gt;&lt;br /&gt;import javax.naming.Context;&lt;br /&gt;import javax.naming.InitialContext;&lt;br /&gt;import javax.naming.NamingException;&lt;br /&gt;&lt;br /&gt;import javax.jms.*;&lt;br /&gt;&lt;br /&gt;public class JMSClient {&lt;br /&gt;&lt;br /&gt;    public static void main(String[] args) {&lt;br /&gt;        final String queueName = &lt;br /&gt;            "java:comp/resource/mySimpleTestRP/Queues/RPQueue";&lt;br /&gt;        final String queueConnectionFactoryName = &lt;br /&gt;            "java:comp/resource/mySimpleTestRP/QueueConnectionFactories/QCF";&lt;br /&gt;        final String oc4juser = "oc4jadmin";&lt;br /&gt;        final String oc4juserpassword = "welcome1";&lt;br /&gt;        final String urlProvider = "opmn:ormi://";&lt;br /&gt;        final String jmsProviderHost = "sracanov-au2.au.oracle.com";&lt;br /&gt;        final String colon = ":";&lt;br /&gt;        final String opmnPort = "6005";&lt;br /&gt;        final String oc4jinstance = "OC4J_Apps";&lt;br /&gt;        final int NUMBER_OF_MESSAGES = 5;&lt;br /&gt;        Context jndiContext = null;&lt;br /&gt;        QueueConnectionFactory queueConnectionFactory = null;&lt;br /&gt;        QueueConnection queueConnection = null;&lt;br /&gt;        QueueSession queueSession = null;&lt;br /&gt;        Queue queue = null;&lt;br /&gt;        QueueSender queueSender = null;&lt;br /&gt;        TextMessage message = null;&lt;br /&gt;&lt;br /&gt;        /*&lt;br /&gt;         * Set the environment for a connection to the OC4J instance&lt;br /&gt;         */&lt;br /&gt;        Hashtable env = new Hashtable();&lt;br /&gt;        env.put(Context.INITIAL_CONTEXT_FACTORY, &lt;br /&gt;                "oracle.j2ee.rmi.RMIInitialContextFactory");&lt;br /&gt;        env.put(Context.SECURITY_PRINCIPAL, oc4juser);&lt;br /&gt;        env.put(Context.SECURITY_CREDENTIALS, oc4juserpassword);&lt;br /&gt;        env.put(Context.PROVIDER_URL, &lt;br /&gt;                urlProvider + jmsProviderHost + colon + opmnPort + colon + &lt;br /&gt;                oc4jinstance + "/default");&lt;br /&gt;&lt;br /&gt;        /*&lt;br /&gt;         * Set the Context Object.&lt;br /&gt;         * Lookup the Queue Connection Factory.&lt;br /&gt;         * Lookup the JMS Destination.&lt;br /&gt;         */&lt;br /&gt;        try {&lt;br /&gt;            jndiContext = new InitialContext(env);&lt;br /&gt;            System.out.println("Env set");&lt;br /&gt;            queueConnectionFactory = &lt;br /&gt;                    (QueueConnectionFactory)jndiContext.lookup(queueConnectionFactoryName);&lt;br /&gt;            System.out.println("Got QCF");&lt;br /&gt;            queue = (Queue)jndiContext.lookup(queueName);&lt;br /&gt;            System.out.println("Got Q");&lt;br /&gt;        } catch (NamingException e) {&lt;br /&gt;            System.out.println("JNDI lookup failed: " + e.toString());&lt;br /&gt;            System.exit(1);&lt;br /&gt;        }&lt;br /&gt;        System.out.println("End of test client");&lt;br /&gt;        /*&lt;br /&gt;         * Create connection.&lt;br /&gt;         * Create session from connection.&lt;br /&gt;         * Create sender.&lt;br /&gt;         * Create text message.&lt;br /&gt;         * Send messages.&lt;br /&gt;         * Send non text message to end text messages.&lt;br /&gt;         * Close connection.&lt;br /&gt;         */&lt;br /&gt;        try {&lt;br /&gt;            queueConnection = queueConnectionFactory.createQueueConnection();&lt;br /&gt;            queueSession = &lt;br /&gt;                    queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);&lt;br /&gt;            queueSender = queueSession.createSender(queue);&lt;br /&gt;            message = queueSession.createTextMessage();&lt;br /&gt;            for (int i = 0; i &lt; NUMBER_OF_MESSAGES; i++) {&lt;br /&gt;                message.setText("Message " + (i + 1));&lt;br /&gt;                System.out.println("Producing message: " + message.getText());&lt;br /&gt;                queueSender.send(message);&lt;br /&gt;            }&lt;br /&gt;            queueSender.send(queueSession.createBytesMessage());&lt;br /&gt;        } catch (JMSException e) {&lt;br /&gt;            System.out.println("Exception occurred: " + e.toString());&lt;br /&gt;        } finally {&lt;br /&gt;            if (queueConnection != null) {&lt;br /&gt;                try {&lt;br /&gt;                    queueConnection.close();&lt;br /&gt;                } catch (JMSException e) {&lt;br /&gt;                    System.out.println("Closing error: " + e.toString());&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;8. Ensure the project properties java options are set correctly for -Doracle.ons.oraclehome&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_9rl0CtIbSrw/RzkcZdRFGrI/AAAAAAAAABY/tqsDpetjg9s/s1600-h/java+options.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_9rl0CtIbSrw/RzkcZdRFGrI/AAAAAAAAABY/tqsDpetjg9s/s400/java+options.JPG" alt="" id="BLOGGER_PHOTO_ID_5132164474043964082" border="0" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;This directory must contain opmn\conf\ons.config file. My ons.config file looks like:&lt;br /&gt;&lt;br /&gt;localport=6100&lt;br /&gt;remoteport=6202&lt;br /&gt;nodes=aulnx11-vip.au.oracle.com:6202,aulnx12-vip.au.oracle.com:6202&lt;br /&gt;&lt;br /&gt;9. The project should have the following libraries (in this order)&lt;br /&gt;&lt;br /&gt;* JDBC Driver 10.2.0.3&lt;br /&gt;* Apache Ant&lt;br /&gt;* JSP Runtime&lt;br /&gt;* Ons.jar&lt;br /&gt;* J2EE&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_9rl0CtIbSrw/RzkcktRFGsI/AAAAAAAAABg/KghcQ9b575s/s1600-h/project-libraries.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_9rl0CtIbSrw/RzkcktRFGsI/AAAAAAAAABg/KghcQ9b575s/s400/project-libraries.JPG" alt="" id="BLOGGER_PHOTO_ID_5132164667317492418" border="0" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;10. Run the java client. Received the following result:&lt;br /&gt;&lt;br /&gt;Env set&lt;br /&gt;Got QCF&lt;br /&gt;Got Q&lt;br /&gt;End of test client&lt;br /&gt;Producing message: Message 1&lt;br /&gt;Producing message: Message 2&lt;br /&gt;Producing message: Message 3&lt;br /&gt;Producing message: Message 4&lt;br /&gt;Producing message: Message 5&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_9rl0CtIbSrw/Rzkc8tRFGuI/AAAAAAAAABs/QsiNfHZHg7U/s1600-h/client-results.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_9rl0CtIbSrw/Rzkc8tRFGuI/AAAAAAAAABs/QsiNfHZHg7U/s400/client-results.JPG" alt="" id="BLOGGER_PHOTO_ID_5132165079634352866" border="0" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Note: I didn’t explain the ons configuration on the oc4j server side for my OC4J_Apps instance.&lt;br /&gt;&lt;br /&gt;If you have applied any patches to your Application Server, then use all the libraries from the server (step 9).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-8367029748149937954?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/8367029748149937954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=8367029748149937954' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/8367029748149937954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/8367029748149937954'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2007/11/how-to-configure-oracle-j2ca-jms-ra-and.html' title='How to configure an Oracle J2CA JMS RA and use it with a java client'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_9rl0CtIbSrw/RzkYldRFGkI/AAAAAAAAAAg/sCWrkMxkHEs/s72-c/fcfConnPoolJMS.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-5251957855412192150</id><published>2007-10-11T14:48:00.000+10:00</published><updated>2007-10-11T15:31:13.205+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JMS Provider'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>How to create a simple JMS topic, publisher and subscriber in Oracle 10g</title><content type='html'>In continuing from my previous updates about jms, this time I am writing a simple file persistence jms topic.&lt;br /&gt;&lt;br /&gt;I am still using the same version OracleAS 10.1.3.2.0 as the JMS Provider.&lt;br /&gt;&lt;br /&gt;1. Create the JMS destination. Run the following from $OH\j2ee\home:&lt;br /&gt;&lt;br /&gt;java -jar admin_client.jar deployer:oc4j:opmn://sracanov-au.au.oracle.com:6007/JMS oc4jadmin welcome1 -addDestination -domain topic -name jmstopic -jndiLocation jms/MyJMSTopic -persistenceFile myjmstopic.txt&lt;br /&gt;&lt;br /&gt;This will create a presistence file “myjmstopic.txt” to store the message. You can see the file by navigating to &lt;xmp&gt; $OH\j2ee\&lt;instance_name&gt;\persistence\&lt;instance_name&gt;_&lt;group_name&gt;_1&lt;/xmp&gt;&lt;br /&gt;&lt;br /&gt;[sracanov@sracanov-au D]$ java -jar admin_client.jar deployer:oc4j:opmn://sracanov-au.au.oracle.com:6007/JMS oc4jadmin welcome1 -addDestination -domain topic -name jmstopic -jndiLocation jms/MyJMSTopic -persistenceFile myjmstopic.txt&lt;br /&gt;Command was successful&lt;br /&gt;&lt;br /&gt;2. Create the JMS connection factory. Run the following from $OH\j2ee\home:&lt;br /&gt;&lt;br /&gt;java -jar admin_client.jar deployer:oc4j:opmn://sracanov-au.au.oracle.com:6007/JMS oc4jadmin welcome1 -addJMSConnectionFactory -domain topic -jndiLocation jms/MyJMSTCF&lt;br /&gt;&lt;br /&gt;[sracanov@sracanov-au D]$ java -jar admin_client.jar deployer:oc4j:opmn://sracanov-au.au.oracle.com:6007/JMS oc4jadmin welcome1 -addJMSConnectionFactory -domain topic -jndiLocation jms/MyJMSTCF&lt;br /&gt;&lt;br /&gt;3. We need to create 3 java classes. Once again, I am using Jdev to create my classes. So first I will create a new application and project. &lt;br /&gt;&lt;br /&gt;I will need to make sure the follow libraries are including in the project: &lt;br /&gt;· J2EE&lt;br /&gt;· Apache Ant&lt;br /&gt;&lt;br /&gt;4.  Now create the publisher client:&lt;br /&gt; &lt;pre&gt;&lt;br /&gt;package project1;&lt;br /&gt;&lt;br /&gt;import java.util.Hashtable;&lt;br /&gt;&lt;br /&gt;import javax.jms.JMSException;&lt;br /&gt;import javax.jms.MapMessage;&lt;br /&gt;import javax.jms.Session;&lt;br /&gt;import javax.jms.Topic;&lt;br /&gt;import javax.jms.TopicConnection;&lt;br /&gt;import javax.jms.TopicConnectionFactory;&lt;br /&gt;import javax.jms.TopicPublisher;&lt;br /&gt;import javax.jms.TopicSession;&lt;br /&gt;&lt;br /&gt;import javax.naming.Context;&lt;br /&gt;import javax.naming.InitialContext;&lt;br /&gt;import javax.naming.NamingException;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class MyTopicPublisher {&lt;br /&gt;&lt;br /&gt;    public static void main(String[] args) {&lt;br /&gt;        final String topicName = "jms/MyJMSTopic";&lt;br /&gt;        final String topicConnectionFactoryName = "jms/MyJMSTCF";&lt;br /&gt;        final String oc4juser = "oc4jadmin";&lt;br /&gt;        final String oc4juserpassword = "welcome1";&lt;br /&gt;        final String urlProvider = "opmn:ormi://";&lt;br /&gt;        final String jmsProviderHost = "sracanov-au.au.oracle.com";&lt;br /&gt;        final String colon = ":";&lt;br /&gt;        final String opmnPort = "6007";&lt;br /&gt;        final String oc4jinstance = "OC4J_JMS";&lt;br /&gt;        final int NUMBER_OF_MESSAGES = 5;&lt;br /&gt;        TopicConnection topicConnection = null;&lt;br /&gt;        TopicConnectionFactory topicConnectionFactory = null;&lt;br /&gt;        Context jndiContext = null;&lt;br /&gt;        TopicSession topicSession = null;&lt;br /&gt;        Topic topic = null;&lt;br /&gt;        TopicPublisher topicPublisher = null;&lt;br /&gt;        MapMessage message = null;&lt;br /&gt;&lt;br /&gt;        /*&lt;br /&gt;         * Set the environment for a connection to the OC4J instance&lt;br /&gt;         */&lt;br /&gt;        Hashtable env = new Hashtable();&lt;br /&gt;        env.put(Context.INITIAL_CONTEXT_FACTORY, &lt;br /&gt;                "oracle.j2ee.rmi.RMIInitialContextFactory");&lt;br /&gt;        env.put(Context.SECURITY_PRINCIPAL, oc4juser);&lt;br /&gt;        env.put(Context.SECURITY_CREDENTIALS, oc4juserpassword);&lt;br /&gt;        env.put(Context.PROVIDER_URL, &lt;br /&gt;                urlProvider + jmsProviderHost + colon + opmnPort + colon + &lt;br /&gt;                oc4jinstance + "/default");&lt;br /&gt;&lt;br /&gt;        /*&lt;br /&gt;         * Set the Context Object.&lt;br /&gt;         * Lookup the Topic Connection Factory.&lt;br /&gt;         * Lookup the JMS Destination.&lt;br /&gt;         */&lt;br /&gt;        try {&lt;br /&gt;            jndiContext = new InitialContext(env);&lt;br /&gt;            topicConnectionFactory = &lt;br /&gt;                    (TopicConnectionFactory)jndiContext.lookup(topicConnectionFactoryName);&lt;br /&gt;            topic = (Topic)jndiContext.lookup(topicName);&lt;br /&gt;        } catch (NamingException e) {&lt;br /&gt;            System.out.println("Lookup failed: " + e.toString());&lt;br /&gt;            System.exit(1);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        /*&lt;br /&gt;         * Create connection.&lt;br /&gt;         * Create session from connection.&lt;br /&gt;         * Create publisher.&lt;br /&gt;         * Create text message.&lt;br /&gt;         * Send messages.&lt;br /&gt;         * Close connection.&lt;br /&gt;         */&lt;br /&gt;        try {&lt;br /&gt;            topicConnection = topicConnectionFactory.createTopicConnection();&lt;br /&gt;            topicSession = &lt;br /&gt;                    topicConnection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);&lt;br /&gt;            topicPublisher = topicSession.createPublisher(topic);&lt;br /&gt;            message = topicSession.createMapMessage();&lt;br /&gt;            for (int i = 0; i &lt; NUMBER_OF_MESSAGES; i++) {&lt;br /&gt;                message.setStringProperty("from", "from@" + jmsProviderHost);&lt;br /&gt;                message.setStringProperty("to", "to@" + jmsProviderHost);&lt;br /&gt;                message.setStringProperty("subject", &lt;br /&gt;                                          "Topic Message " + (i + 1));&lt;br /&gt;                message.setStringProperty("content", &lt;br /&gt;                                          "Message " + (i + 1) + " in Topic: \"" + &lt;br /&gt;                                          topicName + "\"");&lt;br /&gt;                System.out.println("Publishing message: " + &lt;br /&gt;                                   message.getStringProperty("from"));&lt;br /&gt;                System.out.println("Publishing message: " + &lt;br /&gt;                                   message.getStringProperty("to"));&lt;br /&gt;                System.out.println("Publishing message: " + &lt;br /&gt;                                   message.getStringProperty("subject"));&lt;br /&gt;                System.out.println("Publishing message: " + &lt;br /&gt;                                   message.getStringProperty("content"));&lt;br /&gt;                topicPublisher.publish(message);&lt;br /&gt;            }&lt;br /&gt;        } catch (JMSException e) {&lt;br /&gt;            System.out.println("Exception occurred: " + e.toString());&lt;br /&gt;        } finally {&lt;br /&gt;            if (topicConnection != null) {&lt;br /&gt;                try {&lt;br /&gt;                    topicConnection.close();&lt;br /&gt;                } catch (JMSException e) {&lt;br /&gt;                    System.out.println("Closing error: " + e.toString());&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;5. Now we need to create the message listener that will listen to meesages on map types: &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;package project1;&lt;br /&gt;&lt;br /&gt;import javax.jms.JMSException;&lt;br /&gt;import javax.jms.MapMessage;&lt;br /&gt;import javax.jms.Message;&lt;br /&gt;import javax.jms.MessageListener;&lt;br /&gt;&lt;br /&gt;public class JMSTopicMapListener implements MessageListener {&lt;br /&gt;&lt;br /&gt;    public void onMessage(Message message) {&lt;br /&gt;        MapMessage msg = null;&lt;br /&gt;&lt;br /&gt;        try {&lt;br /&gt;            if (message instanceof MapMessage) {&lt;br /&gt;                msg = (MapMessage)message;&lt;br /&gt;                String from = msg.getStringProperty("from");&lt;br /&gt;                String to = msg.getStringProperty("to");&lt;br /&gt;                String subject = msg.getStringProperty("subject");&lt;br /&gt;                String content = msg.getStringProperty("content");&lt;br /&gt;                System.out.println("READING MESSAGE \n=============== \nFrom: " + &lt;br /&gt;                                   from + "\nTo: " + to + "\nSubject: " + &lt;br /&gt;                                   subject + "\nContent: " + content);&lt;br /&gt;            } else {&lt;br /&gt;                System.out.println("Wrong type");&lt;br /&gt;            }&lt;br /&gt;        } catch (JMSException e) {&lt;br /&gt;            System.out.println("JMSException in onMessage(): " + e.toString());&lt;br /&gt;        } catch (Throwable t) {&lt;br /&gt;            System.out.println("Exception in onMessage():" + t.getMessage());&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;6. Create the subscriber client:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;package project1;&lt;br /&gt;&lt;br /&gt;import javax.jms.*;&lt;br /&gt;&lt;br /&gt;import javax.naming.*;&lt;br /&gt;&lt;br /&gt;import java.util.Hashtable;&lt;br /&gt;&lt;br /&gt;public class MyTopicSubscriber {&lt;br /&gt;&lt;br /&gt;    public static void main(String[] args) {&lt;br /&gt;        final String topicName = "jms/MyJMSTopic";&lt;br /&gt;        final String topicConnectionFactoryName = "jms/MyJMSTCF";&lt;br /&gt;        final String oc4juser = "oc4jadmin";&lt;br /&gt;        final String oc4juserpassword = "welcome1";&lt;br /&gt;        final String urlProvider = "opmn:ormi://";&lt;br /&gt;        final String jmsProviderHost = "sracanov-au.au.oracle.com";&lt;br /&gt;        final String colon = ":";&lt;br /&gt;        final String opmnPort = "6007";&lt;br /&gt;        final String oc4jinstance = "OC4J_JMS";&lt;br /&gt;        Context jndiContext = null;&lt;br /&gt;        TopicConnectionFactory topicConnectionFactory = null;&lt;br /&gt;        TopicConnection topicConnection = null;&lt;br /&gt;        TopicSession topicSession = null;&lt;br /&gt;        Topic topic = null;&lt;br /&gt;        TopicSubscriber topicSubscriber = null;&lt;br /&gt;        JMSTopicMapListener topicListener = null;&lt;br /&gt;&lt;br /&gt;        /*&lt;br /&gt;         * Set the environment for a connection to the OC4J instance&lt;br /&gt;         */&lt;br /&gt;        Hashtable env = new Hashtable();&lt;br /&gt;        env.put(Context.INITIAL_CONTEXT_FACTORY, &lt;br /&gt;                "oracle.j2ee.rmi.RMIInitialContextFactory");&lt;br /&gt;        env.put(Context.SECURITY_PRINCIPAL, oc4juser);&lt;br /&gt;        env.put(Context.SECURITY_CREDENTIALS, oc4juserpassword);&lt;br /&gt;        env.put(Context.PROVIDER_URL, &lt;br /&gt;                urlProvider + jmsProviderHost + colon + opmnPort + colon + &lt;br /&gt;                oc4jinstance + "/default");&lt;br /&gt;&lt;br /&gt;        /*&lt;br /&gt;         * Set the Context Object.&lt;br /&gt;         * Lookup the Topic Connection Factory.&lt;br /&gt;         * Lookup the JMS Destination.&lt;br /&gt;         */&lt;br /&gt;        try {&lt;br /&gt;            jndiContext = new InitialContext(env);&lt;br /&gt;            topicConnectionFactory = &lt;br /&gt;                    (TopicConnectionFactory)jndiContext.lookup(topicConnectionFactoryName);&lt;br /&gt;            topic = (Topic)jndiContext.lookup(topicName);&lt;br /&gt;        } catch (NamingException e) {&lt;br /&gt;            System.out.println("Lookup failed: " + e.toString());&lt;br /&gt;            System.exit(1);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        /*&lt;br /&gt;         * Create connection.&lt;br /&gt;         * Create session from connection; false means session is&lt;br /&gt;         * not transacted.&lt;br /&gt;         * Create subscriber.&lt;br /&gt;         * Register message listener (TextListener).&lt;br /&gt;         * Receive text messages from topic.&lt;br /&gt;         * Close connection.&lt;br /&gt;         */&lt;br /&gt;        try {&lt;br /&gt;            topicConnection = topicConnectionFactory.createTopicConnection();&lt;br /&gt;            topicSession = &lt;br /&gt;                    topicConnection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);&lt;br /&gt;            topicSubscriber = topicSession.createSubscriber(topic);&lt;br /&gt;            topicListener = new JMSTopicMapListener();&lt;br /&gt;            topicSubscriber.setMessageListener(topicListener);&lt;br /&gt;            topicConnection.start();&lt;br /&gt;            System.out.println("Subscripted to topic: \"" + topicName + "\"");&lt;br /&gt;            while (true) {&lt;br /&gt;            }&lt;br /&gt;        } catch (JMSException e) {&lt;br /&gt;            System.out.println("Exception occurred: " + e.toString());&lt;br /&gt;        } finally {&lt;br /&gt;            if (topicConnection != null) {&lt;br /&gt;                try {&lt;br /&gt;                    topicConnection.close();&lt;br /&gt;                } catch (JMSException e) {&lt;br /&gt;                    System.out.println("Closing error: " + e.toString());&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;7. Ensure the follow Strings in the publisher and subcriber java class are set according to your environment:&lt;br /&gt;&lt;br /&gt;final String            topicName = "jms/MyJMSTopic";&lt;br /&gt;final String            topicConnectionFactoryName = "jms/MyJMSTCF";&lt;br /&gt;final String            oc4juser = "oc4jadmin";&lt;br /&gt;final String            oc4juserpassword = "welcome1";&lt;br /&gt;final String            urlProvider = "opmn:ormi://";&lt;br /&gt;final String            jmsProviderHost = "sracanov-au.au.oracle.com";&lt;br /&gt;final String            colon = ":";&lt;br /&gt;final String            opmnPort = "6007";&lt;br /&gt;final String            oc4jinstance = "JMS";&lt;br /&gt;&lt;br /&gt;8. Run the subcriber class. The subscriber is waiting for message to be sent by the publisher. You will see the following message in the console. &lt;br /&gt;&lt;br /&gt;Subscripted to topic: "jms/MyJMSTopic"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;9. Run the publisher class. The following results in displayed in the publisher console:&lt;br /&gt;&lt;br /&gt;Publishing message: from@sracanov-au.au.oracle.com&lt;br /&gt;Publishing message: to@sracanov-au.au.oracle.com&lt;br /&gt;Publishing message: Topic Message 1&lt;br /&gt;Publishing message: Message 1 in Topic: "jms/MyJMSTopic"&lt;br /&gt;Publishing message: from@sracanov-au.au.oracle.com&lt;br /&gt;Publishing message: to@sracanov-au.au.oracle.com&lt;br /&gt;Publishing message: Topic Message 2&lt;br /&gt;Publishing message: Message 2 in Topic: "jms/MyJMSTopic"&lt;br /&gt;Publishing message: from@sracanov-au.au.oracle.com&lt;br /&gt;Publishing message: to@sracanov-au.au.oracle.com&lt;br /&gt;Publishing message: Topic Message 3&lt;br /&gt;Publishing message: Message 3 in Topic: "jms/MyJMSTopic"&lt;br /&gt;Publishing message: from@sracanov-au.au.oracle.com&lt;br /&gt;Publishing message: to@sracanov-au.au.oracle.com&lt;br /&gt;Publishing message: Topic Message 4&lt;br /&gt;Publishing message: Message 4 in Topic: "jms/MyJMSTopic"&lt;br /&gt;Publishing message: from@sracanov-au.au.oracle.com&lt;br /&gt;Publishing message: to@sracanov-au.au.oracle.com&lt;br /&gt;Publishing message: Topic Message 5&lt;br /&gt;Publishing message: Message 5 in Topic: "jms/MyJMSTopic"&lt;br /&gt;Process exited with exit code 0.&lt;br /&gt;&lt;br /&gt;10. Back in the subscriber console, the following message is displayed:&lt;br /&gt;&lt;br /&gt;READING MESSAGE &lt;br /&gt;=============== &lt;br /&gt;From: from@sracanov-au.au.oracle.com&lt;br /&gt;To: to@sracanov-au.au.oracle.com&lt;br /&gt;Subject: Topic Message 1&lt;br /&gt;Content: Message 1 in Topic: "jms/MyJMSTopic"&lt;br /&gt;READING MESSAGE &lt;br /&gt;=============== &lt;br /&gt;From: from@sracanov-au.au.oracle.com&lt;br /&gt;To: to@sracanov-au.au.oracle.com&lt;br /&gt;Subject: Topic Message 2&lt;br /&gt;Content: Message 2 in Topic: "jms/MyJMSTopic"&lt;br /&gt;READING MESSAGE &lt;br /&gt;=============== &lt;br /&gt;From: from@sracanov-au.au.oracle.com&lt;br /&gt;To: to@sracanov-au.au.oracle.com&lt;br /&gt;Subject: Topic Message 3&lt;br /&gt;Content: Message 3 in Topic: "jms/MyJMSTopic"&lt;br /&gt;READING MESSAGE &lt;br /&gt;=============== &lt;br /&gt;From: from@sracanov-au.au.oracle.com&lt;br /&gt;To: to@sracanov-au.au.oracle.com&lt;br /&gt;Subject: Topic Message 4&lt;br /&gt;Content: Message 4 in Topic: "jms/MyJMSTopic"&lt;br /&gt;READING MESSAGE &lt;br /&gt;=============== &lt;br /&gt;From: from@sracanov-au.au.oracle.com&lt;br /&gt;To: to@sracanov-au.au.oracle.com&lt;br /&gt;Subject: Topic Message 5&lt;br /&gt;Content: Message 5 in Topic: "jms/MyJMSTopic"&lt;br /&gt;&lt;br /&gt;Ensure you stop the subscriber client when done.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-5251957855412192150?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/5251957855412192150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=5251957855412192150' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/5251957855412192150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/5251957855412192150'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2007/10/how-to-create-simple-jms-topic.html' title='How to create a simple JMS topic, publisher and subscriber in Oracle 10g'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-2619023543689248660</id><published>2007-10-02T14:01:00.000+10:00</published><updated>2007-10-11T15:28:50.453+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JMS Provider'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>How to Send JMS Messages to one Oracle Application Server while reading it from another.</title><content type='html'>The example demonstrates a queue on one server (Server A), while having an MDB on another server (Server B) that listens to the queue. It also includes a client that connects to Server B and reads the messages.&lt;br /&gt;&lt;br /&gt;The example involves having 2 Oracle Application Server. I'm using Oracle AS 10.1.3.2.0.&lt;br /&gt;&lt;br /&gt;The following outline the tasks to be complete:&lt;br /&gt;a) Server A is used to send the message to. &lt;br /&gt;Need to create a JMS destination and queue connection factory&lt;br /&gt;The queue on Server A will be called jms/MyJMSQueue.&lt;br /&gt;The queue connection factory Server A will be called jms/MyJMSQCF.&lt;br /&gt;The client will connect to server A and send a message to the queue. &lt;br /&gt;&lt;br /&gt;b) Server B is used to read the messages. &lt;br /&gt;Need to create a queue connection factory destination that point to Server A and the JMS destination as in Server A.&lt;br /&gt;The queue on Server B is the same as Server A.&lt;br /&gt;The queue connection factory Server B will be called jms/MyRemoteQCF.&lt;br /&gt;The MDB will be deployed to Server B. The MDB will listen to messages on Server A. &lt;br /&gt;The client will connect to server B and read messages from the queue. &lt;br /&gt;&lt;br /&gt;1. On Server A, create a JMS Destination.&lt;br /&gt;&lt;br /&gt;[sracanov@sracanov-au2 JMS_SR]$ cd $ORACLE_HOME\j2ee\JMS&lt;br /&gt;&lt;br /&gt;[sracanov@sracanov-au2]$ java -jar admin_client.jar deployer:oc4j:opmn://sracanov-au2.au.oracle.com:6005/JMS_SR oc4jadmin welcome1 -addDestination -domain queue -name jmsqueue -jndiLocation jms/MyJMSQueue&lt;br /&gt;&lt;br /&gt;2. On Server B, create a JMS Destination. Same as in step 1.&lt;br /&gt;&lt;br /&gt;[sracanov@sracanov-au2]$ java -jar admin_client.jar deployer:oc4j:opmn://sracanov-au.au.oracle.com:6007/JMS oc4jadmin welcome1 -addDestination -domain queue -name jmsqueue -jndiLocation jms/MyJMSQueue&lt;br /&gt;&lt;br /&gt;3. On Server A, create a Connection Factory.&lt;br /&gt;&lt;br /&gt;[sracanov@sracanov-au2 JMS_SR]$ java -jar admin_client.jar deployer:oc4j:opmn:// sracanov-au2.au.oracle.com:6005/JMS_SR oc4jadmin welcome1 -addJMSConnectionFactory -domain queue -jndiLocation jms/MyJMSQCF&lt;br /&gt;&lt;br /&gt;4. On Server B, create a Connection Factory.&lt;br /&gt;&lt;br /&gt;First determine the jms port for the OC4J instance you are using on Server A.&lt;br /&gt;&lt;br /&gt;[oracle@sracanov-au2 JMS_SR]$ opmnctl status -l&lt;br /&gt;&lt;br /&gt;…&lt;br /&gt;OC4JGroup:default_group          | OC4J:JMS_SR        |   11196 | Alive    |  857355163 |   253252 |  23:27:49 | jms:12604,ajp:12504,rmis:12704,rmi:12404&lt;br /&gt;…&lt;br /&gt;&lt;br /&gt;The instance in the example is using port 12604.&lt;br /&gt;&lt;br /&gt;On Server B, run the following:&lt;br /&gt;&lt;br /&gt;[sracanov@sracanov-au D]$ java -jar admin_client.jar deployer:oc4j:opmn:// sracanov-au.au.oracle.com:6007/JMS oc4jadmin welcome1 -addJMSConnectionFactory -jndiLocation jms/MyRemoteQCF -domain queue -host sracanov-au2.au.oracle.com -username oc4jadmin -password welcome1 -port 12604&lt;br /&gt;&lt;br /&gt;5. Create the QueueProducer. &lt;br /&gt;&lt;br /&gt;Use the example code from the previous blog to create the QueueProducer class. The QueueProducer will connection to Server A and send messages to the queue. You will need to make the following changes to the class.&lt;br /&gt;&lt;br /&gt;…&lt;br /&gt;String queueName = "&lt;b&gt;jms/MyJMSQueue&lt;/b&gt;";&lt;br /&gt;String queueConnectionFactoryName = "&lt;b&gt;jms/MyJMSQCF&lt;/b&gt;";&lt;br /&gt;…&lt;br /&gt;And &lt;br /&gt;…&lt;br /&gt;Hashtable env = new Hashtable();&lt;br /&gt;env.put(Context.INITIAL_CONTEXT_FACTORY, “oracle.j2ee.rmi.RMIInitialContextFactory");&lt;br /&gt; env.put(Context.SECURITY_PRINCIPAL, "oc4jadmin");&lt;br /&gt; env.put(Context.SECURITY_CREDENTIALS, "welcome1");&lt;br /&gt; env.put(Context.PROVIDER_URL, "opmn:ormi://&lt;b&gt;sracanov-au2.au.oracle.com:6005:JMS_SR&lt;/b&gt;/default");&lt;br /&gt;…&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Ensure you have set this to your Server A details, including opmn port, and oc4j instance.&lt;/strong&gt;Use ‘opmnctl status –port’ to find your opmn port.&lt;br /&gt;&lt;br /&gt;6) Run the QueueProducer class to send the message to the queue.&lt;br /&gt;&lt;br /&gt;The is result:&lt;br /&gt;Producing message: Message 1&lt;br /&gt;Producing message: Message 2&lt;br /&gt;Producing message: Message 3&lt;br /&gt;Producing message: Message 4&lt;br /&gt;Producing message: Message 5&lt;br /&gt;&lt;br /&gt;7) From the Oracle EM, select your instance (in this example, ‘JMS_SR’) -&gt; Administration -&gt; JMS Destinations -&gt; Memory Performance (on ‘jmsqueue’ in this example). Here you will see you messages in the queue.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_9rl0CtIbSrw/RwHDUBwgt4I/AAAAAAAAAAU/1shiHr2bWQI/s1600-h/jms-monitor-performance.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_9rl0CtIbSrw/RwHDUBwgt4I/AAAAAAAAAAU/1shiHr2bWQI/s400/jms-monitor-performance.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5116585400506300290" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;8) Create the QueueConsumer. &lt;br /&gt;&lt;br /&gt;Use the example code from the previous blog to create the QueueConsumer class. The QueueConsumer will connection to Server B and read messages from the queue on Server A. You will need to make the following changes to the class.&lt;br /&gt;&lt;br /&gt;…&lt;br /&gt;String queueName = "&lt;b&gt;jms/MyJMSQueue&lt;/b&gt;";&lt;br /&gt;String queueConnectionFactoryName = "&lt;b&gt; jms/MyRemoteQCF&lt;/b&gt;";&lt;br /&gt;…&lt;br /&gt;And &lt;br /&gt;…&lt;br /&gt;Hashtable env = new Hashtable();&lt;br /&gt;env.put(Context.INITIAL_CONTEXT_FACTORY, “oracle.j2ee.rmi.RMIInitialContextFactory");&lt;br /&gt; env.put(Context.SECURITY_PRINCIPAL, "oc4jadmin");&lt;br /&gt; env.put(Context.SECURITY_CREDENTIALS, "welcome1");&lt;br /&gt; env.put(Context.PROVIDER_URL, opmn:ormi:// &lt;b&gt;sracanov-au.au.oracle.com:6007:JMS&lt;/b&gt;/default");&lt;br /&gt;…&lt;br /&gt;&lt;br /&gt;&lt;strong&gt; Ensure you have set this to your Server B details, including opmn port, and oc4j instance.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;9) Now run the QueueConsumer class that will connect to Server B and receive the messages from the queue on Server A.&lt;br /&gt;&lt;br /&gt;This is the result:&lt;br /&gt;&lt;br /&gt;Consuming message: Message 1&lt;br /&gt;Consuming message: Message 2&lt;br /&gt;Consuming message: Message 3&lt;br /&gt;Consuming message: Message 4&lt;br /&gt;Consuming message: Message 5&lt;br /&gt;&lt;br /&gt;10) Create an MBD and deploy to Server B that will listen and print the messages in the queue on Server A.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;a.&lt;/b&gt;Create the MessageDrivenEJBBean as follows:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;package project3;&lt;br /&gt;&lt;br /&gt;import javax.ejb.EJBException;&lt;br /&gt;import javax.ejb.MessageDrivenBean;&lt;br /&gt;import javax.ejb.MessageDrivenContext;&lt;br /&gt;&lt;br /&gt;import javax.jms.JMSException;&lt;br /&gt;import javax.jms.Message;&lt;br /&gt;import javax.jms.MessageListener;&lt;br /&gt;import javax.jms.TextMessage;&lt;br /&gt;&lt;br /&gt;public class MessageDrivenEJBBean implements MessageDrivenBean, &lt;br /&gt;                                             MessageListener {&lt;br /&gt;    private MessageDrivenContext _context;&lt;br /&gt;&lt;br /&gt;    public void ejbCreate() {&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void setMessageDrivenContext(MessageDrivenContext context) throws EJBException {&lt;br /&gt;        _context = context;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void ejbRemove() throws EJBException {&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void onMessage(Message message) {&lt;br /&gt;        TextMessage msg = null;&lt;br /&gt;&lt;br /&gt;        try {&lt;br /&gt;            if (message instanceof TextMessage) {&lt;br /&gt;                msg = (TextMessage)message;&lt;br /&gt;                System.out.println("Reading message: " + msg.getText());&lt;br /&gt;            } else {&lt;br /&gt;                System.out.println("Wrong Message type");&lt;br /&gt;            }&lt;br /&gt;        } catch (JMSException e) {&lt;br /&gt;            System.out.println("JMSException in onMessage(): " + e.toString());&lt;br /&gt;        } catch (Throwable t) {&lt;br /&gt;            System.out.println("Exception in onMessage():" + t.getMessage());&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;b.&lt;/b&gt;Edit the ejb-jar.xml as follows:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;?xml version = '1.0' encoding = 'windows-1252'?&gt;&lt;br /&gt;&amp;lt;ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&lt;br /&gt; xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee &lt;br /&gt; http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd" version="2.1" &lt;br /&gt; xmlns="http://java.sun.com/xml/ns/j2ee"&gt;&lt;br /&gt;  &amp;lt;enterprise-beans&gt;&lt;br /&gt;    &amp;lt;message-driven&gt;&lt;br /&gt;      &amp;lt;description&gt;Message Driven Bean&amp;lt;/description&gt;&lt;br /&gt;      &amp;lt;display-name&gt;MessageDrivenEJB&amp;lt;/display-name&gt;&lt;br /&gt;      &amp;lt;ejb-name&gt;MessageDrivenEJB&amp;lt;/ejb-name&gt;&lt;br /&gt;      &amp;lt;ejb-class&gt;project3.MessageDrivenEJBBean&amp;lt;/ejb-class&gt;&lt;br /&gt;      &amp;lt;messaging-type&gt;javax.jms.MessageListener&amp;lt;/messaging-type&gt;&lt;br /&gt;      &amp;lt;transaction-type&gt;Container&lt;/transaction-type&gt;&lt;br /&gt;      &amp;lt;message-destination-type&gt;javax.jms.Queue&amp;lt;/message-destination-type&gt;&lt;br /&gt;      &amp;lt;activation-config&gt;&lt;br /&gt;           &amp;lt;activation-config-property&gt;&lt;br /&gt;             &amp;lt;activation-config-property-name&gt;destinationType&amp;lt;/activation-config-property-name&gt;&lt;br /&gt;             &amp;lt;activation-config-property-value&gt;javax.jms.Queue&amp;lt;/activation-config-property-value&gt;&lt;br /&gt;           &amp;lt;/activation-config-property&gt;&lt;br /&gt;           &amp;lt;activation-config-property&gt;&lt;br /&gt;             &amp;lt;activation-config-property-name&gt;acknowledgeMode&amp;lt;/activation-config-property-name&gt;&lt;br /&gt;             &amp;lt;activation-config-property-value&gt;Auto-acknowledge&amp;lt;/activation-config-property-value&gt;&lt;br /&gt;           &amp;lt;/activation-config-property&gt;&lt;br /&gt;           &amp;lt;activation-config-property&gt;&lt;br /&gt;             &amp;lt;activation-config-property-name&gt;subscriptionDurability&amp;lt;/activation-config-property-name&gt;&lt;br /&gt;             &amp;lt;activation-config-property-value&gt;NonDurable&amp;lt;/activation-config-property-value&gt;&lt;br /&gt;           &amp;lt;/activation-config-property&gt;&lt;br /&gt;         &amp;lt;/activation-config&gt;&lt;br /&gt;    &amp;lt;/message-driven&gt;&lt;br /&gt;  &amp;lt;/enterprise-beans&gt;&lt;br /&gt;&amp;lt;/ejb-jar&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;c.&lt;/b&gt;Edit the orion-ejb-jar.xml as follows:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;?xml version = '1.0' encoding = 'windows-1252'?&gt;&lt;br /&gt;&amp;lt;orion-ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" &lt;br /&gt;xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/orion-ejb-jar-10_0.xsd" &lt;br /&gt;   schema-major-version="10" schema-minor-version="0"&gt;&lt;br /&gt;    &amp;lt;enterprise-beans&gt;&lt;br /&gt;        &amp;lt;message-driven-deployment name="MessageDrivenEJB"&lt;br /&gt;                                   connection-factory-location="jms/MyRemoteQCF"&lt;br /&gt;                                   destination-location="jms/MyJMSQueue"/&gt;&lt;br /&gt;    &amp;lt;/enterprise-beans&gt;&lt;br /&gt;    &amp;lt;assembly-descriptor&gt;&lt;br /&gt;        &amp;lt;default-method-access&gt;&lt;br /&gt;            &amp;lt;security-role-mapping/&gt;&lt;br /&gt;        &amp;lt;/default-method-access&gt;&lt;br /&gt;    &amp;lt;/assembly-descriptor&gt;&lt;br /&gt;&amp;lt;/orion-ejb-jar&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;d.&lt;/b&gt;Deploy MDB to Server B.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;e.&lt;/b&gt;Run the QueueProduce to send some messages to the queue. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;f.&lt;/b&gt;Open the file $ORACLE_HOME\opmn\log\default_group~&lt;OCJ$_INSTANCE&gt;~default_group~1.log&lt;br /&gt;&lt;br /&gt;To view the result:&lt;br /&gt;&lt;br /&gt;07/10/02 08:52:24 Reading message: Message 1&lt;br /&gt;07/10/02 08:52:24 Reading message: Message 2&lt;br /&gt;07/10/02 08:52:24 Reading message: Message 3&lt;br /&gt;07/10/02 08:52:24 Reading message: Message 4&lt;br /&gt;07/10/02 08:52:24 Reading message: Message 5&lt;br /&gt;07/10/02 08:52:24 Wrong Message type&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-2619023543689248660?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/2619023543689248660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=2619023543689248660' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/2619023543689248660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/2619023543689248660'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2007/10/how-to-send-messages-to-one-oracle.html' title='How to Send JMS Messages to one Oracle Application Server while reading it from another.'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_9rl0CtIbSrw/RwHDUBwgt4I/AAAAAAAAAAU/1shiHr2bWQI/s72-c/jms-monitor-performance.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8133026034579648500.post-5580646970939030369</id><published>2007-09-28T15:19:00.001+10:00</published><updated>2007-10-11T15:28:59.337+10:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JMS Provider'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>How to create a simple JMS queue, producer and consumer in Oracle 10g</title><content type='html'>This demonstration shows how to create a simple jms producer and consumser using Oracle 10g as the JMS Provider.&lt;br /&gt;&lt;br /&gt;I am using Oracle AS 10.1.3.2.0 and JDev 10.1.3.2.0 in this example. This article assumes you have installed and configure the environment for both applications.&lt;br /&gt;&lt;br /&gt;1. Once you have your application server running, first create a new oc4j instance for the application and start the instance.&lt;br /&gt;&lt;br /&gt;[sracanov@sracanov-au D]$ createinstance -instanceName JMS&lt;br /&gt;Creating OC4J instance "JMS"...&lt;br /&gt;Set OC4J administrator password for "JMS" (password text will not be displayed as it is entered):&lt;br /&gt;Enter password:&lt;br /&gt;Confirm password:&lt;br /&gt;A new OC4J instance "JMS" is created in the group "default_group".&lt;br /&gt;&lt;br /&gt;[sracanov@sracanov-au D]$ opmnctl startproc process-type=JMS&lt;br /&gt;opmnctl: starting opmn managed processes...&lt;br /&gt;&lt;br /&gt;2. Create a JMS Destination.&lt;br /&gt;&lt;br /&gt;Our new JMS instance will already have some default JMS destination configured that we could use. See &lt;a href="http://download-west.oracle.com/docs/cd/B25221_04/web.1013/b14427/jms.htm#i1084454"&gt;http://download-west.oracle.com/docs/cd/B25221_04/web.1013/b14427/jms.htm#i1084454&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;However in this example we will create our own in-memory JMS destination.&lt;br /&gt;&lt;br /&gt;First let's determine the opmn port:&lt;br /&gt;&lt;br /&gt;[sracanov@sracanov-au D]$ opmnctl status -port&lt;br /&gt;sracanov-au:6007&lt;br /&gt;&lt;br /&gt;Now create a new JMS destination:&lt;br /&gt;&lt;br /&gt;[sracanov@sracanov-au D]$ cd /D %ORACLE_HOME\j2ee\JMS&lt;br /&gt;&lt;br /&gt;[sracanov@sracanov-au D]$ java -jar admin_client.jar deployer:oc4j:opmn://localhost:6007/JMS oc4jadmin welcome1 -addDestination -domain queue -name myfirstqueue -jndiLocation jms/MyFirstQueue&lt;br /&gt;&lt;br /&gt;3. Create a Connection Factory.&lt;br /&gt;&lt;br /&gt;Our new JMS instance will already have some default connection factory configured that we could use. See &lt;a href="http://download-west.oracle.com/docs/cd/B25221_04/web.1013/b14427/jms.htm#i1084454"&gt;http://download-west.oracle.com/docs/cd/B25221_04/web.1013/b14427/jms.htm#i1084454&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;However in this example we will create our connection factory&lt;br /&gt;[sracanov@sracanov-au D]$ java -jar admin_client.jar deployer:oc4j:opmn://localhost:6007/JMS oc4jadmin welcome1 -addJMSConnectionFactory -domain queue -jndiLocation jms/MyFirstQCF&lt;br /&gt;&lt;br /&gt;4. In Jdev, now create a simple producer and consumer.&lt;br /&gt;&lt;br /&gt;a) Create a new Application and Project.&lt;br /&gt;&lt;br /&gt;b) Create a simple producer class that will send 5 messages to the queue.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;package project1;&lt;br /&gt;&lt;br /&gt;import javax.jms.*;&lt;br /&gt;import javax.naming.*;&lt;br /&gt;import java.util.Hashtable;&lt;br /&gt;&lt;br /&gt;public class QueueProducer {&lt;br /&gt;&lt;br /&gt;    public static void main(String[] args) {&lt;br /&gt;        String                  queueName = "jms/MyFirstQueue";&lt;br /&gt;        String                  queueConnectionFactoryName = "jms/MyFirstQCF";&lt;br /&gt;        Context                 jndiContext = null;&lt;br /&gt;        QueueConnectionFactory  queueConnectionFactory = null;&lt;br /&gt;        QueueConnection         queueConnection = null;&lt;br /&gt;        QueueSession            queueSession = null;&lt;br /&gt;        Queue                   queue = null;&lt;br /&gt;        QueueSender             queueSender = null;&lt;br /&gt;        TextMessage             message = null;&lt;br /&gt;        int                     noMessages = 5;        &lt;br /&gt;       &lt;br /&gt;        /*&lt;br /&gt;         * Set the environment for a connection to the OC4J instance &lt;br /&gt;         */&lt;br /&gt;        Hashtable env = new Hashtable();&lt;br /&gt;        env.put(Context.INITIAL_CONTEXT_FACTORY, "oracle.j2ee.rmi.RMIInitialContextFactory");&lt;br /&gt;        env.put(Context.SECURITY_PRINCIPAL, "oc4jadmin");&lt;br /&gt;        env.put(Context.SECURITY_CREDENTIALS, "welcome1");&lt;br /&gt;        env.put(Context.PROVIDER_URL, "opmn:ormi://localhost:6007:JMS/default");&lt;br /&gt;        &lt;br /&gt;        /*&lt;br /&gt;         * Set the Context Object.&lt;br /&gt;         * Lookup the Queue Connection Factory.&lt;br /&gt;         * Lookup the JMS Destination.&lt;br /&gt;         */        &lt;br /&gt;        try {&lt;br /&gt;            jndiContext = new InitialContext(env);&lt;br /&gt;            queueConnectionFactory = (QueueConnectionFactory)&lt;br /&gt;                jndiContext.lookup(queueConnectionFactoryName);&lt;br /&gt;            queue = (Queue) jndiContext.lookup(queueName);&lt;br /&gt;        } catch (NamingException e) {&lt;br /&gt;            System.out.println("JNDI lookup failed: " +&lt;br /&gt;                e.toString());&lt;br /&gt;            System.exit(1);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        /*&lt;br /&gt;         * Create connection.&lt;br /&gt;         * Create session from connection.&lt;br /&gt;         * Create sender.&lt;br /&gt;         * Create text message.&lt;br /&gt;         * Send messages.&lt;br /&gt;         * Send non text message to end text messages.&lt;br /&gt;         * Close connection.&lt;br /&gt;         */&lt;br /&gt;        try {&lt;br /&gt;            queueConnection = &lt;br /&gt;                queueConnectionFactory.createQueueConnection();&lt;br /&gt;            queueSession = &lt;br /&gt;                queueConnection.createQueueSession(false, &lt;br /&gt;                    Session.AUTO_ACKNOWLEDGE);&lt;br /&gt;            queueSender = queueSession.createSender(queue);&lt;br /&gt;            message = queueSession.createTextMessage();&lt;br /&gt;            for (int i = 0; i &lt; noMessages; i++) {&lt;br /&gt;                message.setText("Message " + (i + 1));&lt;br /&gt;                System.out.println("Producing message: " + &lt;br /&gt;                    message.getText());&lt;br /&gt;                queueSender.send(message);&lt;br /&gt;            }&lt;br /&gt;          queueSender.send(queueSession.createBytesMessage());;&lt;br /&gt;        } catch (JMSException e) {&lt;br /&gt;            System.out.println("Exception occurred: " + &lt;br /&gt;                e.toString());&lt;br /&gt;        } finally {&lt;br /&gt;            if (queueConnection != null) {&lt;br /&gt;                try {&lt;br /&gt;                    queueConnection.close();&lt;br /&gt;                } catch (JMSException e) {&lt;br /&gt;                    System.out.println("Closing error: " + e.toString());&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;c) Create a simple consumer class that will read all text messages from the queue and end once it reads a non text message:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;package project1;&lt;br /&gt;&lt;br /&gt;import java.util.Hashtable;&lt;br /&gt;&lt;br /&gt;import javax.jms.*;&lt;br /&gt;&lt;br /&gt;import javax.naming.*;&lt;br /&gt;&lt;br /&gt;public class QueueConsumer {&lt;br /&gt;&lt;br /&gt;    public static void main(String[] args) {&lt;br /&gt;        String queueName = "jms/MyFirstQueue";&lt;br /&gt;        String queueConnectionFactoryName = "jms/MyFirstQCF";&lt;br /&gt;        Context jndiContext = null;&lt;br /&gt;        QueueConnectionFactory queueConnectionFactory = null;&lt;br /&gt;        QueueConnection queueConnection = null;&lt;br /&gt;        QueueSession queueSession = null;&lt;br /&gt;        Queue queue = null;&lt;br /&gt;        QueueReceiver queueReceiver = null;&lt;br /&gt;        TextMessage message = null;&lt;br /&gt;&lt;br /&gt;        /*&lt;br /&gt;             * Set the environment for a connection to the OC4J instance&lt;br /&gt;             */&lt;br /&gt;        Hashtable env = new Hashtable();&lt;br /&gt;        env.put(Context.INITIAL_CONTEXT_FACTORY, &lt;br /&gt;                "oracle.j2ee.rmi.RMIInitialContextFactory");&lt;br /&gt;        env.put(Context.SECURITY_PRINCIPAL, "oc4jadmin");&lt;br /&gt;        env.put(Context.SECURITY_CREDENTIALS, "welcome1");&lt;br /&gt;        env.put(Context.PROVIDER_URL, &lt;br /&gt;                "opmn:ormi://localhost:6007:JMS/default");&lt;br /&gt;&lt;br /&gt;        /*&lt;br /&gt;              * Set the Context Object.&lt;br /&gt;              * Lookup the Queue Connection Factory.&lt;br /&gt;              * Lookup the JMS Destination.&lt;br /&gt;              */&lt;br /&gt;        try {&lt;br /&gt;            jndiContext = new InitialContext(env);&lt;br /&gt;            queueConnectionFactory = &lt;br /&gt;                    (QueueConnectionFactory)jndiContext.lookup(queueConnectionFactoryName);&lt;br /&gt;            queue = (Queue)jndiContext.lookup(queueName);&lt;br /&gt;        } catch (NamingException e) {&lt;br /&gt;            System.out.println("JNDI lookup failed: " + e.toString());&lt;br /&gt;            System.exit(1);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        /*&lt;br /&gt;             * Create connection.&lt;br /&gt;             * Create session from connection.&lt;br /&gt;             * Create receiver.&lt;br /&gt;             * Receive all text messages from queue until non text message is receivied&lt;br /&gt;             * Close connection.&lt;br /&gt;             */&lt;br /&gt;        try {&lt;br /&gt;            queueConnection = queueConnectionFactory.createQueueConnection();&lt;br /&gt;            queueSession = &lt;br /&gt;                    queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);&lt;br /&gt;            queueReceiver = queueSession.createReceiver(queue);&lt;br /&gt;            queueConnection.start();&lt;br /&gt;            while (true) {&lt;br /&gt;                Message m = queueReceiver.receive(1);&lt;br /&gt;                if (m != null) {&lt;br /&gt;                    if (m instanceof TextMessage) {&lt;br /&gt;                        message = (TextMessage)m;&lt;br /&gt;                        System.out.println("Consuming message: " + &lt;br /&gt;                                           message.getText());&lt;br /&gt;                    } else {&lt;br /&gt;                        break;&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        } catch (JMSException e) {&lt;br /&gt;            System.out.println("Exception occurred: " + e.toString());&lt;br /&gt;        } finally {&lt;br /&gt;            if (queueConnection != null) {&lt;br /&gt;                try {&lt;br /&gt;                    queueConnection.close();&lt;br /&gt;                } catch (JMSException e) {&lt;br /&gt;                    System.out.println("Closing error: " + e.toString());&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;d) Add the following libraries to the project:&lt;br /&gt;* J2EE&lt;br /&gt;* Apache Ant&lt;br /&gt;&lt;br /&gt;5) Run the QueueProducer class to send the message to the queue.&lt;br /&gt;&lt;br /&gt;The is result:&lt;br /&gt;Producing message: Message 1&lt;br /&gt;Producing message: Message 2&lt;br /&gt;Producing message: Message 3&lt;br /&gt;Producing message: Message 4&lt;br /&gt;Producing message: Message 5&lt;br /&gt;&lt;br /&gt;6) Run the QueueConsumer class to receive the message from the queue.&lt;br /&gt;&lt;br /&gt;This is the result:&lt;br /&gt;&lt;br /&gt;Consuming message: Message 1&lt;br /&gt;Consuming message: Message 2&lt;br /&gt;Consuming message: Message 3&lt;br /&gt;Consuming message: Message 4&lt;br /&gt;Consuming message: Message 5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8133026034579648500-5580646970939030369?l=steveracanovic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://steveracanovic.blogspot.com/feeds/5580646970939030369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8133026034579648500&amp;postID=5580646970939030369' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/5580646970939030369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8133026034579648500/posts/default/5580646970939030369'/><link rel='alternate' type='text/html' href='http://steveracanovic.blogspot.com/2007/09/how-to-create-simple-jms-queue-producer.html' title='How to create a simple JMS queue, producer and consumer in Oracle 10g'/><author><name>Steve Racanovic</name><uri>http://www.blogger.com/profile/12512826011933859056</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
