Well, it's probably not a CXF bug as we pretty much just delegate all that stuff down to the JAXB runtime.
My suggestion is to write a schema for what you WANT it to look like and run the JAXB schema compiler on it and see what it produces. Dan On Fri November 13 2009 1:39:15 pm Kessel, Christopher wrote: > That works, but doesn't solve my problem. My input is: > > <contact>Jim</contact> // actually, it would have some > attributes, but I'm just trying the simplest case right now > > The annotations you mentioned produce XML like so. > <contact><name>Jim</name></contact> > > The problem is there appears to be a bug in CXF when I publish the > endpoint where a mapped object has the @XmlValue annotation. Everything > I can find says that's the correct way to indicate the XML should be > read/written in the format I'm looking for, but CXF gives the error when > I actually try to use Endpoint.publish() to start the server listening > for requests. > > I've tried with and without XmlRootElement definitions, XmlType with > propOrder, all sorts of things that various examples seem to indicate > might help, but nothing works. Maybe I'm missing something, but it sure > looks like a bug. > > If a class has @XmlElement property, it cannot have @XmlValue > property. > this problem is related to the following location: > at private java.lang.String > com.transunion.cis.iq411.soap.C360Contact._name > at com.transunion.cis.iq411.soap.C360Contact > at public > com.transunion.cis.iq411.soap.C360Contact > > Chris > > -----Original Message----- > From: Tomas Majak [mailto:tomas.ma...@nasdaqomx.com] > Sent: Friday, November 13, 2009 12:11 AM > To: users@cxf.apache.org > Cc: Kessel, Christopher > Subject: RE: @XmlValue complaining about non existent @XmlElement > > What about using: > @XmlElement(name = "name") > private String _name; > > And class annotation: > @XmlRootElement(name = "contact") > @XmlAccessorType(value = XmlAccessType.NONE) > public class C360Contact { > > -----Original Message----- > From: Kessel, Christopher [mailto:ckes...@transunion.com] > Sent: den 12 november 2009 19:29 > To: users@cxf.apache.org > Subject: @XmlValue complaining about non existent @XmlElement > > I've got a really simple data class. > public class C360Contact > { > @XmlValue > private String _name; > public String getName() > { > return _name; > } > > public void setName( String name ) > { > _name = name; > } > } > > I'm trying to indicate the value for the "name" attribute is in the > content of the tag rather than a tag on its own. E.g. > > <contact>Jim</contact> > > vs. > <contact> > <name>Jim</name> > </contact> > > However, I get the following error when publishing the endpoint. Any > idea why? > > Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 1 > counts of IllegalAnnotationExceptions > If a class has @XmlElement property, it cannot have @XmlValue property. > this problem is related to the following location: > at private java.lang.String > com.transunion.cis.iq411.soap.C360Contact._name > at com.transunion.cis.iq411.soap.C360Contact > at public com.transunion.cis.iq411.soap.C360Contact > com.transunion.cis.iq411.soap.C360Request.getContact() > at com.transunion.cis.iq411.soap.C360Request > this problem is related to the following location: > at public java.lang.String > com.transunion.cis.iq411.soap.C360Contact.getName() > at com.transunion.cis.iq411.soap.C360Contact > at public com.transunion.cis.iq411.soap.C360Contact > com.transunion.cis.iq411.soap.C360Request.getContact() > at com.transunion.cis.iq411.soap.C360Request > -- Daniel Kulp dk...@apache.org http://www.dankulp.com/blog