I want to get ResultSet by search data from Oracle DB,my steps are follows:first I 
visit Servlet with IE,then call EJB from Servlet,at last search data from Oracle 
through EJB.But I got many errors,
//Servlet file which named "GetUserIdentity.java"

public class GetUserIdentity extends HttpServlet
{
   public void doPost(HttpServletRequest request,HttpServletResponse response)
     throws ServletException,IOException
 {
   try
  {
   Properties prop=new Properties();
   prop.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
   prop.put(Context.PROVIDER_URL,"t3://192.168.39.152:7001");
   Context ctx=new InitialContext(prop);
   Object objref=ctx.lookup("CheckPassword");
   CheckPasswordHome home=(CheckPasswordHome)javax.rmi.PortableRemoteObject.narrow(
      objref,CheckPasswordHome.class);
   CheckPassword ss=home.create();
   ResultSet message;
   message=ss.TableInfo();
   ...
   }
   catch(Exception e)
  {
   e.printStackTrace();
  }
  }
}

//EJB file which named "CheckPassword.java"
package loginEJB;
import java.rmi.RemoteException;
import java.sql.ResultSet;
import java.util.Enumeration;
import java.util.Properties;

public interface CheckPassword extends javax.ejb.EJBObject
{
 ResultSet TableInfo() throws java.rmi.RemoteException;
}

//The file "CheckPasswordEJB.java"

import java.sql.Statement;
import java.sql.ResultSet;
import java.util.Enumeration;
import java.util.Properties;
public class CheckPasswordEJB implements javax.ejb.SessionBean
{
 public void ejbCreate()
 {
  System.out.println("ejbCreate() called");
 }
 ...
  public ResultSet TableInfo() throws java.rmi.RemoteException
 {
  String driverClass="oracle.jdbc.driver.OracleDriver";
  String url="jdbc:oracle:thin:@as_server:1526:db817";
  Connection connection;
  try
  {
   // Oracle Client - Server Thin Driver
   Class.forName(driverClass);
  }
  catch(ClassNotFoundException e)
  {
   e.printStackTrace();
  }
  try
  {
   connection=DriverManager.getConnection(url,"eino","eino");
   Statement stmt=connection.createStatement();
   stmt.executeQuery("select * from table_info_tbl");
   ResultSet rs=stmt.getResultSet();
   return rs;
  }
  catch(SQLException e)
  {
   e.printStackTrace();
   return null;
  }
 }
}

When I visit EJB,I got errors:
Starting service Tomcat-Standalone
Apache Tomcat/4.0.1
Starting service Tomcat-Apache
Apache Tomcat/4.0.1
java.rmi.MarshalException: error marshalling return; nested exception is:
        java.io.NotSerializableException: oracle.jdbc.driver.OracleResultSetImpl


Start server side stack trace:
java.rmi.MarshalException: error marshalling return; nested exception is:
        java.io.NotSerializableException: oracle.jdbc.driver.OracleResultSetImpl

java.io.NotSerializableException: oracle.jdbc.driver.OracleResultSetImpl
        at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1148)

        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
        at weblogic.common.internal.ChunkedObjectOutputStream.writeObject(Chunke
dObjectOutputStream.java:102)
        at weblogic.common.internal.ChunkedObjectOutputStream.writeObject(Chunke
dObjectOutputStream.java:108)
        at loginEJB.CheckPasswordEJB_28r6w3_EOImpl_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.BasicExecuteRequest.execute(BasicExecuteRequest
.java:22)
        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.io.NotSerializableException: oracle.jdbc.driver.OracleResultSetImpl


Start server side stack trace:
java.io.NotSerializableException: oracle.jdbc.driver.OracleResultSetImpl
        at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1148)

        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
        at weblogic.common.internal.ChunkedObjectOutputStream.writeObject(Chunke
dObjectOutputStream.java:102)
        at weblogic.common.internal.ChunkedObjectOutputStream.writeObject(Chunke
dObjectOutputStream.java:108)
        at loginEJB.CheckPasswordEJB_28r6w3_EOImpl_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.BasicExecuteRequest.execute(BasicExecuteRequest
.java:22)
        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End  server side stack trace

java.io.NotSerializableException: oracle.jdbc.driver.OracleResultSetImpl

Start server side stack trace:
java.io.NotSerializableException: oracle.jdbc.driver.OracleResultSetImpl
        at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1148)

        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
        at weblogic.common.internal.ChunkedObjectOutputStream.writeObject(Chunke
dObjectOutputStream.java:102)
        at weblogic.common.internal.ChunkedObjectOutputStream.writeObject(Chunke
dObjectOutputStream.java:108)
        at loginEJB.CheckPasswordEJB_28r6w3_EOImpl_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.BasicExecuteRequest.execute(BasicExecuteRequest
.java:22)
        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>>

I don't know why my program is error.
Any idea will be appreciated! How to correct ?
Edward

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to