You shouldn't need to duplicate the annotation on the implementation class (if you did, that would be a CXF bug) -- it inherits from the interface it implements. Does this problem actually go away if you duplicate the @WebService annotation on the implementation class?

Also, do Request1 and Request2 have different operation signatures? If they're the same that could be due to another problem[1] why Request1 is getting mapped to Operation #2.

Glen

[1] http://www.ws-i.org/profiles/basicprofile-1.1-2004-08-24.html#Operation_Signatures

On 10.02.2011 06:42, Fansi wrote:
Hi people,

I would like to know the impact of the absence of @Webservice
annotation in the implementation class of the webservice, given that
the interface is properly annotated.

While inspecting a service developped using CXF 2.2.3 I notice that
the implementation class hos no annotation, even the @webservice
annotation. The service is however exposed, but has abnormal behavior
such as returning the expected result to request 1 (which target
operation 1)  to request 2 which target operation 2 and vice versa.

If I am right,  CXF uses a MessageContext variable that is ThreadLocal
to allow safe concurrent access to web services. Is the absence of
@Webservice annotation the root cause of this malfunction? Of course,
I have already inserted that annotation, but given that the problem
does not occur everytime I want to be sure that I am on the right way
to solve it, thus this message.

Thank you in advance for your reply and for any hint you may give.

Cheers,

Maj


--
Glen Mazza
Software Engineer, Talend (http://www.talend.com)
blog: http://www.jroller.com/gmazza


Reply via email to