Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Weblogic connection pool with Oracle database

Weblogic connection pool with Oracle database

From: Berton Sierens <b.sierens_at_intrasoft.be>
Date: 15 Apr 2002 09:40:31 -0700
Message-ID: <138b198e.0204150840.282f1d1c@posting.google.com>


I have a problem with the weblogic connection pool, when used with callable statements and an Oracle Thin driver. I am using the oracle JDBC classes to get 'Oracle object' (STRUCT and ARRAY) out parameters from a PLSQL procedure. I retrieve a connection from my Weblogic connection pool (this connection is created by the Oracle thin driver). My code (see attached file and error message below) then crashes with a class cast exception when it tries to run Oracle specific (OracleConnection) methods.
If I run the same code outside of Weblogic (and get an Oracle thin driver connection straight away and not via a Weblogic pool), the code runs successfully.
I imagine the class information for the connection has been lost during casting. Any idea how I can solve this? Are there any methods on the weblogic.jdbc.pool.Connection class that will give me access to the original Oracle class?
I have attached the code and my config.xml in a zip file. Thanks,  


The Exception occurs on this line of my code:

            ArrayDescriptor attributesOracleDescrip = ArrayDescriptor.createDescriptor("TAB_NOT_ATTRIBUTES",conn);

The weblogic console displays this error:

Connection Pool info: weblogic.jdbc.pool.Connection_at_43b164class weblogic.jdbc.po
ol.Connection
requestedRoles null
java.rmi.RemoteException: EJB Exception: ; nested exception is:

        java.lang.ClassCastException: weblogic.jdbc.pool.Connection

Start server side stack trace:
java.rmi.RemoteException: EJB Exception: ; nested exception is:

        java.lang.ClassCastException: weblogic.jdbc.pool.Connection java.lang.ClassCastException: weblogic.jdbc.pool.Connection

        at oracle.sql.ArrayDescriptor.createDescriptor(ArrayDescriptor.java:87)
        at com.intrasoft.common.wf.owf.OWFNotificationManager.getNotifications(O
WFNotificationManager.java:249)
        at com.intrasoft.common.wf.owf.OWFNotificationManager.getTaskList(OWFNot
ificationManager.java:79)
        at com.intrasoft.common.wf.owf.OWFManager.getTasks(OWFManager.java:157)
        at com.intrasoft.wfs.control.ejb.workflow.WFSWorkflowAccessEJB.getTasks(
WFSWorkflowAccessEJB.java:175)
        at com.intrasoft.wfs.control.ejb.workflow.WFSWorkflowAccessEJB_27mmiv_EO
Impl.getTasks(WFSWorkflowAccessEJB_27mmiv_EOImpl.java:37)
        at com.intrasoft.wfs.control.ejb.workflow.WFSWorkflowAccessEJB_27mmiv_EO
Impl_WLSkel.invoke(Unknown Source)
        at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:296)
        at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
ef.java:93)
        at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
a:265)
        at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:166

)
at weblogic.rmi.internal.ServerRequest.sendOneWayRaw(ServerRequest.java: 92) at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:11 2) at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteR ef.java:255) at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteR ef.java:222) at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35) at $Proxy79.getTasks(Unknown Source) at com.intrasoft.wfs.control.service.WFSMultiUserService.getTaskData(WFS MultiUserService.java:291) at java.lang.reflect.Method.invoke(Native Method) at org.apache.soap.server.RPCRouter.invoke(RPCRouter.java:146) at org.apache.soap.providers.RPCJavaProvider.invoke(RPCJavaProvider.java :129) at org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet. java:287) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm pl.java:265) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm pl.java:200) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe rvletContext.java:2456) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm pl.java:2039) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
; nested exception is:

        java.lang.ClassCastException: weblogic.jdbc.pool.Connection

Start server side stack trace:
java.lang.ClassCastException: weblogic.jdbc.pool.Connection

        at oracle.sql.ArrayDescriptor.createDescriptor(ArrayDescriptor.java:87)
        at com.intrasoft.common.wf.owf.OWFNotificationManager.getNotifications(O
WFNotificationManager.java:249)
        at com.intrasoft.common.wf.owf.OWFNotificationManager.getTaskList(OWFNot
ificationManager.java:79)
        at com.intrasoft.common.wf.owf.OWFManager.getTasks(OWFManager.java:157)
        at com.intrasoft.wfs.control.ejb.workflow.WFSWorkflowAccessEJB.getTasks(
WFSWorkflowAccessEJB.java:175)
        at com.intrasoft.wfs.control.ejb.workflow.WFSWorkflowAccessEJB_27mmiv_EO
