Class Cast Type Exception

I encountered class cast type exception becos I set the attribute by passing in a class instance but when I get the attribute, I used a string to store it. So any idea how I can solve this error? Thanks.
request.setAttribute("message", cr); where cr is a class
but here i declare a string to store, so how do i do a conversion?
String messageString = request.getAttribute("message");
if (messageString == null){
     messageString = "";

All parameters of request objects are stored as type Object. So when you extract the objects from the request, you will need to explicitly cast to the type you are expecting e.g.
String myString = (String)request.getParameter("Hello");

Similar Messages

  • Type problem - Class Cast Exception - trying to understand

    hello,
    i get a Class cast exception in the following code.
    interface Foo {}
    class Alpha implements Foo {}
    class Beta extends Alpha {}
    class Delta extends Beta {
    public static void main( String[] args ) {
    Beta x = new Beta();
    Beta b = (Beta)(Alpha)x; //fine
    Foo f = (Delta)x; //CCE
    Object ob = new Object();
    String s = new String();
    ob = s; //fine, no need of case
    s = (String)ob; //needs a castI was just thinking, implicitly Delta and Beta both of them IS-A Foo, and assigning x to a type foo shouldnt be a problem(while making it refer to the Delta class) so, what could cause the CCE ?
    I would appreciate if someone could please help me understand this.
    Rgds

    Hi.
    Assigning your "x" to a variable typed Foo is not a problem. The problem is that you are trying to cast an instance of Beta ("x") into type Delta which is not possible. Every Delta is a Beta, but not every Beta will be a Delta!
    Simple as that.
    Bye.

  • 'Class Cast Exception' while invoking a EJB from a Servlet

              Hi,
              I am working on J2EE applications.I am using Webgain studio and weblogic server.I
              got a problem while invoking EJB from the servlet.
              While calling an EJB from the servlet, it is giving that "Class Cast Exception".This
              is because, the remote home reference is not able to type casted to the"Home Interface"
              of the EJB, even if I type casted explicitly. It is creating the context and able
              to identify the EJB with the JNDI name.
              Could please help me in solving this problem.I am pasting the code here.
              Thanks in advance,
              Dharma
              public void doGet(HttpServletRequest req, HttpServletResponse resp)
                   throws ServletException, IOException
                        resp.setContentType("text/html");
                        PrintWriter out = new PrintWriter(resp.getOutputStream());
              try
              Context context=getInitialContext();
              Object reference=context.lookup("ArlProjContractorAppletSession");
              ArlProjContractorAppletSessionHome home=(ArlProjContractorAppletSessionHome)PortableRemoteObject.narrow(reference,ArlProjContractorAppletSessionHome.class);
              //Exception is occuring in the above statement. It is unable
              //to cast to the home interface          
                        ArlProjContractorAppletSession the_ejb=null;
              try
              the_ejb=home.create();
              System.out.println("the_ejb = " + the_ejb.toString());
              catch(Exception e)
              e.printStackTrace();
              catch(Exception e)
              e.printStackTrace();
                        // to do: code goes here.
                        out.println("<HTML>");
                        out.println("<HEAD><TITLE>Contractor TimeTracker</TITLE></HEAD>");
                        out.println("<BODY>");
                        // to do: your HTML goes here.
                        out.println("</BODY>");
                        out.println("</HTML>");
                        out.close();
              

              I came across this kind of problem once. My problem went away after I upgraded
              from 5.1 SP6 to 5.1 SP8.
              "Dharma" <[email protected]> wrote:
              >
              >Hi,
              >
              >I am working on J2EE applications.I am using Webgain studio and weblogic
              >server.I
              >got a problem while invoking EJB from the servlet.
              >
              >While calling an EJB from the servlet, it is giving that "Class Cast
              >Exception".This
              >is because, the remote home reference is not able to type casted to the"Home
              >Interface"
              >of the EJB, even if I type casted explicitly. It is creating the context
              >and able
              >to identify the EJB with the JNDI name.
              >
              >Could please help me in solving this problem.I am pasting the code here.
              >
              >Thanks in advance,
              >Dharma
              >
              >
              >public void doGet(HttpServletRequest req, HttpServletResponse resp)
              >     throws ServletException, IOException
              >     {
              >          resp.setContentType("text/html");
              >          PrintWriter out = new PrintWriter(resp.getOutputStream());
              >
              > try
              > {
              >
              > Context context=getInitialContext();
              >
              > Object reference=context.lookup("ArlProjContractorAppletSession");
              >
              > ArlProjContractorAppletSessionHome home=(ArlProjContractorAppletSessionHome)PortableRemoteObject.narrow(reference,ArlProjContractorAppletSessionHome.class);
              >
              >//Exception is occuring in the above statement. It is unable
              >//to cast to the home interface          
              >
              >          ArlProjContractorAppletSession the_ejb=null;
              >
              > try
              > {
              > the_ejb=home.create();
              >
              > System.out.println("the_ejb = " + the_ejb.toString());
              >
              > }
              > catch(Exception e)
              > {
              > e.printStackTrace();
              > }
              > }
              > catch(Exception e)
              > {
              > e.printStackTrace();
              > }
              >          // to do: code goes here.
              >
              >          out.println("<HTML>");
              >          out.println("<HEAD><TITLE>Contractor TimeTracker</TITLE></HEAD>");
              >          out.println("<BODY>");
              >
              >          // to do: your HTML goes here.
              >
              >          out.println("</BODY>");
              >          out.println("</HTML>");
              >          out.close();
              >     }
              >
              >
              >
              >
              >
              

  • Class Cast Exception

    Hi
    I got class cast exception here
    String value = String.valueOf
    (((IPrivateMaterialApplicationView.IMaterial_InputElement)(wdContext.nodeMaterial_Input().nodeT_Matno_in().getElementAt(i))).getMatnr());
              valueSet.put(value,value);
    Thanks & Regards
    Ravi Shankar B

    Ravi,
    the cause of this issue is that
    wdContext.nodeMaterial_Input().nodeT_Matno_in().getElementAt(i)
    does not return an instance of type
    IPrivateMaterialApplicationView.IMaterial_InputElement
    Check what type is returned by this method (in NWDS place your cursor over the method and the return type is displayed) and cast to that type.
    Regards
    Sebastian

  • (Class cast Exception)Problem while loading data fro database in java class

    Dear all,
    Please help me...to solve this
    I have a database having two columns of String and Date Types.
    In my java code i was trying to load the data to a UI.
    I am successfull in loading the String type value.
    But while loading date field value,is showing Class cast Exception.
    What i am doing is Getting the values from database to a String[] array.
    So my question is how to
    get the Date field as date field itself,Then convert it to a String..Then put it in to String[] array...
    Any body please help...If any one want more clarification in question i will give......

    Hi,
    I am using GWT to display my data in a Grid.
    So it will accept a Single two dimensional String array....Here i have one as String and other as Date.
    So i was trying to get each row in a sindle dimensional array array[] then store it in a list.
    Iteration goes up to 10 rows.After i am setting it in to a list
    ie list.add(array);
    Now while returning this list i am doing this
    "return (String[][])list.toArray(new String[0][]);"
    When i tried to get the date element to String array it is showing class cast exception. When i tried with toString() method it is showing the same problem.

  • Class cast exception when deploying in Solaris

    I have an application which has LdapRealmV2 configured and I'm programmatically checking
    permission for a group. The code when deployed on a windows environment is working
    fine. I now tried to deploy the same in a Solaris clustered environment. I get a
    class cast exception weblogic.security.LdapRealmv2.LDAPGroup when I try executing
    the Security.hasPermission(principal, acl, permission, '.') method.

    Karl,
    Did you build the service using the <jwsc> ant task? If so, the default is to build a JAX-RPC service. Please specify the attribute type="JAXWS" in order to build a JAX-WS service.
    You can verify the type of a web service using the WebLogic console. The type is displayed on the general page for a service and will either be "JAXRPC" or "JAXWS".

  • Class Cast Exception in EJB2.0

    DEBUG com.pack.ApplSessListener 16 - vattributeAdded : errorencountered,java.lang.ClassCastException: java.lang.String cannot be cast to com.pack1.class1
    The task for which i getting this exception is..
    We have stateful and stateless methods in one bean,So we moved stateful to other bean and likewise made an entry to web.xml and ejb-jar.xml...
    -----------------------------------------------------------ejb-jar------------------------------------------------
    <session>
              <description>Stateless Example</description>
              <ejb-name>Stlgl</ejb-name>
              <local-home>com.bidm.misc.ejb.session.ejbeans.StlglHome</local-home>
              <local>com.bidm.misc.ejb.session.ejbeans.Stlgl</local>
              <ejb-class>com.bidm.misc.ejb.session.ejbeans.StlglBean</ejb-class>
              <session-type>Stateless</session-type>
              <transaction-type>Container</transaction-type>
         </session>
    <session>
              <description>Stateful Example</description>
              <ejb-name>Stfgl</ejb-name>
              <local-home>com.bidm.misc.ejb.session.ejbeans.StfglHome</local-home>
              <local>com.bidm.misc.ejb.session.ejbeans.Stfgl</local>
              <ejb-class>com.bidm.misc.ejb.session.ejbeans.StfglBean</ejb-class>
              <session-type>Stateful</session-type>
              <transaction-type>Container</transaction-type>
         </session>
    -----------------------------------------------------------ejb-jar- ends-----------------------------------------------
    -----------------------------------------------------------Web.xml------------------------------------------------------
    <ejb-local-ref>
    <ejb-ref-name>Stlgl</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <local-home>com.bidm.misc.ejb.session.ejbeans.StlglHome</local-home>
    <local>com.bidm.misc.ejb.session.ejbeans.Stlgl</local>
    </ejb-local-ref>
    <ejb-local-ref>
    <ejb-ref-name>Stfgl</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <local-home>com.bidm.misc.ejb.session.ejbeans.StfglHome</local-home>
    <local>com.bidm.misc.ejb.session.ejbeans.Stfgl</local>
    </ejb-local-ref>-----------------------------------------------------------Web.xml ends------------------------------------------------------
    The code is cracking when multiuser hit particular module in application,In that case i getting error..But For single user its running fine...Any suggestion pz

    Sorry, I wasn't asking you to post the code of the class, that's not very helpful at all. I was asking about code where you cast objects of that to a String or perhaps bind it's values to a String property.

  • Class cast exception in Process Control

    Hello,
    I am trying to use a SubProcess through a Process Control from a ParentProcess in another Workshop application.
    They are both deployed in the same domain.
    The SubProcess Control is packaged in a Control Project whose jar is imported in the other ParentProcess Workshop application.
    The data that is passed is in form of XML documents described as schemas. And both applications use the same Schema.jar.
    The call from the ParentProcess looks like it is OK.
    But when the reply comes back it looks like the transform fails. I get a "class cast exception"
    The feeling I get is that the returning xml document variable can't be cast into the local xml document variable. Even though they are of the exact same type...
    All help is very much appreciated!!!
    Unhandled Process Exception:
    java.lang.ClassCastException
    at se.telia.object.kund.control.sokKundPControl.clientRequest(Unknown Source)
    at se.telia.tab.regae.process.Untitled.sokKundPctrlClientRequest(Untitled.jpd:101)
    -------------

    I'm having some problems with a transformation and I'm getting a cast exception so maybe it's the same thing.
    The problem is when the source schema has some element with minOccurs="0". If the element is not present in the xml document that is received, the transformation seems to be trying to cast it anyway.

  • Class Cast exception in ArrayDescriptor.createDescriptor(

    I want to pass an array into a an Oracle procedure called using a callableSatement.
    When I create the array descriptor i get an class cast exception. I believe this error occurs when the sun.jdbc.odbc.JdbcOdbcConnection
    or the weblogic.jdbc.wrapper.PoolConnection_weblogic_jdbc_oci_Connection connection object is being cast to oracle.jdbc.driver.OracleConnection by createDescriptor method how can i overcome this run time error????

    Welcome to the forum!
    >
    am trying to pass ArrayList to Oracle procedure
    but when i am excuting the code i got the following error
    java.lang.ClassCastException: com.ibm.ws.rsadapter.jdbc.WSJdbcConnection incompatible with oracle.jdbc.OracleConnection
    Can anybody help me to resolve this problem.
    >
    Not if you don't provide the code you are using so we can see what it is doing. Also post your 4 digit Oracle version, Java version, JDBC jar file name/version and the procedure signature that shows the language, parameters and types.
    An ArrayList is a Java object so are you using a Java stored procedure?
    Or are you using WebSphere? If WebSphere see this IBM link which appears to apply to the problem you are describing.
    http://www-01.ibm.com/support/docview.wss?uid=swg21409335

  • Class cast exception in jsp plz help

    i have written a jsp where i displayed a text box with value given by user inside it
    when the user enters some other value in text box and clicks on update button then i forwarded reqeust to servlet which will some data base work
    servlet will forward again to the same jsp with the new value in text box.
    but i am getting CLASS CAST EXCEPTION when servlet is forwarding reqeust to same JSP
    help me what to do ........
    thanking you in advance ..cheers

    display cart.jsp file:
    <%@ page import="java.util.*,org.*" %>
    <html>
    <body>
    <%
    Vector cartupdate = (Vector)session.getAttribute("cartlist");
    for (int i = 0; i < cartupdate.size(); i++) {
    CartListBean clb = (CartListBean)cartupdate.elementAt(i);
    %>
    <form name="itemslist<%=i%>" action="updateCart" method="post">
    <input type="hidden" name="itemcode" value="<%=clb.getItemCode()%>">
         <input type="hidden" name="itemname" value="<%= clb.getItemName()%>">
    <input type="hidden" name="price" value="<%= clb.getPrice()%>">
    <%= clb.getItemName() %>
    <input type="text" name="qty" value="<%=clb.getQuantity()%>">
    <input type="submit" name="<%=clb.getItemCode()%>" value="update">
    </form>
    <br>
    <%
    %>
    <form name="tobuy" action="buysrv" method="post">
    <input type="submit" name="buy" value="BUY">
    </form>
    </body>
    </html>
    updatecart servlet code:
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import org.*;
    import java.sql.*;
    import java.util.*;
    public class UpdateCart extends HttpServlet
    public void service(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException
    HttpSession session=request.getSession(false);
    Vector cartupdate = (Vector)session.getAttribute("cartlist");
    for (int i = 0; i < cartupdate.size(); i++) {
    org.CartListBean cart = (org.CartListBean)cartupdate.elementAt(i);
    if((cart.getItemCode()).equals(request.getParameter("itemcode")))
    org.CartListBean clb=new org.CartListBean();
    clb.setItemCode(request.getParameter("itemcode"));
         clb.setQuantity(request.getParameter("qty"));
         clb.setItemName(request.getParameter("itemname"));
    clb.setPrice(request.getParameter("price"));
    cartupdate.setElementAt(clb,i);
    session.setAttribute("cartlist",cart);
    ServletContext application=getServletContext();
    System.out.println("got finished");
              RequestDispatcher rd=application.getRequestDispatcher("/displaycart.jsp");
                   rd.forward(request,response);
    Message was edited by:
    143java

  • Class Cast Exception in JSP of the component

    Hi,
      I am trying to call a web service from the JSP of the component.I have written the java code as a scriplets in the JSP. The problem i am facing is Class Cast Exception. The code is as follows
    String strKey = "wsclients/proxies/sap.com/CCMSContentBroker/com.sap.ccmscontentbroker.CCMSContentProxy";
    java.lang.Object obj ;
    obj = context.lookup(strKey);
    str1 = obj.getClass().getName();
    ContentBroker objCB= null; 
    objCB = (ContentBroker)obj; // getting error here
    ContentBroker is an web service interface. The same code is working if i write it in the component but not in the scriplet of the JSP.
    Can't we do the type cast in the JSP ?
    Cant we call the web services in the JSP?
    How to eliminate this Class cast Exception in my code?
    Thanks and Regards,
    Saravanan

    Hi Harini,
             Thanks for your reply. I have checked all the import statements in the JSP.The problem is in the Type casting of object <b>obj</b> to ContentBroker variable <b>objCB</b>.
    Are u saying typr casting is not possible in JSP or organising imports in the JSP.
    These are my imports statements in the JSP
    <%@ page import = "java.util.ResourceBundle" %>
    <%@ page import = "com.sapportals.htmlb.*" %>
    <%@ page import = "com.intel.ccmt.ccmscontentbroker.* "%>
    <%@ page import = "com.intel.ccmt.ccmscontentbroker.types.* "%>
    <%@ page import = "com.sapportals.portal.prt.contentconversion.XSLConverter" %>
    <%@ page import = "com.sapportals.portal.prt.component.IPortalComponentRequest" %>
    <%@ page import="java.io.File" %>
    <%@ page import="javax.naming.Context" %>
    <%@ page import="javax.naming.InitialContext" %>
    <%@ page import="javax.naming.NamingException" %>
    <%@ page import="java.util.StringTokenizer"%>
    Can u help me on rectifying this class cast Exception ?
    Thanks and Regards,
    Saravanan

  • Class Cast Exception in Stateless session bean

    Hi,
    i am getting a class cast exception in this particular line....
    in my EJBClient program i get this error..
    //Getting a reference to the bean's home interface in client program
    SimpleSessionHome home=(SimpleSessionHome)PortableRemoteObject.narrow(ref, SimpleSessionHome.class);Wher SimpleSessionHome is my Home interface.
    I am not able to correct the error. Plz help me.
    Thanks,
    Akshatha

    Hi,
    Make sure you are looking up the correct JNDI name. And, what king of Classloading is being used.
    This could be an issue if there are different classloader in action.
    According to the JBoss 4 Admin Guide.
    Most developers know that the type of a class in Java is a function of the fully qualified name of the class. However the type is also a function of the java.lang.ClassLoader that is used to define that class.
    Feel free to forward your queries / comment.
    Pawan.

  • Class Cast Exception when Rich Table is typecasted with Rowset

    The following line throws a Class Cast Exception
    if(RowCountHelper.containsNoRows((RowSet)getAddMembersTable()))
    The above piece of code has been working since long & it started throwing the class cast exception recently.
    Not sure how the line of code has been working all these days & why it is suddenly erroring out.
    Should I have to replace the above line with following?
    DCIteratorBinding iter = ADFUtils.findIterator("NewGroupSpaceMemberVOIterator");
    RowSetIterator rowIt = iter.getRowSetIterator();
    if(RowCountHelper.containsNoRows((rowIt.getRowSet())){                }
    Please suggest.

    The following line throws a Class Cast Exception
    if(RowCountHelper.containsNoRows((RowSet)getAddMembersTable()))
    The above piece of code has been workingOnly if (a) the return type of getAddMembersTable() has changed or (b) it has never been executed before.
    Should I have to replace the above line with following?Without knowing the return type of getAddMembersTable() it is impossible for anybody to answer that.
    Please suggest.I suggest you don't ask pointless questions here that nobody but you can answer.

  • Class cast exception when trying to get a control on the "Wave" mixer

    I am trying to get a control over the level of the Wave mixer. I can get the master, but I need a bit finer control than that. I think I have one, and it compiles, but I get a classCast exception at runtime:
    volumeSearch:
    for (int i = 0; i < mixerInfo.length; i++)
        Mixer.Info info = mixerInfo;
    mixer = AudioSystem.getMixer(info);
    System.out.println("info.getName() = " + info.getName());
    if (mixer.isLineSupported(Port.Info.SPEAKER))
    System.out.println(info.getName() + " supports a speaker");
    lineOut = (Port) mixer.getLine(Port.Info.SPEAKER);
    lineOut.open();
    Control[] controls = lineOut.getControls();
    System.out.println("Supported controls on the speaker:");
    for (int j = 0; j < controls.length; j++)
    Control control = controls[j];
    System.out.println("\tcontrol.toString() = " + control.toString());
    System.out.println("\tcontrol.getType() = " + control.getType());
    if (control.getType().toString().contains("Wave") || control.getType().toString().contains("WAVE")||control.getType().toString().contains("wave")){
    volumeControl = (FloatControl)controls[j];
    break volumeSearch;
    I get the class cast exception when I try to get the control at :volumeControl = (FloatControl)controls[j];
    volumeControl is declared earlier in the class as a FloatControl.
    Any tips?                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    Hey guys, thanks for replying to my post!
    Here's the rub: I am able to use the method you are describing, but it gives me control over the wrong mixer.
    On the main mixer, it gives me control over the "Master" volume, which means that in addition to the wave output, it also controls every other output simultaneously, such as the Mic output. I am trying to get control of the "Wave" output. When adjusting the Wave out, it only effects digital audio output, but leaves the analog outputs (like the Mic volume) alone.
    Now, when I call the complete method:
        private void initVolumeControl()
            Port lineOut;
            FloatControl vol;
            Mixer mixer;
            Mixer.Info[] mixerInfo = AudioSystem.getMixerInfo();
            try
                volumeSearch:
                for (int i = 0; i < mixerInfo.length; i++)
                    Mixer.Info info = mixerInfo;
    mixer = AudioSystem.getMixer(info);
    System.out.println("info.getName() = " + info.getName());
    if (mixer.isLineSupported(Port.Info.SPEAKER))
    System.out.println(info.getName() + " supports a speaker");
    lineOut = (Port) mixer.getLine(Port.Info.SPEAKER);
    lineOut.open();
    At this point, if I wanted to control the master volume, I would get the volume control over
    the main mixer here
    by calling
    vol = (FloatControl) lineOut.getControl(FloatControl.Type.VOLUME);
    But the problem is that gives me control over the main, and not the wave volume.
    So, on the "lineOut", let's query it for all of the different controls available
    Control[] controls = lineOut.getControls();
    System.out.println("Supported controls on the speaker:");
    for (int j = 0; j < controls.length; j++)
    Control control = controls[j];
    System.out.println("\tcontrol.toString() = " + control.toString());
    System.out.println("\tcontrol.getType() = " + control.getType());
    if (control.getType().toString().contains("Wave") || control.getType().toString().contains("WAVE") || control.getType().toString().contains("wave"))
    volumeControl = (FloatControl)control;
    break volumeSearch;
    } catch (Exception e)
    System.err.println("There was an error while trying to get a volume control");
    e.printStackTrace();
    And my output from this is:info.getName() = Primary Sound Driver
    info.getName() = Realtek HD Audio output
    info.getName() = Primary Sound Capture Driver
    info.getName() = Realtek HD Audio Input
    info.getName() = Java Sound Audio Engine
    info.getName() = Port Realtek HD Audio output
    Port Realtek HD Audio output supports a speaker
    Speaker volume = 0.5000076
    Supported controls on the speaker:
    control.toString() = Volume with current value: 0.5000076 (range: 0.0 - 1.0)
    control.getType() = Volume
    control.toString() = Balance with current value: 3.0517345E-5 (range: -1.0 - 1.0)
    control.getType() = Balance
    control.toString() = Mute Control with current value: false
    control.getType() = Mute
    control.toString() = Wave Control containing Volume, Balance, and Mute Controls.
    control.getType() = Wave
    but I also get the exception:There was an error while trying to get a volume control
    java.lang.ClassCastException: com.sun.media.sound.PortMixer$CompCtrl
    at audiotools.AudioPlayer.initVolumeControl(AudioPlayer.java:236)
    at audiotools.AudioPlayer.<init>(AudioPlayer.java:102)
    at audiotools.AudioPlayer.getInstance(AudioPlayer.java:59)
    at gui.windowmanager.WindowManager.run(WindowManager.java:208)
    at java.lang.Thread.run(Thread.java:595)
    So, as you can see, when I query the line that supports SPEAKER, it says it has an additional item (Mixer? Line?) called "Wave Control" that also has it's own Volume, Balance and Mute controls.
    I need to get the Volume control associated with the "Wave", not the one associated with the "Master". The Master provides too general of a control on the system mixer.
    Edited by: J_Y_C on Oct 30, 2008 6:09 AM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Oracle Arrays and getVendorConnection API and Class Cast Exception

    I 've gone through various threads relating to the topic of Oracle Arrays and the getVendorConnecton API call to avoid the class Cast Exception.. i ve used all these but am still facing the problem...
    I would appreciate it if some one could resolve the following queries :
    I am using Weblogic 8.1 SP5 with oracle 8i
    1. I read that the need to use the getVendorConnection API to make pl/sql proc calls with oracle arrays from the WL Server wont be required to avoid classCastException...
    I tried to use the connection from the WL connection pool ..but it didnot work....I used the getVendorConnection API ..which also doesnot seem to work..
    I got the Heurisitc Hazard exception...I used the Oracle 9i driver ie ojdbc14.jar ...after this the exception is not coming but still the code doesnt seem to work...
    the snippet of the code is pasted below :
    ~~~~~~~~~~~~~~~~~~~~~~~code is : ~~~~~~~~~~~~~~~~~~~
    /*below :
    logicalCon is the Connection from the WL connection pool
    JDBCcon is the JDBC connection. */
    <div> try </div>
    <div>{ </div>
    <div>
    <b>vendorConn</b> = ((WLConnection)logicalCon).getVendorConnection();
    </div>
    <div>
    //Calling the procedure
    </div>
    <div>
    //java.util.Map childMap1 = JDBCcon.getTypeMap();
    </div>
    <div>
    java.util.Map childMap1 = <b>vendorConn</b>.getTypeMap();
    </div>
    <div>
    childMap1.put("SST_ROUTE_ENTRY", Class.forName("svm.stport.ejb.StaticRouteEntry"));
    </div>
    <div>
    //JDBCcon.setTypeMap(childMap1);
    <b>vendorConn</b>.setTypeMap(childMap1);
    </div>
    <div>
    // Create an oracle.sql.ARRAY object to hold the values
    </div>
    <div>
    /*oracle.sql.ArrayDescriptor arrayDesc1 = oracle.sql.ArrayDescriptor.createDescriptor("SST_ROUTE_ENTRY_ARR", JDBCcon); */
    </div>
    <div>
    oracle.sql.ArrayDescriptor arrayDesc1 =
    oracle.sql.ArrayDescriptor.createDescriptor("SST_ROUTE_ENTRY_ARR", <b>vendorConn</b>); // here if i use the JDBCcon it works perfectly.... <u>^%^%^%</u>
    </div>
    <div>
    code to fill in the sst route entry array....
    .....arrayValues1 */
    </div>
    <div>
    /* oracle.sql.ARRAY array1 = new oracle.sql.ARRAY(arrayDesc1, JDBCcon, arrayValues1); */
    </div>
    <div>
    oracle.sql.ARRAY array1 = new oracle.sql.ARRAY(arrayDesc1, <b>vendorConn</b>, arrayValues1);
    </div>
    <div>
    callStatement = logicalCon.prepareCall( "? = call procName(?, ?, ?)");
    </div>
    <div>
    /* ..code to set the ?s ie array1 */
    </div>
    <div>
    callStatement.execute();
    </div>
    <div>
    }catch(Exceptio e){
    </div>
    <div>
    }</div>
    <div>
    finally </div>
    </div>{</div>
    <div>System.out.println(" I ve come to finally"); </div>
    <div>}</div>
    <div>
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~code snippet ends here ~~~~~~~~~~~~~~``
    </div>
    I have observed that the control immediately comes to the finally block after the call to the createDescriptor line above with <u>^%^%^%</u> in the comment. If i use the JDBCCon in this line...it works perfectly fine.
    Any pointers to where anything is getting wrong.
    I have jst set the vendorCon to null in the end of the file and not closed it. Subsequently i have closed the logicalCon. This has been mentioned in some of the thread in this forum also.
    Thanks,
    -jw

    Jatinder Wadhwa wrote:
    I 've gone through various threads relating to the topic of Oracle Arrays and the getVendorConnecton API call to avoid the class Cast Exception.. i ve used all these but am still facing the problem...
    I would appreciate it if some one could resolve the following queries :
    I am using Weblogic 8.1 SP5 with oracle 8i
    1. I read that the need to use the getVendorConnection API to make pl/sql proc calls with oracle arrays from the WL Server wont be required to avoid classCastException...
    I tried to use the connection from the WL connection pool ..but it didnot work....I used the getVendorConnection API ..which also doesnot seem to work..
    I got the Heurisitc Hazard exception...I used the Oracle 9i driver ie ojdbc14.jar ...after this the exception is not coming but still the code doesnt seem to work...
    the snippet of the code is pasted below :
    ~~~~~~~~~~~~~~~~~~~~~~~code is : ~~~~~~~~~~~~~~~~~~~Hi. Show me the whole exception and stacktrace if you do:
    try
    vendorConn = ((WLConnection)logicalCon).getVendorConnection();
    java.util.Map childMap1 = vendorConn.getTypeMap();
    childMap1.put("SST_ROUTE_ENTRY" Class.forName("svm.stport.ejb.StaticRouteEntry"));
    vendorConn.setTypeMap(childMap1);
    oracle.sql.ArrayDescriptor arrayDesc1 =
    oracle.sql.ArrayDescriptor.createDescriptor("SST_ROUTE_ENTRY_ARR",
    vendorConn);
    oracle.sql.ARRAY array1 = new oracle.sql.ARRAY(arrayDesc1, vendorConn, arrayValues1);
    callStatement = logicalCon.prepareCall( "? = call procName(? ? ?)");
    callStatement.execute();
    }catch(Exception e){
    e.printStackTrace();
    finally
    try{logicalCon.close();}catch(Exception ignore){}
    System.out.println(" I ve come to finally");
    /*below :
    logicalCon is the Connection from the WL connection pool
    JDBCcon is the JDBC connection. */
    <div> try </div>
    <div>{ </div>
    <div>
    <b>vendorConn</b> = ((WLConnection)logicalCon).getVendorConnection();
    </div>
    <div>
    //Calling the procedure
    </div>
    <div>
    //java.util.Map childMap1 = JDBCcon.getTypeMap();
    </div>
    <div>
    java.util.Map childMap1 = <b>vendorConn</b>.getTypeMap();
    </div>
    <div>
    childMap1.put("SST_ROUTE_ENTRY", Class.forName("svm.stport.ejb.StaticRouteEntry"));
    </div>
    <div>
    //JDBCcon.setTypeMap(childMap1);
    <b>vendorConn</b>.setTypeMap(childMap1);
    </div>
    <div>
    // Create an oracle.sql.ARRAY object to hold the values
    </div>
    <div>
    /*oracle.sql.ArrayDescriptor arrayDesc1 = oracle.sql.ArrayDescriptor.createDescriptor("SST_ROUTE_ENTRY_ARR", JDBCcon); */
    </div>
    <div>
    oracle.sql.ArrayDescriptor arrayDesc1 =
    oracle.sql.ArrayDescriptor.createDescriptor("SST_ROUTE_ENTRY_ARR", <b>vendorConn</b>); // here if i use the JDBCcon it works perfectly.... <u>^%^%^%</u>
    </div>
    <div>
    code to fill in the sst route entry array....
    .....arrayValues1 */
    </div>
    <div>
    /* oracle.sql.ARRAY array1 = new oracle.sql.ARRAY(arrayDesc1, JDBCcon, arrayValues1); */
    </div>
    <div>
    oracle.sql.ARRAY array1 = new oracle.sql.ARRAY(arrayDesc1, <b>vendorConn</b>, arrayValues1);
    </div>
    <div>
    callStatement = logicalCon.prepareCall( "? = call procName(?, ?, ?)");
    </div>
    <div>
    /* ..code to set the ?s ie array1 */
    </div>
    <div>
    callStatement.execute();
    </div>
    <div>
    }catch(Exceptio e){
    </div>
    <div>
    }</div>
    <div>
    finally </div>
    </div>{</div>
    <div>System.out.println(" I ve come to finally"); </div>
    <div>}</div>
    <div>
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~code snippet ends here ~~~~~~~~~~~~~~``
    </div>
    I have observed that the control immediately comes to the finally block after the call to the createDescriptor line above with <u>^%^%^%</u> in the comment. If i use the JDBCCon in this line...it works perfectly fine.
    Any pointers to where anything is getting wrong.
    I have jst set the vendorCon to null in the end of the file and not closed it. Subsequently i have closed the logicalCon. This has been mentioned in some of the thread in this forum also.
    Thanks,
    -jw

Maybe you are looking for

  • How do i Install 10g on windows xp

    I have my oracle 10g installation CDs and want to install on my system but i do not know how to go by it and start the server, login, perform admin role (creating new user, assign privelleges, create role, start pl/sql* successfully) Pls i am totally

  • TS1559 why is my wifi greyed out

    SO FRUSTRATED, BOUGHT IPHONE 4 FROM A RELATIVE, WIFI IS GREYED OUT, ALSO BLUETOOTH, HAVE DONE FULL SOFTWARE RESTORE TWICE, NO GOOD WHAT IS THE DEAL?

  • Replacing Files in File Manager

    Hello, Im trying to replace a logo for my packing slip .. the address is wrong.  I delete the current file in File Manager, upload a new file with the same name, then when I view the file I just uploaded its still the old one?   whats wrong with this

  • How do I get a VAT-specified invoice from Itunes store?

    I made a purchase in the app store; a book keeping program. In order to get my tax returns right, I would have to get an invoice with VAT specified, but I just get the ordinary e-mail, and the less-then-helpful tips and directions that does not put m

  • Belle Update on N8 : USB Port not working

    I have Nokia N8-00. I would like to upgrade to Nokia Belle. But the USB port on my phone is not working. Is it possible to just download the executable/installable file on PC, transfer it to phone memory and run the upgrade ? PLease let me know where