using xdoclet error(help)

ejb:
        test.ejb.AccountBean;(CMP)
        test.ejb.TellerBean(Stateless)
client:
        test.client.Test
        
error:
        1.when i use TellerUtil.getHome();
        can not get TellerHome;
        
        solution:
                modify the TellerUtil.getHome()
                from:
                        java.lang.Object objRef = 
initialContext.lookup(test.interfaces.TellerHome.COMP_NAME);
                modified to:
                        java.lang.Object objRef = 
initialContext.lookup(test.interfaces.TellerHome.JNDI_NAME);                    
        
        2.when i call test.client.Test
        printStackTrace:
        
23:27:35,244 INFO  [EJBDeployer] Deploying mall/Account
23:27:35,244 INFO  [EJBDeployer] Deploying mall/Teller
23:27:35,504 ERROR [XmlFileLoader] XmlFileLoader: File 
file:/C:/jboss-3.0.0beta/
tmp/deploy/75.samples-ejb.jar!/META-INF/jbosscmp-jdbc.xml process error. 
Line: 5
2. Error message: Element "dependent-value-classes" requires additional 
elements
.
23:27:35,764 INFO  [mall/Account] Created table 'account' successfully.
23:27:49,895 ERROR [JRMPInvoker] operation failed
java.rmi.ServerException: argument type mismatch; nested exception is:
        java.lang.IllegalArgumentException: argument type mismatch
java.lang.IllegalArgumentException: argument type mismatch
        at java.lang.reflect.Method.invoke(Native Method)
        at 
org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(S
tatelessSessionContainer.java:642)
        at 
org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(Stat
elessSessionInstanceInterceptor.java:77)
        at 
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInte
rceptor.java:96)
        at 
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxIntercep
torCMT.java:167)
        at 
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:6
1)
        at 
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.
java:127)
        at 
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:166)
        at 
org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContai
ner.java:308)
        at org.jboss.ejb.Container.invoke(Container.java:630)
        at 
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:15
55)
        at 
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:15
23)
        at 
org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:
364)
        at java.lang.reflect.Method.invoke(Native Method)
        at 
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:241)
        at sun.rmi.transport.Transport$1.run(Transport.java:152)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:148)
        at 
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
65)
        at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
.java:706)
        at java.lang.Thread.run(Thread.java:484)

        
                
        
                        
source
/*********************************************
 *       test.ejb.AccountBean
 ********************************************/
 
package test.ejb;

import javax.ejb.*;

import test.interfaces.AccountPK;
import test.interfaces.AccountData;
import test.interfaces.Account;
/**
 * This is an account bean. It is an example of how to use the XDoclet 
tags.
 *
 * @ejb:bean name="mall/Account" type="CMP" jndi-name="ejb/mall/Account"
 * @ejb:finder signature="Collection findAll()" unchecked="true" 
transaction-type="NotSupported"
 * @ejb:interface remote-class="test.interfaces.Account"
 *
 * @jboss:table-name "account"
 * @jboss:create-table "${jboss.create.table}"
 * @jboss:remove-table "${jboss.remove.table}"
 * @jboss:tuned-updates "${jboss.tuned.updates}"
 *
 */
  
public abstract class AccountBean 
        implements  EntityBean{
        
        /**
          *
          * @ejb:pk-field
          * @ejb:persistent-field
          *
          * @jboss:column-name "id"
          */
        
        public abstract String getID();
        public abstract void setID(String ID);
        /**
          * Balance of the account.
          *
          * @ejb:interface-method
          * @ejb:persistent-field
          *
          * @jboss:column-name "balance
          "
          */
        public abstract float getBalance();
        
        public abstract void setBalance(float balance);
        /**
          *  Owner of this account.
          *
          * @ejb:interface-method
          * @ejb:persistent-field
          *
          * @jboss:column-name "owner"
          */
        
        public abstract String getOwner();
        /**
          * @ejb:interface-method
          */
        public abstract void setOwner(String Owner); 
        /**
          * @ejb:create-method
          */
        public AccountPK ejbCreate(AccountData data){
                return null;
        }
        
        public void ejbPostCreate(AccountData data) { }

}

/*********************************************
 *       test.ejb.TellerBean
 ********************************************/  
package test.ejb;

import javax.ejb.*;



import test.interfaces.Account;
import test.interfaces.AccountData;
import test.interfaces.AccountHome;
import test.interfaces.AccountUtil;

/**
  * @ejb:bean type="Stateless" name="mall/Teller" 
jndi-name="ejb/mall/Teller"
  *
  */
 
public abstract class TellerBean 
        implements SessionBean{
        /**
          * @ejb:interface-method
          */
        public void makeAccount(AccountData data){
                try{
                        
                        test.interfaces.AccountHome home = AccountUtil.getHome();
                        Account account = home.create(data);
                }catch(Exception e){
                        e.printStackTrace();
                }               
        }
}


/*********************************************
 *       test.ejb.TellerBean
 ********************************************/  
 
package test.client;

import test.interfaces.*;



public class Test{
        public static void main(String[] args){
                try{
                        
                        TellerHome home = TellerUtil.getHome();
                        Teller teller = home.create();
                        AccountData data = new AccountData();
                        data.setID("0");
                        data.setBalance(100);
                        data.setOwner("test");
                        teller.makeAccount(data);
                        teller.remove();
                }catch(Exception e){
                        e.printStackTrace();
                }
        }
}

_________________________________________________________________
Ãâ·ÑÏÂÔØ MSN Explorer£ºhttp://explorer.msn.com/lccn/intl.asp¡£


_______________________________________________
Xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user

Reply via email to