cancel
Showing results for 
Search instead for 
Did you mean: 

ClassNotFoundException in Java Proxy Sender

Former Member
0 Kudos
76

Hi,

I am trying Java sender Proxy scenarion on XI 3.0 SP10.

I have generated proxies for the outbound interface and imported in

NDS. Correspondingly, Bean is set up and one more bean is created to look up

java proxy bean which is exposed as web service for testing purposes.

I have deployed this EAR (having two ejbs) in my local WAS SP 10. In XI, I have configured

scenario using XI sender adapter.

I have copied following Jars from XI server and added in external jars.

aii_msg_runtime.jar

aii_proxy_xirt.jar

aii_utilxi_misc.jar

ejb20.jar

exception.jar

jARM.jar

sapj2eeclient.jar

sapxmltoolkit.jar

aii_af_ms_api.jar

Following is the code:

Mail_Type reqtype = new Mail_Type();

reqtype.setFrom(From);

reqtype.setTo(To);

reqtype.setSubject(Subject);

reqtype.setContent(Message);

try {

SCEPWMSIMailFileOutbound_PortTypeHome queryHome = null;

SCEPWMSIMailFileOutbound_PortTypeRemote queryRemote = null;

Context ctx = null;

Object ref = null;

Properties p = new Properties();

p.put(Context.PROVIDER_URL, "172.25.5.172:50004");

p.put(Context.INITIAL_CONTEXT_FACTORY,"com.sap.engine.services.jndi.InitialContextFactoryImpl");

p.put(Context.SECURITY_PRINCIPAL, "Administrator");

p.put(Context.SECURITY_CREDENTIALS, "New#pass");

ctx = new InitialContext(p);

queryHome =

(SCEPWMSIMailFileOutbound_PortTypeHome) ctx.lookup("sap.com/Java_ProxyEAR/SCEPWMSIMailFileOutbound_PortTypeBean");

queryRemote = queryHome.create();

MessageSpecifier msg = queryRemote.$messageSpecifier();

msg.setSenderService("Java_Proxy_BS_AAJ");

queryRemote.$messageSpecifier(msg);

queryRemote.sCEPWMSIMailFileOutbound(reqtype);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

return e.getMessage();

}

Now I am getting classNotFoundException in last line of the code...

java.lang.NoClassDefFoundError: com/sap/aii/utilxi/sld/XIEntityInSld

When I checked the corresponding jar i.e. aii_utilxi_misc.jar ....it doesnt have XIEntityInSld class..

Plz help!

Abhijeet Jangam

Accepted Solutions (1)

Accepted Solutions (1)

stefan_grube
Active Contributor
0 Kudos

It is very difficult to identify all the libraries you need for simulating a complete Java Proxy runtime in a J2SE test environment. Therefore you should not look for every class which is missing to note the correct error message, instead you should guess the kind of error.

As the missing class has anything to do with SLD, check your SLD entries. Is there a Technical System WebAS Java pointing to your local installation? Is there a correspondent Business System WebAS Java?

Hope that helps

Stefan

Former Member
0 Kudos

thnx Stefan...

Instead of setting the libraries on local j2ee..i directly deployed the application on XI..and it worked fine..but i knw its not the solution...

You told to create business system in WebAS Java...I already have created a business system for my local WAS in XI..is it the same thing you are saying?? or you want me to create some business system in my local WAS also???

thnx again!

Abhijeet janam

stefan_grube
Active Contributor
0 Kudos

Hi Abhijeet janam,

I am a liitle bit confused.

1. You have a local WebAS. Is it a plain WebAS or do you have XI components installed on it? The Java Proxy won't run on a plain WebAS. You need to install an adapter framework.

2. In the SLD you have to define the system where you want to run the Java Proxies. A Web AS consists of two parts. A Web AS ABAP and a Web AS Java. When you want to run the Java Proxies on your local installation then you need an entry in the SLD for this system.

Hope that helps,

Stefan

Former Member
0 Kudos

Hey,

I deployed the proxies on WAS where Adapter Framework is configured.

and the scenario worked perfectly fine!!!

But we will have to search for the way to emulate proxy runtime in plain java systems..anyway..it worked!!

Thanx for that!

Abhijeet Jangam

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Abhijeet,

There are some prerequisites for java proxies to be deployed on local WAS other than XI server.

  • On the WAS SAP J2EE engine, you need to install Java Proxy Runtime (JPR) along with Messaging System(MS).

  • When you try it on XI server, it works fine, since XI installation will also include JPR and MS installations.

Hope this helps,

Regards,

Uma

Message was edited by: Uma Maheswari

Former Member
0 Kudos

hi

include this jar file aii_util_cimaccess.jar.

this one has that class..