Ciao a tutti esperti...

Salve a tutti. Premetto che adesso sto conoscendo gli EJB.
Ho preso un esempio per farlo girare sotto SAP Enterprise Portal.

codice:
codice:Adder.java

package adder;

import java.rmi.RemoteException;
import javax.ejb.EJBLocalObject;

public interface Adder extends EJBLocalObject {
   public int add(int a, int b) throws RemoteException;   
}




AdderBean.java

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


package adder;
import javax.ejb.*;

public class AdderBean implements SessionBean {
    
   
    
    public void setSessionContext(SessionContext aContext) {
        
    }
    
  
    public void ejbActivate() {
        
    }
    
    
    public void ejbPassivate() {
        
    }
    
  
    public void ejbRemove() {
        
    }
    
    
    
   public int add(int a, int b) {
       System.out.println("AdderBean esegue");
       return (a+b);
   }
    
    public void ejbCreate() {
    
    }
    
}

AdderHome.java


package adder;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.EJBLocalHome;

public interface AdderHome extends EJBLocalHome {
    
    Adder create()  throws RemoteException,CreateException;

}


ejb-jar.xml

<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar>
    <description>EJB JAR description</description>
    <display-name>EJB JAR</display-name>
    <enterprise-beans>
        <session>
            <ejb-name>AdderBean</ejb-name>
            <home>adder.AdderHome</home>
            <remote>adder.Adder</remote>
            <local-home>adder.AdderLocalHome</local-home>
            <local>adder.AdderLocal</local>
            <ejb-class>adder.AdderBean</ejb-class>
            <session-type>Stateless</session-type>
            <transaction-type>Bean</transaction-type>
        </session>
    </enterprise-beans>
</ejb-jar>


ejb-j2ee-engine.xml 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-j2ee-engine SYSTEM "ejb-j2ee-engine.dtd">
<ejb-j2ee-engine>
	<enterprise-beans>
		<enterprise-bean>
			<ejb-name>AdderBean</ejb-name>
			<session-props/>
		</enterprise-bean>
	</enterprise-beans>
</ejb-j2ee-engine>




Adesso ho creato Adder.jar.Fino qui il jar è creato correttamente
Poi nell'Enterprise Portal faccio riferimento a questo jar in più aggiungo una funzione che permette di chiamare l'ejb cioè

codice:
import java.util.Properties;
import javax.naming.InitialContext;
import adder.*;

import com.sapportals.portal.prt.component.AbstractPortalComponent;
import com.sapportals.portal.prt.component.IPortalComponentRequest;
import com.sapportals.portal.prt.component.IPortalComponentResponse;

public class UserInfoComponent extends AbstractPortalComponent {
	public void doContent(
		IPortalComponentRequest request,
		IPortalComponentResponse response) {
		try {
			// ottiene riferimento a JNDI
			//InitialContext ctx = new InitialContext(prop);
			InitialContext ctx = new InitialContext();
			// ottiene riferimento alla home interface
			Object ref = ctx.lookup("AdderBean");
			// casting
			AdderHome home = (AdderHome) ref;
			// crea il bean
			Adder adder = home.create();
			// invoca il metodo del bean
			response.write("3 + 5 = " + adder.add(3, 5));
		} 
		catch (Exception e) { 
			response.write("errore = " + e.getMessage()); 
		}

	}
}
poi creo il PAR e faccio il deploy e mi da questo errore:

errore = Object not found in lookup of AdderBean.

Riuscite ad aiutarmi a capire questo errore????Cosa sbaglio cioè non riesco a capire perchè non chiama AdderBean.

Ciauz