jeudi 19 mars 2015

Why does Apache CXF throw IllegalAnnotationsException when I add reference to other beans?

I have 2 Web service classes that I mean to expose as SOAP services using Apache CXF. One of the services refers to the other as part of its operations. I have set up Apache CXF into my Grails app (no plugins), and set up my Web services through resources.groovy (Spring Bean DSL).


Say I have the following classes:



@WebService
BookService {
//class definition
}


and:



@WebService
LibraryService {
BookService bookService
//class definition
}


I declare them in my resources.groovy as follows (namespace declarations omitted):



bookService(BookService)
jaxws.endpoint(id: 'bookService', implementor: "#bookService",
address: '/book')

libraryService(LibraryService) {
bookService = ref('bookService')
}
jaxws.endpoint(id: 'libraryService', implementor: "#libraryService",
address: '/library')


However, every time I run my app (via grails run-app) I get IllegalAnnotationsException:



Caused by IllegalAnnotationsException: 2 counts of IllegalAnnotationExceptions
->> 106 | check in com.sun.xml.bind.v2.runtime.IllegalAnnotationsException$Builder


and I don't understand why its occurring. I'm new to Apache CXF so I hope someone can enlighten me on this.


Aucun commentaire:

Enregistrer un commentaire