cancel
Showing results for 
Search instead for 
Did you mean: 

Porblem with Java Proxy EJB deploy to XI through NWDI

Former Member
0 Kudos

Situation - I have a web app in Server A (WAS7), it needs to call a java proxy in Server B (XI WAS7). I want to deploy the Java Proxy EJB into the landscape using NWDI. To do this I created an external library with public parts that contains the required jars to build the java proxies. These are aii_msg_runtime.jar, aii_proxy_xirt.jar, and aii_utilxi_misc.jar. The EJB module used part is mapped to the library's public parts. Everything builds fine and the deployment was successful into XI.

Problem - When my web application makes a remote call to the java proxy in XI, NoClassDefFoundError occurs. The first jar that it complain about was aii_util_cimaccess.jar. I included this jar into the library and redeployed. Called the java proxy again, and got another NoClassDefFoundError exception. Now it wanted the lrcclient.jar. I included that into the library and redeployed. Now it wanted another jar. The issue is that all these jars are in the XI server and I shouldn't have to add them as part of the library. Is there a SCA out there that contains these jars, or did I just forget to mark a checkbox somewhere when creating the EJB so that it would reference the XI jars without me adding them to the library?

Note - This architecture works fine without having to add the jars above, if I deploy the Java Proxy EJB from my workspace to XI through the SDM process available through NWDS. This only breaks when I deploy through NWDI.

Thank you in advance.

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Thank you Sergey. I was hoping there was an easier answer, because I wanted to avoid adding all the required libraries into the DC, but in this case I have no choice. I will add them and let you know how it goes.

Former Member
0 Kudos

Chilli, thank you for your reply, but I don't think you understand my issue. I don't need guides about how to use NWDS. As I have stated already, this architecture works fine when I deploy to XI through NWDS (Netweaver Developer Studio). The problem arises when I depploy to XI through NWDI (Netweaver Development Infrastructure). In NWDI, the only way to reference jars is through public parts. In my case I have an external library module that has the required jars needed for the build with compilation and assembly public parts that can be used by other modules, such as web and ejb. In order for a Java Proxy EJB to work it requires the Java Proxy Adapter Framework, in this case we have installed it on the XI server. The Adapter Framework contains jars that the java proxy needs to connect to XI and SAP. These jars cannot be referenced unless they are added to the external library describe above.

My question is why does NWDI need to include them in the library when it already exist on the server that the EJB is being deploy to?

When the java proxy is deployed through the NWDS SDM, it doesn't need reference to these jars.

Please re-read my previous post above for clearification.

Thank you in adavance.

Former Member
0 Kudos

I din't hear about SCA for XI.

The differences between manual package/deploy (SDM) and NWDI is that in the first case you have to specify references on required library manually in NWDS.

For example:

 
<reference reference-type="weak">
        <reference-target provider-name="sap.com" 
           target-type="library">com.sap.aii.proxy.xiruntime</reference-target>
    </reference>

Each library contains one or several libraries. When you work with NWDI you specify this refences through DC dependency. In this case you need all required libraries as DC.