[ 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

Reply via email to