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".

Reply via email to