on 10-27-2010 12:31 PM
In the SAP NetWeaver Developer Studio, when I select the option "Deploy to J2EE engine" on my EAR file, I get the following error:
java.rmi.RemoteException: Cannot deploy application sap.com/LDAPManagerEAR..
Reason: Incorrect application sap.com/LDAPManagerEAR:
Bean EB_bindBean: Remote home interface com.upc.ldap.ejb.EB_bindHome must be a valid RMI-IIOP remote interface.
Bean EB_bindBean: the return type for a create<METHOD> method of the session bean local home interface must be the session bean local interface type. EJB specification 7.10.8.
Error in the remote interface com.upc.ldap.ejb.EB_bind of bean EB_bindBean: No corresponding business method in the bean class com.upc.ldap.ejb.EB_bindBean was found for method bindLDAP.
Error in the local interface com.upc.ldap.ejb.EB_bindLocal of bean EB_bindBean: No corresponding business method in the bean class was found for method bindLDAP.; nested exception is:
com.sap.engine.services.deploy.container.DeploymentException: <--Localization failed: ResourceBundle='com.sap.engine.services.deploy.DeployResourceBundle', ID='com.sap.engine.services.ejb.exceptions.deployment.EJBDeploymentException: Incorrect application sap.com/LDAPManagerEAR:
Anybody can help me ? Thanks
Thanks Alejandro,
but could you give more detailed explanation of this process ?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I?ve seen the code.
You need to synchronize the interfaces and the business method. For instance, on the interface you have declared:
public String bindLDAP(String username, String password)throws RemoteException;
And then you attempt to implement:
public String bindLDAP(String username, String password) throws NamingException
Therefore the error:
Error in the remote interface com.upc.ldap.ejb.EB_bind of bean EB_bindBean: No corresponding business method in the bean class com.upc.ldap.ejb.EB_bindBean was found for method bindLDAP.
Also, you must be consisten with local-remote-home interfaces. You've declared the EB_bindLocalHome as LocalHome, but don't use it as return parameter on the EB_bindHome interface. Try the following:
package com.upc.ldap.ejb;
import javax.ejb.EJBHome;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
public interface EB_bindHome extends EJBHome {
/**
* Create Method.
*/
public EB_bindLocalHome create() throws CreateException;
}
You might want to use an EJB generator as on SAP Developer Studio to automate all these tasks and avoid revisiting the code.
I hope it helps
Regards
Hello
The Remote and Home interfaces of the underlying EJB seem to be assymetrical with your actual business method implementation. You need to declare the method signature in at least the Remote interface and then the exact signature to be implemented on the POJO that implements it.
Depending of your EJB version, the method might need to be decorated with the suiting java annotations
Greetings
Alejandro
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
89 | |
10 | |
9 | |
9 | |
9 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.