You never said you were using beta software! Looks like a classloader issue to me, and the
classloader in 5.0 beta4 is very broke.
Using 5.0 beta 4, if I create the web service, then generate the WSDL, and then use
wsconsume to generate the client stubs, there is always a stub whose name matches the name
of the class that implements the web service. Then, when my servlet attempts to create the
web service connection, I get the same "xxx is not an interface" exception.
Apparently, web services is using the wrong classloader repository to look up the class -
it is looking in the more global classloader repository which contains the web service
implementation class, which of course, is not an interface. It should, instead, be using
the classloader repository for the war file, in which case it will find the interface for
which it is looking.
Interestingly enough, if I develop my web service using a top-down approach (wsdl first,
then generate stubs, and implement based on those stubs) it works. That is because both
the global classloader repository and the war classloader repository agree that the class
in question is really an interface.
Let me try the top-down approach in 4.2.2, back in a second. It works. Hmm, let me try the
bottom-up approach in 4.2.2. That works also. Moral of the story - when things don't
work, if you are using a beta of the next version, fall back to a qualified, released
version and try it there - it just might work.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4134988#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...