- 论坛徽章:
- 0
|
informix没有报错,weblogic服务端也没有报错。百思不解其所,还望高手赐教。
环境:xp+weblogic8.1+hp unix 下的 informix
客户端代码:
- package com.titan.cabin;
- import com.titan.cabin.CabinHome;
- import com.titan.cabin.Cabin;
- import com.titan.cabin.CabinPK;
- import javax.naming.InitialContext;
- import javax.naming.Context;
- import javax.naming.NamingException;
- import java.rmi.RemoteException;
- import java.util.Properties;
- public class Client_1 {
- public static void main(String [] args){
- try {
- System.out.println("Enter main...");
- System.out.println("get context...");
- Context jndiContext = getInitialContext();
- System.out.println("get context ok,lookup CabinHome...");
- // Object obj = jndiContext.lookup("java:comp/env/ejb/CabinHome");
- Object obj = jndiContext.lookup("cabin");
- CabinHome home = (CabinHome) javax.rmi.PortableRemoteObject.narrow(obj, CabinHome.class);
- System.out.println("lookup CabinHome ok,creating Cabin...");
- Cabin cabin_1 = home.create(1);
- System.out.println("created it!");
- cabin_1.setName("Master Suite");
- cabin_1.setDeckLevel(1);
- cabin_1.setShip(1);
- cabin_1.setBedCount(3);
-
- CabinPK pk = new CabinPK();
- pk.id = 1;
- System.out.println("keyed it! ="+ pk);
-
- Cabin cabin_2 = home.findByPrimaryKey(pk);
- System.out.println("found by key! ="+ cabin_2);
- System.out.println("Ship.name is:"+cabin_2.getName());
- System.out.println("Ship.deckLevel is:"+cabin_2.getDeckLevel());
- System.out.println("Ship.shipno is:"+cabin_2.getShip());
- System.out.println("Ship.bedCount is:"+cabin_2.getBedCount());
- } catch (java.rmi.RemoteException re){System.out.println("RE");re.printStackTrace();}
- catch (javax.naming.NamingException ne){System.out.println("NE");ne.printStackTrace();}
- catch (javax.ejb.CreateException ce){System.out.println("CE");ce.printStackTrace();}
- catch (javax.ejb.FinderException fe){System.out.println("FE");fe.printStackTrace();}
- }
- public static Context getInitialContext()
- throws javax.naming.NamingException {
- Context ctx;
- try {
- Properties p = new Properties();
- // ... Specify the JNDI properties specific to the vendor.
- //return new javax.naming.InitialContext(p);
- /** weblogic */
- p.put(Context.INITIAL_CONTEXT_FACTORY,
- "weblogic.jndi.TengahInitialContextFactory");
- p.put(Context.PROVIDER_URL, "t3://localhost:7001");
- // return getJ2EERIInitialContext();
- ctx = new InitialContext(p);
- } catch (NamingException ne) {
- System.err.println("** Unable to connect to the server at:t3://localhost:7001");
- ne.printStackTrace();
- throw ne;
- }
- return ctx;
- }
- // return new javax.naming.InitialContext(p);
- // }
- public static Context getJ2EERIInitialContext()
- throws javax.naming.NamingException {
- return new javax.naming.InitialContext();
- }
- public static Context getGemstoneInitialContext()
- throws javax.naming.NamingException {
- Properties p = new Properties();
- // Uncomment if you have the com.gemstone.* classes available
- //p.put(com.gemstone.naming.Defaults.NAME_SERVICE_HOST,"localhost");
- String port = System.getProperty("com.gemstone.naming.NameServicePort",
- "10200");
- // Uncomment if you have the com.gemstone.* classes available
- //p.put(com.gemstone.naming.Defaults.NAME_SERVICE_PORT, port);
- p.put(Context.INITIAL_CONTEXT_FACTORY,"com.gemstone.naming.GsCtxFactory");
- return new InitialContext(p);
- }
- public static Context getWeblogicInitialContext()
- throws javax.naming.NamingException {
- Properties p = new Properties();
- p.put(Context.INITIAL_CONTEXT_FACTORY,
- "weblogic.jndi.TengahInitialContextFactory");
- p.put(Context.PROVIDER_URL, "t3://localhost:7001");
- return new javax.naming.InitialContext(p);
- }
- }
复制代码
bean代码:
- package com.titan.cabin;
- import javax.ejb.EntityContext;
- public abstract class CabinBean implements javax.ejb.EntityBean {
-
- public CabinPK ejbCreate(int id){
- setId(id);
- return null;
- }
- public void ejbPostCreate(int id){
- // Do nothing. Required.
- }
- public abstract int getId();
- public abstract void setId(int id);
- public abstract String getName();
- public abstract void setName(String str);
- public abstract int getShip();
- public abstract void setShip(int sp);
- public abstract int getBedCount();
- public abstract void setBedCount(int bc);
- public abstract int getDeckLevel();
- public abstract void setDeckLevel(int level );
- public void setEntityContext(EntityContext ctx){
- // Not implemented.
- }
- public void unsetEntityContext(){
- // Not implemented.
- }
- public void ejbActivate(){
- // Not implemented.
- }
- public void ejbPassivate(){
- // Not implemented.
- }
- public void ejbLoad(){
- // Not implemented.
- }
- public void ejbStore(){
- // Not implemented.
- }
- public void ejbRemove(){
- // Not implemented.
- }
- }
复制代码
出错提示信息:
- Enter main...
- get context...
- get context ok,lookup CabinHome...
- lookup CabinHome ok,creating Cabin...
- created it!
- keyed it! =1
- found by key! =weblogic.rmi.cluster.ClusterActivatableRemoteRef@5a0abe8 - hostID
- : '163223322531701330S:112.23.190.23:[7001,7001,7002,7002,7001,7002,-1,0,0]:examp
- les:examplesServer', oid: '291', aid: '1', jndiName: 'cabin'
- Ship.name is:Master Suite
- RE
- java.rmi.RemoteException: EJB Exception: ; nested exception is:
- java.sql.SQLException: [BEA][Informix JDBC Driver][Informix]System error
- - invalid statement id received by the sqlexec process.
- at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.j
- ava:108)
- at weblogic.rmi.internal.activation.ActivatableRemoteRef.invoke(Activata
- bleRemoteRef.java:83)
- at weblogic.rmi.cluster.ClusterActivatableRemoteRef.invoke(ClusterActiva
- tableRemoteRef.java:65)
- at com.titan.cabin.CabinBean_mludcw_EOImpl_812_WLStub.getDeckLevel(Unkno
- wn Source)
- at com.titan.cabin.Client_1.main(Client_1.java:39)
- Caused by: java.sql.SQLException: [BEA][Informix JDBC Driver][Informix]System er
- ror - invalid statement id received by the sqlexec process.
- at com.titan.cabin.CabinBean_mludcw__WebLogic_CMP_RDBMS.getDeckLevel(Cab
- inBean_mludcw__WebLogic_CMP_RDBMS.java:375)
- at com.titan.cabin.CabinBean_mludcw_EOImpl.getDeckLevel(CabinBean_mludcw
- _EOImpl.java:147)
- at com.titan.cabin.CabinBean_mludcw_EOImpl_WLSkel.invoke(Unknown Source)
- at weblogic.rmi.internal.activation.ActivatableServerRef.invoke(Activata
- bleServerRef.java:87)
- at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
- at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
- dSubject.java:353)
- at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
- 144)
- at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
- a:415)
- at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
- .java:30)
- at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
- at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
复制代码 |
|