Hi Wolfgang, Thanks much, I'll have a look at your code.
On your question: Yes, all non-annotated parameters of a @WebMethod-annotated method should automatically be included in the object model. The @WebParam is mainly used to override default settings. [This is currently a bug in the object model; see Jira.] Also keep in mind that @WebMethod in the service endpoint interface is the one that should be used (if an endpoint interface exists) instead of @WebMethod in the implementation bean. If there is a service endpoint interface, all annotations in the implementation bean (besides the @WebService) should be ignored. Hope this helps, -michael -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Friday, October 08, 2004 10:48 AM To: Beehive Developers Cc: Jonathan Colwell; Michael Merz Subject: Re: @SecurityIdentity, @SecurityRoles Hi Michael, I've finished implementing the endpoint interface support for WsmReflectionAnnotationProcessor. As you said, only java class name is allowed for WsmReflectionAnnotationProcessor to use in @WebService.endpointInterface annotation. > Also, keep in mind that all methods defined in a service endpoint > interface are automatically considered @WebMethods -- whether they are > annotated or not. I've added the implementation of this for both WsmReflectionAnnotationProcessor and WsmAnnotationProcessor. I was supposed to implement this before, but totally forgot. :( sorry... anyways, it's done now. I got a new question. If the service implementation bean or the service endpoint interface has a method( annotated with @WebMethod ) having a parameter which is NOT annotated with @WebParam like below, ------------------------- @WebMethod public int addPersion(@WebParam String name, int age); ------------------------- (NOTICE: the parameter age is not annotated with @WebParam.) Will the parameter age be exposed ? In the other words, should the parameter age be included in an object model ? Or the existence of a non-annotated parameter of a method annotated with @WebMethod is illegal to JSR-181 ? JSR-181 doesn't state about this as far as I read it... I'm sorry to ask you several times and took a long time to implement such a little stuff... Let me explain the attachment. -WebServiceMETHODMetadata.java It used to throw an exception if a @WebMethod annotation is not used on a method declaration and the method is passed to the constructor of this class. Modified this class not to throw an exception even though the annotation is not found since the methods of the service endpoint interface are not promised to be annotated with @WebMethod, but must be included in an object model. NOTE: This modification causes failure of org.apache.beehive.wsm.jsr181.model.Jsr181ModelTest test case. -Cheetorama.java Added a "public int dropMoney(int amount);" method. This class is not annotated with any annotations. -BarTestCase.java Added a test case that tests the dropMoney method of the Cheetorama class which is a service endpoint interface is included in an object model. -WsmAnnotationProcessor.java Modified this class to satisfy that all methods defined in a service endpoint interface are automatically considered @WebMethods. -WsmReflectionAnnotationProcessor.java Modified this class to support the endpoint interface. Add two classes below. -WsmAnnotationProcessorEndpointInterfaceTest.java This class is a test case for checking the endpoint interface created by reflection. -WebServiceMetadataViewer.java This class is just a utility that displays the object model tree for debug. NOTE: org.apache.beehive.wsm.jsr181.model.Jsr181ModelTest will fail. This is because of the modification to WebServiceMETHODMetadata.java. Thanks in advance. Wolfgang
