Re: Websphere 6 and WSIF, WSIFDynamicProvider_Physicalrep problem

[email protected] Tue, 31 Jan 2006 12:28:40 -0500
Newsgroups gmane.comp.apache.webservices.wsif.user
Message-ID <OFCF941FC6.769DEF43-ON05257107.0060026E-05257107.00600273@assist.com.co>
Hi All,

I use WebSphere Application Server 5.1, but I guess I had the same problem.

WAS use WSIF but IBM has a different version I guess they modified. For example I did not find the Axis provider instead they use the soap provider by default. Any way I tested with IBM jars ant it works for me but I had problems with arrays so I added apache wsif jar to my application and try to change the class loader policy so the application class loader was first than parent class loader but it kept taking the IBM version. So finally what I did was to replace the jar file at install_dir/lib/wsif.jar I had some problems with wsdl4j but now it is working. I'm testing the class loader to try to make it woks because replace that library may result in ??..

Maybe in version 6.0 the class loader solution may work straight forward

I hope this helps

___________________________________
Juan David Pérez
Assist

-----Aleksander Slominski <[email protected]> wrote: -----

To: [email protected]
From: Aleksander Slominski <[email protected]>
Date: 01/31/2006 11:51AM
Subject: Re: Websphere 6 and WSIF, WSIFDynamicProvider_Physicalrep problem

Xavier Delafosse wrote:

Hello,

I'm using the DynamicInvoker with WSIF on WebSphere 6.

When I start the function, i got the following exception

[30/01/06 15:52:00:172 CET] 00000317 SystemErr R java.lang.NoClassDefFoundError: org/apache/wsif/base/WSIFServiceImpl
at com.ibm.wsif.providers.physicalrep.WSIFDynamicProvider_Physicalrep .<init>(WSIFDynamicProvider_Physicalrep.java:32)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java (Compiled Code))
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java(Compiled Code))
at java.lang.reflect.Constructor.newInstance( Constructor.java(Compiled Code))
at java.lang.Class.newInstance3(Class.java(Compiled Code))
at java.lang.Class.newInstance(Class.java(Compiled Code))
at org.apache.wsif.util.WSIFPluggableProviders.findPlugableProviders (Unknown Source)
at org.apache.wsif.util.WSIFPluggableProviders.access$0 (Unknown Source)
at org.apache.wsif.util.WSIFPluggableProviders$1.run(Unknown Source)
at java.security.AccessController.doPrivileged1(Native Method)
at java.security.AccessController.doPrivileged(AccessController.java (Compiled Code))
at org.apache.wsif.util.WSIFPluggableProviders.getAllDynamicWSIFProviders(Unknown Source)
at org.apache.wsif.util.WSIFPluggableProviders.getSupportingProviders (Unknown Source)
at org.apache.wsif.util.WSIFPluggableProviders.getProvider (Unknown Source)
at org.apache.wsif.util.WSIFUtils.initializeProviders(Unknown Source)
at org.apache.wsif.util.WSIFUtils.readWSDL(Unknown Source)

I'm disappointed for some reasons:

- It worked on Tomcat 5.0.28
- The exception says it couldn't find WSIFServiceImpl even though the specific wsif.jar is int the common lib directory.

Does someone may help me? It's a very important project.

i do not use Websphere6 but it looks like classloader problem WSIF (WSIFPluggableProviders.findPlugableProviders) tries to load com.ibm.wsif.providers.physicalrep.WSIFDynamicProvider_Physicalrep (possibly in other classloader) that references back WSIF (org/apache/wsif/base/WSIFServiceImpl) thatmay not accessible in that classloader ...try to change location of WSIF and whatever has com.ibm.wsif.providers.physicalrep to be as close as possible

HTH

alek

--
The best way to predict the future is to invent it - Alan Kay