Edward, I would guess that your classpath setting is wrong. You probably set your classpath to E:\EJB\orderMgmt but it should be E:\EJB. The orderMgmt is part of the package, but the classpath has always to be at the root.
Kind regards, Andreas http://www.andiberg.de/ Edward King sagte: > I am puzzled with EJB compile,I write a EJB and a client program, > EJB are following directory: > E:\EJB\orderMgmt\OrderManagement.class > E:\EJB\orderMgmt\OrderManagementBean.class > E:\EJB\orderMgmt\OrderManagementHome.class > > and client is following directory: > E:\EJB\Client.java > > when I compile Client.java,it raise following errors: > E:\EJB>javac -d . Client.java > Client.java:14: inconvertible types > found : java.lang.Object > required: OrderManagementHome > (OrderManagementHome)javax.rmi.PortableRemoteObject.narrow( > ^ > Client.java:16: cannot resolve symbol > symbol : method create () > location: class OrderManagementHome > OrderManagement orderManagement=home.create(); > ^ > Client.java:17: cannot resolve symbol > symbol : method placeOrder (java.lang.String,java.lang.String,int) > location: class OrderManagement > orderManagement.placeOrder("Cedric","J2EE Server > Programming",1000); > ^ > Client.java:18: cannot resolve symbol > symbol : method remove () > location: class OrderManagement > orderManagement.remove(); > ^ > 4 errors > > Why raise errors? > > Then I put EJB into another directory,like following: > E:\EJB\orderMgmt\orderMgmt\OrderManagement.class > E:\EJB\orderMgmt\orderMgmt\OrderManagementBean.class > E:\EJB\orderMgmt\orderMgmt\OrderManagementHome.class > Then I compile Client.java again,this time compiled ok,why this time can > compile success? > I found there are more two class in the directory of E:\EJB\orderMgmt,they > are OrderManagement.class and OrderManagementHome.class. Why they will be > created when I compile Client? > > Thanks in advance. > > My class are following: > //OrderManagementHome.java > package orderMgmt; > public interface OrderManagementHome extends javax.ejb.EJBHome{ > OrderManagement create() throws > java.rmi.RemoteException,javax.ejb.CreateException; > } > > //OrderManagement.java > package orderMgmt; > public interface OrderManagement extends javax.ejb.EJBObject{ > void placeOrder(String custName,String prodName,int quantity) throws > java.rmi.RemoteException; > void cancelOrder(String custName,String prodName) throws > java.rmi.RemoteException; > boolean isShipped(String custName,String prodName) throws > java.rmi.RemoteException; > } > > //OrderManagementBean.java > package orderMgmt; > import javax.ejb.SessionContext; > public class OrderManagementBean implements javax.ejb.SessionBean{ > public void placeOrder(String custName,String prodName,int quantity){ > System.out.println("Order placed for "+quantity+" copies of > "+prodName+" to be shipped to "+custName); > } > public void cancelOrder(String custName,String prodName){ > System.out.println("Order cancelled"); > } > public boolean isShipped(String custName,String prodName){ > System.out.println("Order shipped"); > return true; > } > public void ejbCreate(){ > System.out.println("ejbCreate() called"); > } > public void ejbRemove(){ > System.out.println("ejbRemove() called"); > } > public void ejbActivate(){ > System.out.println("ejbActivate() called"); > } > public void ejbPassivate(){ > System.out.println("ejbPassivate() called"); > } > public void setSessionContext(SessionContext ctx){ > System.out.println("setSessionContext() called"); > } > } > > //Client.java > import orderMgmt.*; > import java.util.Properties; > import javax.naming.Context; > import javax.naming.InitialContext; > public class Client{ > public static void main(String args[]){ > try{ > Properties prop=new Properties(); > > prop.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi;WLInitialContextFactory"); > prop.put(Context.PROVIDER_URL,"t3://localhost:7001"); > Context ctx=new InitialContext(prop); > Object objref=ctx.lookup("OrderManagement"); > OrderManagementHome home = > (OrderManagementHome)javax.rmi.PortableRemoteObject.narrow( > objref, > OrderManagementHome.class); > OrderManagement orderManagement=home.create(); > orderManagement.placeOrder("Cedric","J2EE Server > Programming",1000); > orderManagement.remove(); > } > catch(Exception e){ > e.printStackTrace(); > } > } > } > > =========================================================================== > 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". > > -- Triona - Information und Technologie GmbH Rheinstra�e 4e 55116 Mainz tel.: +49 (0) 6131 / 2019-422 fax: +49 (0) 6131 / 2019-200 email: [EMAIL PROTECTED] web: www.triona.de =========================================================================== 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".
