Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7890261
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 3, 20262026-06-03T06:18:35+00:00 2026-06-03T06:18:35+00:00

I’m trying to create a web service using Grails and Apache CXF, naturally using

  • 0

I’m trying to create a web service using Grails and Apache CXF, naturally using the CXF-Grails plugin. I created a simple service called Test Service

package testcxf

class TestService {

    static expose = ['cxf']

    String echoString(String str) {
        return str
    }

    String reverseString(String str) {
        return str.reverse()
    }
}

This service works exactly as expected and a test client successfully called the echo and reverse methods. Next I created a simple domain class called Person

package testcxf

class Person {

    String name
    String city
    int age

    static constraints = {
    }
}

And revised the service with some basic functions to interact with the domain.

package testcxf

class TestService {

    static expose = ['cxf']

    String echoString(String str) {
        return str
    }

    String reverseString(String str) {
        return str.reverse()
    }

    void addPerson(Person person) {
        person.save()
    }

    Person getPerson(String name) {
        return Person.findByName(name)
    }

    List<Person> getAllPeople() {
        return Person.findAll()
    }
}

That’s when it all fell apart. When calling grails run-app I received the following exception. The application did complete startup but the wsdl that was generated was incomplete and lacked all definitions of the complex type Person.

| Error 2012-05-01 20:51:03,504 [pool-7-thread-1] ERROR [localhost].[/TestCxf]  - StandardWrapper.Throwable
Message: Error creating bean with name 'testServiceBean': Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public org.apache.cxf.endpoint.Server org.apache.cxf.frontend.ServerFactoryBean.create()] threw exception; nested exception is org.apache.cxf.service.factory.ServiceConstructionException
    Line | Method
->>  578 | createApplicationContext in grails.spring.BeanBuilder
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|     57 | loadAdditionalConfig     in org.grails.cxf.GrailsCXFServlet
|     40 | init . . . . . . . . . . in     ''
|    334 | innerRun                 in java.util.concurrent.FutureTask$Sync
|    166 | run . . . . . . . . . .  in java.util.concurrent.FutureTask
|   1110 | runWorker                in java.util.concurrent.ThreadPoolExecutor
|    603 | run . . . . . . . . . .  in java.util.concurrent.ThreadPoolExecutor$Worker
^    722 | run                      in java.lang.Thread

Caused by BeanDefinitionStoreException: Factory method [public org.apache.cxf.endpoint.Server org.apache.cxf.frontend.ServerFactoryBean.create()] threw exception; nested exception is org.apache.cxf.service.factory.ServiceConstructionException
->>  578 | createApplicationContext in grails.spring.BeanBuilder
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|     57 | loadAdditionalConfig     in org.grails.cxf.GrailsCXFServlet
|     40 | init . . . . . . . . . . in     ''
|    334 | innerRun                 in java.util.concurrent.FutureTask$Sync
|    166 | run . . . . . . . . . .  in java.util.concurrent.FutureTask
|   1110 | runWorker                in java.util.concurrent.ThreadPoolExecutor
|    603 | run . . . . . . . . . .  in java.util.concurrent.ThreadPoolExecutor$Worker
^    722 | run                      in java.lang.Thread

Caused by ServiceConstructionException: null
->>  341 | initialize               in org.apache.cxf.jaxb.JAXBDataBinding
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|     86 | initializeDataBindings   in org.apache.cxf.service.factory.AbstractServiceFactoryBean
|    442 | buildServiceFromClass .  in org.apache.cxf.service.factory.ReflectionServiceFactoryBean
|    505 | initializeServiceModel   in     ''
|    242 | create . . . . . . . . . in     ''
|    101 | createEndpoint           in org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory
|    148 | create . . . . . . . . . in org.apache.cxf.frontend.ServerFactoryBean
|    578 | createApplicationContext in grails.spring.BeanBuilder
|     57 | loadAdditionalConfig . . in org.grails.cxf.GrailsCXFServlet
|     40 | init                     in     ''
|    334 | innerRun . . . . . . . . in java.util.concurrent.FutureTask$Sync
|    166 | run                      in java.util.concurrent.FutureTask
|   1110 | runWorker . . . . . . .  in java.util.concurrent.ThreadPoolExecutor
|    603 | run                      in java.util.concurrent.ThreadPoolExecutor$Worker
^    722 | run . . . . . . . . . .  in java.lang.Thread