Impl.getTasks(WFSWorkflowAccessEJB_27mmiv_EOImpl.java:37)
        at com.intrasoft.wfs.control.ejb.workflow.WFSWorkflowAccessEJB_27mmiv_EO
Impl_WLSkel.invoke(Unknown Source)
        at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:296)
        at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
ef.java:93)
        at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
a:265)
        at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:166

)
at weblogic.rmi.internal.ServerRequest.sendOneWayRaw(ServerRequest.java: 92) at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:11 2) at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteR ef.java:255) at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteR ef.java:222) at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35) at $Proxy79.getTasks(Unknown Source) at com.intrasoft.wfs.control.service.WFSMultiUserService.getTaskData(WFS MultiUserService.java:291) at java.lang.reflect.Method.invoke(Native Method) at org.apache.soap.server.RPCRouter.invoke(RPCRouter.java:146) at org.apache.soap.providers.RPCJavaProvider.invoke(RPCJavaProvider.java :129) at org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet. java:287) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm pl.java:265) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm pl.java:200) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe rvletContext.java:2456) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm pl.java:2039) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace

java.lang.ClassCastException: weblogic.jdbc.pool.Connection

Start server side stack trace:
java.lang.ClassCastException: weblogic.jdbc.pool.Connection

        at oracle.sql.ArrayDescriptor.createDescriptor(ArrayDescriptor.java:87)
        at com.intrasoft.common.wf.owf.OWFNotificationManager.getNotifications(O
WFNotificationManager.java:249)
        at com.intrasoft.common.wf.owf.OWFNotificationManager.getTaskList(OWFNot
ificationManager.java:79)
        at com.intrasoft.common.wf.owf.OWFManager.getTasks(OWFManager.java:157)
        at com.intrasoft.wfs.control.ejb.workflow.WFSWorkflowAccessEJB.getTasks(
WFSWorkflowAccessEJB.java:175)
        at com.intrasoft.wfs.control.ejb.workflow.WFSWorkflowAccessEJB_27mmiv_EO
Impl.getTasks(WFSWorkflowAccessEJB_27mmiv_EOImpl.java:37)
        at com.intrasoft.wfs.control.ejb.workflow.WFSWorkflowAccessEJB_27mmiv_EO
Impl_WLSkel.invoke(Unknown Source)
        at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:296)
        at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerR
ef.java:93)
        at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
a:265)
        at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:166

)
at weblogic.rmi.internal.ServerRequest.sendOneWayRaw(ServerRequest.java: 92) at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:11 2) at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteR ef.java:255) at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteR ef.java:222) at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35) at $Proxy79.getTasks(Unknown Source) at com.intrasoft.wfs.control.service.WFSMultiUserService.getTaskData(WFS MultiUserService.java:291) at java.lang.reflect.Method.invoke(Native Method) at org.apache.soap.server.RPCRouter.invoke(RPCRouter.java:146) at org.apache.soap.providers.RPCJavaProvider.invoke(RPCJavaProvider.java :129) at org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet. java:287) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm pl.java:265) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm pl.java:200) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe rvletContext.java:2456) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm pl.java:2039) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace

        <<no stack trace available>>
java.lang.NullPointerException

        at weblogic.servlet.internal.ChunkOutput.clearBuffer(ChunkOutput.java:23 1)

        at weblogic.servlet.internal.ChunkOutput.flush(ChunkOutput.java:251)
        at weblogic.servlet.internal.ChunkOutputWrapper.flush(ChunkOutputWrapper
.java:152)
        at weblogic.servlet.internal.ServletOutputStreamImpl.flush(ServletOutput
StreamImpl.java:119)
        at org.apache.soap.transport.TransportMessage.writeTo(TransportMessage.j
ava:462)
        at org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet.
java:347)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:265)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:200)
        at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:2456)
        at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2039)
        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
<08-avr.-02 10:17:22 CEST> <Error> <HTTP> <[WebAppServletContext(5583187,Default
WebApp,/DefaultWebApp)] Servlet failed with ServletException javax.servlet.ServletException: Error building response envelope: java.lang.Null
PointerException

        at org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet. java:353)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:265)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:200)
        at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:2456)
        at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2039)
        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
Received on Mon Apr 15 2002 - 11:40:31 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US