Take a look at: http://svn.apache.org/repos/asf/cxf/trunk/systests/databinding/src/test/resources/extrajaxbclass.xml
which shows how to do exactly this. That said, the @XmlSeeAlso is generally easier. :-) Dan On Friday 16 July 2010 8:03:21 am Jürgen Bockhorn wrote: > Hello, > > > > We have the need to supply externally generated derived classes to a > webservice. > > > > Our approach is split: > > On one hand we have a wsdl2java part that defines our 'webservice > interface'. Within there is one empty abstract class that 'implments' an > interface of our own. > > This abstract class shall be later replaced by objects of concrete classes. > > > > On the other hand there is an xmi driven datamodel. This one runs through a > code generator of ours. The classes generated here are annotated with the > appropriate JAXB annotations (@XmlAccessorType, @XmlType, @XmlElement, > etc.). Furthermore they are derived from the abstract class above and > really implement the interface mentioned above. An ObjectFactory is > generated that is derived from the ObjectFactory of the wsdl2java part. > > > > The third part (package) is the implementation of the service. > > > > Finally I want to put these three parts together to a working webservice. > > > > The situation now is as follows: > > The service responds (running through the expected methods of the > implementation). But the reply is filled with (empty) objects of the > abstract base class. > > I can fake the desired configuration when I manually add @XmlSeeAlso with a > list of the generated classes to the abstract base class. > > When I do that the respones are right and contain objects of the generated > classes. > > > > The whole thing is put to work using a spring configuration. > > > > The final question is: Is there a way to supply the list of generated > classes to the (prebuilt) webservice using a spring configuration. > > > > What i already have vainly tried was adding a search list as property to > the endpoint: > > <jaxws:endpoint xmlns:tns="http://gds.heuboe.de/iface/" > > id="simtdgds" implementor="#gds" > wsdlLocation="wsdl/DataService.wsdl" > > endpointName="tns:DataServicePort" serviceName="tns:DataServer" > > address="/DataService"> > > <jaxws:features> > > <bean class="org.apache.cxf.feature.LoggingFeature" /> > > </jaxws:features> > > <jaxws:properties> > > <entry key="jaxb.search.packages"> > > <list> > > <value>de.heuboe.gds.simtd</value> > > <value>de.heuboe.gds.simtd.datakinds</value> > > > <value>de.heuboe.gds.simtd.domains</value></list></entry></jaxws:propertie > s> > > </jaxws:endpoint> > > > > > > Thanks in advance. > > > Jürgen -- Daniel Kulp [email protected] http://dankulp.com/blog
