[ http://jira.codehaus.org/browse/XFIRE-306?page=all ]
Dan Diephouse closed XFIRE-306:
-------------------------------
Resolution: Won't Fix
Per the JSR181 spec, you need to pass the implementation class because it
contains annotations like the @WebService.endpointInterface, which actually
point to the interface. Implementation classes also contain annotations likes
@SoapBinding which we need to read to control how the service is created.
So I'm marking this as Won't fix.
> AnnotationServiceFactory cannot process interface
> --------------------------------------------------
>
> Key: XFIRE-306
> URL: http://jira.codehaus.org/browse/XFIRE-306
> Project: XFire
> Type: Bug
> Components: Annotations
> Versions: 1.0
> Environment: jdk1.4.2, common-attributes 2.1
> Reporter: Flier Lu
> Assignee: Dan Diephouse
>
>
> When I create service for interface which I define web service annotations,
> it will raise a AnnotationException. because assertValidImplementationClass
> check the class is not abstract, but not consider interface. so we must add a
> !clazz.isInterface() to this check, like this
> private void assertValidImplementationClass(Class clazz, WebAnnotations
> webAnnotations2)
> {
> if (!clazz.isInterface() && Modifier.isAbstract(clazz.getModifiers()))
> {
> throw new AnnotationException("Service class cannot be abstract:
> " + clazz.getName());
> }
> //...
> }
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira