cancel
Showing results for 
Search instead for 
Did you mean: 

Module Processor not working

Former Member
0 Kudos

Hi All,

I am working with on creating a module processor for the sender adapter. The code is simple and I am pretty sure it works. Its barely outputs the Module Processor object that’s created within the java code.

I am having problem getting the module to work.

I have a module '<b>CallSapAdapter</b>' (not localejbs/CallSapAdapter) predefined in my sender adapter. I have create my Java class <b>CreateData</b> in a package called Sample. I then created a EAR & deployed it using SDM. Then on, I then added this module ('<b>CreateData</b>') in the modules tab above the 'CallSapAdapter'. Chose the type as 'Local Enterprise Bean'.

I am unable to get the file deleted (In the adapter I have configured the processing mode as delete). Even I cant see the communication channel log for the specific adapter as I see the following error message

Application error occurred during request processing.

Error [javax.servlet.ServletException: null], with root cause [java.lang.reflect.InvocationTargetException: null].

Kindly let me know where am I going wrong. Is it in specifying the module name as 'CreateData'??

Regards

Keerti

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Keerti,

HEre is a simple example of module with all the steps. Please can you check?

https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/3bdc14e1-0901-0010-b5a9-a01...

Regards

vijaya

Former Member
0 Kudos

Thanks,

Tried following the details in the link. The same result. .

Former Member
0 Kudos

Hi All,

I was referring to quite many whitepapers on module processing. I was a bit confused when I read about the way the modules were actually specified in the adapter details.

I found the following varients:

1. localejbs/<jndi-name>

2. localejbs/sap.com/<jndi-name>

3. localejbs/sap.com/<package-name>/<jndi-name>

4. <jndi-name>

5. <package-name>/<jndi-name>

I am not sure, which one of them is right.

Also, in my case I found that the inbuilt module look like this:

CallSapAdapter (not localejbs/CallSapAdapter)!

Kindly suggest.

Regard,

Keerti

former_member91687
Active Contributor
0 Kudos

Hi Keerti,

localejbs/<jndi-name> should work if you have used the default package when creating the EJB. You can mail me if you require the doc on module development. Also make sure you call your module before the CallSapAdapter module.

Cheers,

Chandra

stefan_grube
Active Contributor
0 Kudos

> I found the following varients:

> 1. localejbs/<jndi-name>

> 2. localejbs/sap.com/<jndi-name>

> 3. localejbs/sap.com/<package-name>/<jndi-name>

> 4. <jndi-name>

> 5. <package-name>/<jndi-name>

When you use NWDI and do not specify the JNDI name explicitly, then the JNDI name is taken as:

sap.com/<Project-Name>/<EJB-Name>

Up to Sp16 you have to use version 1), starting with SP17 you can use 4)

Regards

Stefan

Answers (3)

Answers (3)

stefan_grube
Active Contributor
0 Kudos

Check your EAR file with Winzip, if there are any libraries included. Delete thm, if this is the case.

Regards

Stefan

Former Member
0 Kudos

Thanks Stefan,

You were right on the SP17 thing.

I tried deleting all the libraries (.jar files) except the EJB jar and tried deploying it using SDM. I get the following error:

-


Aborted: development component 'com.FileModule'/'sap.com'/'localhost'/'2006.08.14.10.30.13':

Caught exception during application deployment from SAP J2EE Engine's deploy service:

java.rmi.RemoteException: Cannot deploy application sap.com/com.FileModule.. Reason: Exception during generation of components of application sap.com/com.FileModule in container EJBContainer.; nested exception is: com.sap.engine.services.deploy.exceptions.ServerDeploymentException: Exception during generation of components of application sap.com/com.FileModule in container EJBContainer.

(message ID: com.sap.sdm.serverext.servertype.inqmy.extern.EngineApplOnlineDeployerImpl.performAction(DeploymentActionTypes).REMEXC)

-


Also, does removing the libraries from the EAR have implications other than the size of the EAR?

Kindly help.

Regards,

Keerti

stefan_grube
Active Contributor
0 Kudos

Did you set the references to libraries and services in the application-j2ee-engine.xml correctly?

Compare it:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application-j2ee-engine SYSTEM "application-j2ee-engine.dtd">
<application-j2ee-engine>
	<reference 
		reference-type="hard">
		<reference-target 
			provider-name="sap.com" 
			target-type="library">com.sap.aii.af.lib</reference-target>
	</reference>
	<reference 
		reference-type="hard">
		<reference-target 
			provider-name="sap.com" 
			target-type="service">com.sap.aii.adapter.xi.svc</reference-target>
	</reference>
	<reference 
		reference-type="hard">
		<reference-target 
			provider-name="sap.com" 
			target-type="service">com.sap.aii.af.svc</reference-target>
	</reference>
	<reference 
		reference-type="hard">
		<reference-target 
			provider-name="sap.com" 
			target-type="service">com.sap.aii.af.cpa.svc</reference-target>
	</reference>
	<fail-over-enable 
		mode="disable"/>
</application-j2ee-engine>

> Also, does removing the libraries from the EAR have

> implications other than the size of the EAR?

Yes

Former Member
0 Kudos

Hi Stefan,

I have the libraries and services rightly placed in the application-j2ee-engine.xml. Still I face the problem. If I keep the libraries I have no problem deploying the SDM. The moment I delete them from the EAR file, I get the deployment error.

Regards,

Keerti

stefan_grube
Active Contributor
0 Kudos

Send me your EAR file (without the libs) and the Java source code, so I could look into the problem: stefan dot grube at sap dot com.

Which XI version and which SP do you use?

Regards

Stefan

Former Member
0 Kudos

Hi Stefan,

Have mailed you the source code.

Using XI V3.0.

make.rel 30_REL

SP-Number 17

jdk.version 1.3.1

Regards,

Keerti

stefan_grube
Active Contributor
0 Kudos

Hi Keerti,

Now I got the point:

You have added several libraries to your project additionally to the module development API.

Now you have following options:

1. You leave your additional libs inside the EAR and remove only the libs of the module development API (all libs starting with aii_)

2. You remove all your libs from the EAR. Instead you create a library project in the development studio where you put your library to. You deploy this library project EAR first. In your adapter module project you add a reference to your library project.

3. You put your libs into the aii_af_jmsproviderlib.sda You add a reference to library com.sap.aii.af.jmsproviderlib in your project.

Let me know, which solution works for you.

Regards

Stefan

Former Member
0 Kudos
former_member91687
Active Contributor
0 Kudos

Hi Keerthi,

You have to use the <b>JNDI name</b> to call the module, not the java class name which you have specified, i.e <b>localejbs/JNDIname</b>.

Regards,

Chandra