You have the right idea but I think your SCDL syntax is a bit off. Instead of:
<property name="customerInfo" xsi:type="Customer"> <firstName>Ku</firstName> <middleName>Jun</middleName> <lastName>Guo</lastName> </property> you could write: <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:cust="http://www.example.com/Customer" targetNamespace="http://assembly-tests" name="Assemby-component--Composite"> <property name="customerInfo" element="cust:customer"> <cust:customer> <firstName>Ku</firstName> <middleName>Jun</middleName> <lastName>Guo</lastName> </cust:customer> </property> Note how the <property> element contains an element of type Customer in this rework, rather than merely the contents of a Customer-type element like it did in your example. There are some other variants, but the <property> element I think would only take 'element' or 'type' attributes, (not 'xsi:type'). Though 'xsi:type' could be helpful when using an undefined element of type Customer rather than a global element like the <cust:customer> one you defined in your schema. The itest/properties test shows some more valid variations (though mostly using SDO rather than JAXB .. though the SCDL should be basically the same). And yes, having written the SCDL correctly, you would in your implementation use this property like (note the field name change): @Property protected Customer customerInfo; // Customer is generated from your schema def and ' // and 'customerInfo' matches the property name And you also need to package all the generated JAXB classes corresponding to your original schema definitions (elem/types) along with your application in order for the runtime JAXBContext to be aware of these schema definitions. Hope that helps, Scott