cancel
Showing results for 
Search instead for 
Did you mean: 

Class Loader Problem, Deployed class is not visible

Former Member
0 Kudos

Hi,

after successful deployment of our application on WebAS 6.40 SP 15, there is the following problem while connecting to the server via P4. An IllegalArgumentException occurs.

[code]

interface com.myCompany.global.ClassToBeLoaded is not visible from class loader

[/code]

[code]

Thread [main] (Suspended (exception IllegalArgumentException))

Proxy.getProxyClass(ClassLoader, Class[]) line: 331

MarshalInputStream.resolveProxyClass(String[]) line: 86

MarshalInputStream(ObjectInputStream).readProxyDesc(boolean) line: 1469

MarshalInputStream(ObjectInputStream).readClassDesc(boolean) line: 1432

MarshalInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1626

MarshalInputStream(ObjectInputStream).readObject0(boolean) line: 1274

MarshalInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 1845

MarshalInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1769

MarshalInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1646

MarshalInputStream(ObjectInputStream).readObject0(boolean) line: 1274

MarshalInputStream(ObjectInputStream).defaultReadFields(Object, ObjectStreamClass) line: 1845

MarshalInputStream(ObjectInputStream).readSerialData(Object, ObjectStreamClass) line: 1769

MarshalInputStream(ObjectInputStream).readOrdinaryObject(boolean) line: 1646

MarshalInputStream(ObjectInputStream).readObject0(boolean) line: 1274

MarshalInputStream(ObjectInputStream).readObject() line: 324

P4InvocationHandler.invokeInternal(Method, Object[]) line: 143

P4InvocationHandler(AbstractInvocationHandler).invoke(Object, Method, Object[]) line: 53

$Proxy2.execute(Request) line: not available

RmiProxy.executeProxy(Request) line: 285

RmiProxy(Proxy).execute(Request) line: 350

Session.execute(Request) line: 736

$Proxy5.logon(String, String, byte[]) line: not available

LogonProvider.logon() line: 94

Session.logon() line: 385

[/code]

I checked the Visual Administrators class loader view for the references registered with our application. It contains the reference to the jar containing the class to be loaded.

Any clues?

regards

Marcel

Accepted Solutions (0)

Answers (3)

Answers (3)

former_member184385
Active Participant
0 Kudos

Hi Marcel,

never worked with P4 .. though no addiotional suggestions in this direction.

But you could try the IIOP instead of the somehow exotic P4 protocol .. IIOP needs to be enabled in visaul admin, before using.

Regards

Gregor

Former Member
0 Kudos

Hi Gregor,

even with IIOP I had no luck. But anyway, thanks for your help.

Is there any SAP employee out there who might give me a hint on this one?

best regards

Marcel

Former Member
0 Kudos

Hi Marcel,

I was able to bring some developers to have a look at your issue. They suggested that you open an OSS message for the problem (the correct component would be BC-JAS-COR-RMT). Good thing about OSS also is that if it proves to be a problem on the Web AS side, you might also get a patch.

Regards,

Ivo

former_member184385
Active Participant
0 Kudos

Hi,

then the case is clear .. get the client jar of your j2ee app and include it to the classpath on the client.

How to get client jar:

- in visual admin select deploy service

- in the deployed components window select your app and click on the "Get Client Jar" button to download the jar

Regards

Gregor

Former Member
0 Kudos

Hi Gregor,

unfortunately, that did not do the trick. I added the client jar as proposed, but I still get the same exception. Any more ideas?

best regards

Marcel

former_member184385
Active Participant
0 Kudos

Hi Marcel,

the exception is risen, because, the WebService skeleton code can't find your bean classes needed to materialize your server call.

The lib, you mentioned is referenced by our app, but the WebService is also a lib, and due to the class loader hierarchy (up,references,local), your lib wont be considered during class resolution.

Remedy: make an all containing jar, having your WebService + the bean classes, the exception is complaining about. This should help.

Regards

Gregor

Former Member
0 Kudos

Hi Gregor,

thanks for the quick reply. Maybe there is a misunderstanding. We do not use Webservices, we simply try to call a service with a Java client via P4 on the Server.

The class which cannot be found is not a Bean, but a simply pojo. The application consists of multiple components, each provided in its on jar as well as an API jar available to the whole application. The EAR used for deployment consists of these and some 3rd party jars.

regards

Marcel