I did the conconfigurations you mentioned,, and now its working fine :)
,.,,,
with no CXF libs at all.. anyway...

Thanks a lot for the help..


On 10/17/07, shaminda perera <[EMAIL PROTECTED]> wrote:
>
> Thanks andrew for the detailed mail.
>
> This is what i am doing currently:
> I created a Web service client side related classes using the WSDL2Java
> tool provided by CXF, and then put just put these classes in a suitable
> package in the main web application. I didnt put any of the CXF provided
> jars/libraries in to the web application.
> Now when calling the web service i am getting this error ,,, that we are
> talking about.
>
> Just thinking,,, the jdk's rt.jar also has some webservices/xml related
> classes,,, is my web service client using any of those as well? ,, or is it
> picking the libs from JBoss only..
>
> I havent placed any CXF libraries in $JBOSS_HOME/lib ,, actually i havent
> placed them anywhere in Jboss or anywhere in my web application.
>
> I will try to do what you are mentioning in this mail, and get back to
> you..
>
> On 10/17/07, Andrew Dinn <[EMAIL PROTECTED]> wrote:
> >
> > shaminda perera wrote:
> > > Thanks Andrew,,
> > > But i didnt bundle any of the CXF jars in my WAR file to start
> > with,,,,
> >
> > Ok, we'll come back to that in a second. Irrespective of this when using
> > CXF within a JBoss server you are still going to face problems with the
> > fact that CXF and JBoss employ competing versions of some libraries.
> > Depending upon where you have placed the CXF libs you may interpose the
> > CXF versions before or after the JBoss ones in the classloader lookup
> > path. If you do it one way you may upset JBoss. If you do it another way
> >
> > you may upset CXF. Welcome to classloader hell :-)
> >
> > Given that you are getting the symptoms you described it looks as if the
> > classloader is finding the CXF libraries first but is still being
> > snookered by the JBoss resource mappings. Have you placed the CXF
> > libraries in $JBOSS_HOME/lib? I believe this is the first place the
> > classloader looks for an implementation class (after looking at a war
> > /WEB-INF/lib, that is).
> >
> > Whatever you have done, the reason I claim this is that i) you are
> > getting incompatible super and subclasses and ii) the super class in
> > question does not implement getProperty. So, the super class must be
> > from the CXF jar. This means the incompatible subclass must be from the
> > JBoss implementation jar. Although you have enabled prior access to the
> > CXF saaj jar you have not disabled the resource mappings which load the
> > JBoss saaj implementation jar. That is because none of the CXF libs
> > contain a mapping file so none of them overrides the one provided by
> > JBoss.
> >
> > Another problem which occurs when you install the CXF libs this way is
> > that legitimate JBoss apps which do not want to use CXF will be getting
> > CXF versions of some classes. This is probably ok -- the latest (2.0+)
> > CXF libs are likely to be later than the latest (4.2.1+) release JBoss
> > libs -- but it is not the best way to organize things and, although it
> > may work, there is no guarantee that there is no incompatibility here.
> >
> > Now, conversely, if you were to place the CXF libs in the deploy
> > directory or the server/<servername>/lib directory they would get loaded
> >
> > after the ones in $JBOSS_HOME/lib. This way round you would run the
> > opposite risk that CXF code would get the wrong version of its libs
> > since they would be preceded by alternatives found first in the JBoss
> > lib directory. This is likely to be a worse problem since CXF needs some
> >
> > later versions of APIs than JBoss. Also, I think you would clobber some
> > of the libs of the same name in the JBoss directory, i.e. you would
> > still enforce a partial upgrade of the libs used by JBoss.
> >
> > So, if your app is using CXF then it is probably best to ensure that it
> > gets the libraries CXF wants it to have by bundling them in a .war file
> > along with your app code. This also ensures that other apps do *not* get
> > CXF libraries that they do not want. Of course, it also means a copy of
> > the CXF libraries in every .war file . . .
> >
> > If you want to persist in placing the CXF apps in the $JBOSS_HOME/lib
> > directory rather than scoping the app libs inside a .war file then you
> > will have to ensure that suitable resources are defined to map the
> > MessageFactory and other classes to the appropriate implementations.
> > i.e. you cannot just install the libs you also have to ensure that the
> > factory mappings provided by the jboss implementation libs are correctly
> >
> > remapped.
> >
> > regards,
> >
> >
> > Andrew Dinn
> > -----------
> >
>
>

Reply via email to