I was able to workaround this problem by adding a ReqestWrapper and ResponseWrapper
annotations for the methods in WSVersionIF.
I used the message skeletons generated by the wsprovide tool and used these classes in the
wrapper annotations.
My understanding is: For every SEI, jbossws generates operation message class skeletons in
the "<SEI package>.jaxws" package and automatically adds annotations with
the targetNamespace pointing to the SEI's targetNamespace. This approach fails when
the common interface is used or inherited by multiple SEIs.
In my case, when jbossws loads the first webservice, it tries to generate the operation
message class skeletons for the common interface methods in the common interface package
suffixed with ".jaxws" ( eg., com.ws.common.jaxws) and fixes the targetNamespace
as mentioned in the first SEI. For subsequent webservices, it just checks whether such a
message class(of common interface) already exists and tries to reuse the same message
class and hence the targetNamespace of the first webservice is used for the common
operations across other webservices.
So I tried manually creating a operation message class for the common interface and
explicitly mentioned that thro the RequestWrapper and ResponseWrapper annotations and
found things are working as required.
Pls let me know whether this is a right solution and also pls confirm whether it voilates
any wsdl/jaxws specs.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4153911#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...