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

Reply via email to