Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

PI 7.1 Custom module deployment

Hello,

I am struggling to implement and deploy a custom module. I have found some comprehensive documents on SCN but can't see what I might be doing wrong.

I have written a module using NWDS 7.3 and have deployed to our PI 7.1 server. From Netweaver Administrator I can see the JNDI reference :

Reference Class Name:
Type: clientAppName
Content: sap.com/DMISC_Module_EAR
Type: interfaceType
Content: remote
Type: home
Content: com.sap.aii.af.lib.mp.module.ModuleHome
Type: ejb-link
Content: DMISCJournalFormat
Type: jndi-name
Content: DMISCJournalFormatHeader
Type: remote
Content: com.sap.aii.af.lib.mp.module.ModuleRemote

I have configured a Communication Channel to use the new module, but it then fails with a NamingException :

Module Exception 'com.sap.aii.af.lib.mp.processor.ModuleProcessorException: Error during processing local bean: localejbs/DMISCJournalFormatHeader' found, cause: com.sap.engine.services.jndi.persistent.exceptions.NamingException: Exception during lookup operation of object with name localejbs/DMISCJournalFormatHeader, cannot resolve object reference. [Root exception is javax.naming.NamingException: Error occurs while the EJB Object Factory trying to resolve JNDI reference Reference Class Name:
Type: clientAppName
Content: sap.com/DMISC_Module_EAR
Type: interfaceType
Content: local
Type: ejb-link
Content: DMISCJournalFormat
Type: jndi-name
Content: DMISCJournalFormatHeader
Type: local-home
Content: com.sap.aii.af.lib.mp.module.ModuleLocalHome
Type: local
Content: com.sap.aii.af.lib.mp.module.ModuleLocal

javax.ejb.EJBException: nested exception is: java.rmi.RemoteException: [ERROR CODE DPL.DS.6125] Error occurred while starting application locally and wait.; nested exception is:

com.sap.engine.services.deploy.exceptions.ServerDeploymentException: [ERROR CODE DPL.DS.5029] Exception in operation startApp with application sap.com/DMISC_Module_EAR.

I notice that PI is using a JNDI name with a 'localejbs/' prefix. I also notice that it appears to be attempting to access the EJB remotely, and the JNDI details in the stack trace don't include the remote configuration which is in the ejb-jar.xml..

My ejb-jar.xml is as follows :

        <session>

            <icon/>

            <ejb-name>DMISCJournalFormat</ejb-name>

            <home>com.sap.aii.af.lib.mp.module.ModuleHome</home>

            <remote>com.sap.aii.af.lib.mp.module.ModuleRemote</remote>

            <local-home>com.sap.aii.af.lib.mp.module.ModuleLocalHome</local-home>

            <local>com.sap.aii.af.lib.mp.module.ModuleLocal</local>

            <ejb-class>com.sap.adaptermodule.DMISCJournalFormatBean</ejb-class>

            <session-type>Stateless</session-type>

            <transaction-type>Container</transaction-type>

        </session>

It looks to me like the JNDI lookup is not returning the Java class to be used. Have I missed something?

Finally, I have used a SAP package 'com.sap.adaptermodule' for my EJB. This was done in the example I was following but is this correct. or should I use a custom package?



Kind regards

Steve

Helpful Answer

by
Not what you were looking for? View more on this topic or Ask a question