PS: Since JSR-181 also states that "(...) the service implementation bean should not include any JSR-181 annotations other than @WebService.endpointInterface and @WebService.serviceName [when an endpoint interface is used]" (p. 11), I would like to suggest the processor generate a warning in case there are any annotations such as @WebMethod in the implementation bean and the bean refers to an endpoint interface.
Cheers, -michael -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Tuesday, October 12, 2004 7:33 AM To: Beehive Developers Cc: Jonathan Colwell; Michael Merz Subject: Re: @SecurityIdentity, @SecurityRoles Hi Michael, > Does that code check whether the implementation bean implements all the > methods specified in the endpointInterface, yet? Also, are there any > test cases to check whether that's those check work? That would be cool > to have, too -- just in case you get bored ;) Thanks much. I'd been thinking how to implement this mechanism because some parts are somehow tricky. If an endpoint interface has a method "public int dropMoney(int amount)", it should be exposed in its object model even though the method is not annotated with @WebMethod. If the corresponding service implementation bean doesn't have(implement) the method, it must be an error, right ? How about if the corresponding service implementation bean has(implements) the method, but the method in the service implementation is not annotated with @WebMethod ?? The method should be exposed in its object model ? But the section 5.2.1 in page 14 of JSR-181 says "A WebMethod annotation is required for each method that is published by the Web Service." I took this statement as Don't annotate a method with a WebMethod annotation, if you don't want the method to be published. So it doesn't make sence to me. What do you think ? Anyways, I've just finished implementing this mechanism and test cases for it. I attach a patch(wsm_diff.txt) and test cases(new_files.tar.gz). I implemented as... If an endpoint interface has a method which is not annotated with @WebMethod, the correspoding service implementation bean must have the same method ( same signature) and the method must be annotated with @WebMethod. Otherwise, it will throw an exception. Thanks in advance. Wolfgang
