I'd like to bump the question posed a few weeks ago by Nalyd (see
http://www.nabble.com/Aegis-inheritance-tf4668138.html#a13335122).
I am attempting to ensure that some additional classes which are not
present in my service interfaces get bound along with the others, a
common problem given a service such as:
public void queue(Job job);
where there exists the following classes:
public class BigJob extends Job { ... }
public class SmallJob extends Job {...}
In this case, Job will be bound to XML elements, but BigJob and SmallJob
will not. XFire does support this, documented at
http://xfire.codehaus.org/Aegis+Inheritance. However, I cannot find a
similar piece of documentation on porting this solution to CXF. It
seems as if the support is all still there but not necessarily exposed
(see http://cwiki.apache.org/CXF20DOC/aegis-theory-of-operation.html).
I have played around with a few things in my Spring configuration, such
as adding something like this to my ServiceFactoryBean:
<bean id='jaxws-and-aegis-service-factory'
class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean">
...
<property name="properties">
<map>
<entry key="writeXsiType">
<value type="java.lang.Boolean">true</value>
</entry>
<entry key="overrideTypesList">
<list>
<value>com.foo.bar.BigJob</value>
<value>com.foo.bar.SmallJob</value>
</list>
</entry>
</map>
</property>
...
</bean>
This deploys without error, but my WSDL and corresponding stubs do not
include the overridden types. Any ideas?
Thanks!
Jeff