Caused by IllegalAnnotationsException: 5 counts of IllegalAnnotationExceptions
->>  102 | check                    in com.sun.xml.bind.v2.runtime.IllegalAnnotationsException$Builder
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    472 | getTypeInfoSet           in com.sun.xml.bind.v2.runtime.JAXBContextImpl
|    302 | <init> . . . . . . . . . in     ''
|   1140 | build                    in com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder
|    154 | createContext . . . . .  in com.sun.xml.bind.v2.ContextFactory
|    121 | createContext            in     ''
|    248 | newInstance . . . . . .  in javax.xml.bind.ContextFinder
|    235 | newInstance              in     ''
|    432 | find . . . . . . . . . . in     ''
|    637 | newInstance              in javax.xml.bind.JAXBContext
|    564 | createContext . . . . .  in org.apache.cxf.jaxb.JAXBDataBinding
|    504 | createJAXBContextAndSchemas in     ''
|    324 | initialize . . . . . . . in     ''
|     86 | initializeDataBindings   in org.apache.cxf.service.factory.AbstractServiceFactoryBean
|    442 | buildServiceFromClass .  in org.apache.cxf.service.factory.ReflectionServiceFactoryBean
|    505 | initializeServiceModel   in     ''
|    242 | create . . . . . . . . . in     ''
|    101 | createEndpoint           in org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory
|    148 | create . . . . . . . . . in org.apache.cxf.frontend.ServerFactoryBean
|    578 | createApplicationContext in grails.spring.BeanBuilder
|     57 | loadAdditionalConfig . . in org.grails.cxf.GrailsCXFServlet
|     40 | init                     in     ''
|    334 | innerRun . . . . . . . . in java.util.concurrent.FutureTask$Sync
|    166 | run                      in java.util.concurrent.FutureTask
|   1110 | runWorker . . . . . . .  in java.util.concurrent.ThreadPoolExecutor
|    603 | run                      in java.util.concurrent.ThreadPoolExecutor$Worker
^    722 | run . . . . . . . . . .  in java.lang.Thread
| Error 2012-05-01 20:51:03,570 [pool-7-thread-1] ERROR [localhost].[/TestCxf]  - Servlet /TestCxf threw load() exception
Message: 5 counts of IllegalAnnotationExceptions
    Line | Method
->>  102 | check                       in com.sun.xml.bind.v2.runtime.IllegalAnnotationsException$Builder
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    472 | getTypeInfoSet              in com.sun.xml.bind.v2.runtime.JAXBContextImpl
|    302 | <init> . . . . . . . . . .  in     ''
|   1140 | build                       in com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder
|    154 | createContext . . . . . . . in com.sun.xml.bind.v2.ContextFactory
|    121 | createContext               in     ''
|    248 | newInstance . . . . . . . . in javax.xml.bind.ContextFinder
|    235 | newInstance                 in     ''
|    432 | find . . . . . . . . . . .  in     ''
|    637 | newInstance                 in javax.xml.bind.JAXBContext
|    564 | createContext . . . . . . . in org.apache.cxf.jaxb.JAXBDataBinding
|    504 | createJAXBContextAndSchemas in     ''
|    324 | initialize . . . . . . . .  in     ''
|     86 | initializeDataBindings      in org.apache.cxf.service.factory.AbstractServiceFactoryBean
|    442 | buildServiceFromClass . . . in org.apache.cxf.service.factory.ReflectionServiceFactoryBean
|    505 | initializeServiceModel      in     ''
|    242 | create . . . . . . . . . .  in     ''
|    101 | createEndpoint              in org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory
|    148 | create . . . . . . . . . .  in org.apache.cxf.frontend.ServerFactoryBean
|    578 | createApplicationContext    in grails.spring.BeanBuilder
|     57 | loadAdditionalConfig . . .  in org.grails.cxf.GrailsCXFServlet
|     40 | init                        in     ''
|    334 | innerRun . . . . . . . . .  in java.util.concurrent.FutureTask$Sync
|    166 | run                         in java.util.concurrent.FutureTask
|   1110 | runWorker . . . . . . . . . in java.util.concurrent.ThreadPoolExecutor
|    603 | run                         in java.util.concurrent.ThreadPoolExecutor$Worker
^    722 | run . . . . . . . . . . . . in java.lang.Thread
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-03T06:18:36+00:00Added an answer on June 3, 2026 at 6:18 am

    Looking at the cxf plugin info page I found this:

        Note that any classes being returned or passed as parameters 
        must be annotated with @XmlAccessorType(XmlAccessType.FIELD)
    
        @XmlAccessorType(XmlAccessType.FIELD)
        class Person {
           ....
        }
    

    —–EDIT—–
    This one bothered me a lot because it should be so simple. I don’t know if you ever got it working but here is what I had to do:

        package testcxf
        import javax.xml.bind.annotation.*
    
        @XmlRootElement(name="person")
        @XmlAccessorType(XmlAccessType.NONE)
        @XmlType(propOrder = ["name","city","age"])
    
        class Person {
            @XmlElement
            String name
    
            @XmlElement
            String city
    
            @XmlElement
            int age
    
            static constraints = {
            }
        }
    

    It would throw the same error you were receiving with any XmlAccessorType except NONE. Then in order to get the fields available I had to add the @XmlElement annotation.

    Now it runs without the error and the WSDL contains the details of the Person object:

        <xs:element name="person" type="tns:person"/>
        <xs:complexType name="person">
          <xs:sequence>
            <xs:element minOccurs="0" name="name" type="xs:string"/>
            <xs:element minOccurs="0" name="city" type="xs:string"/>
            <xs:element name="age" type="xs:int"/>
          </xs:sequence>
        </xs:complexType>
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Basically, what I'm trying to create is a page of div tags, each has
That's pretty much it. I'm using Nokogiri to scrape a web page what has
Seemingly simple, but I cannot find anything relevant on the web. What is the
I'm trying to create an if statement in PHP that prevents a single post
I'm making a simple page using Google Maps API 3. My first. One marker
I am trying to understand how to use SyndicationItem to display feed which is
I'm new to using the Perl treebuilder module for HTML parsing and can't figure
link Im having trouble converting the html entites into html characters, (&# 8217;) i
I have just tried to save a simple *.rtf file with some websites and
I have a string like this: La Torre Eiffel paragonata all&#8217;Everest What PHP function

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.