EasyBeans

JAXB throws IllegalAnnotationExceptions for @WebService annotated bean without wsdlLocation

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: EasyBeans 1.1.0 M3
  • Fix Version/s: EasyBeans 1.1.0 RC1
  • Component/s: Core
  • Description:
    Hide
    When no wsdlLocation attribute is provided in the @WebService annotation, the class enhanced by easybeans is used to discover the WSDL interface using reflection.
    This has a number of consequences:
    * all methods generated by easybeans may appear in the WSDL
    * JAXB exceptions during JAXB analyze of managed classes

    Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 12 counts of IllegalAnnotationExceptions
    org.ow2.easybeans.api.Factory is an interface, and JAXB can't handle interfaces.
    this problem is related to the following location:
    at org.ow2.easybeans.api.Factory
    at private org.ow2.easybeans.api.Factory com.sun.tutorial.javaee.ejb.helloservice.jaxws_asm.GetEasyBeansFactoryResponse._return
    at com.sun.tutorial.javaee.ejb.helloservice.jaxws_asm.GetEasyBeansFactoryResponse


    Side notes:
    * On simple examples, with bean using no interfaces, @WebMethods are not intercepted
    * Take care of existing annotations (method and parameter annotation) when renaming methods (move them from the renamed method to the interceptor method)
    Show
    When no wsdlLocation attribute is provided in the @WebService annotation, the class enhanced by easybeans is used to discover the WSDL interface using reflection. This has a number of consequences: * all methods generated by easybeans may appear in the WSDL * JAXB exceptions during JAXB analyze of managed classes Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 12 counts of IllegalAnnotationExceptions org.ow2.easybeans.api.Factory is an interface, and JAXB can't handle interfaces. this problem is related to the following location: at org.ow2.easybeans.api.Factory at private org.ow2.easybeans.api.Factory com.sun.tutorial.javaee.ejb.helloservice.jaxws_asm.GetEasyBeansFactoryResponse._return at com.sun.tutorial.javaee.ejb.helloservice.jaxws_asm.GetEasyBeansFactoryResponse Side notes: * On simple examples, with bean using no interfaces, @WebMethods are not intercepted * Take care of existing annotations (method and parameter annotation) when renaming methods (move them from the renamed method to the interceptor method)

Activity

Hide
Florent BENOIT added a comment - 05/Mar/09 2:40 PM
committed and fixed
Show
Florent BENOIT added a comment - 05/Mar/09 2:40 PM committed and fixed
Hide
Florent BENOIT added a comment - 05/Mar/09 2:40 PM
fixed
Show
Florent BENOIT added a comment - 05/Mar/09 2:40 PM fixed

People

Dates

  • Created:
    24/Feb/09 11:49 AM
    Updated:
    05/Mar/09 2:40 PM
    Resolved:
    05/Mar/09 2:40 PM