Order Shipment Object Extension
We are extending the shipment object in the orders system to support additional properties.We have:
1. Inherited from the shipment class and extended the derived class
2. Modified the OrderObjectMappings.xml file
3. Extended the OrderPipelineMappings.xml file
4. Modified the web.config to point to the new type
5. Ran the OrderMapping.exe tool to generate a new SQL script and ran this script on the database
When creating a basket and populating the derived shipment object, we are able to see the extended properties without any problems.
Everything is working perfectly up to the point where the "Total" pipeline runs. When this pipeline runs it creates an instance of the derived class correctly, however, fails to reconstitute the extended properties - all base properties are reconstituted. It appears as though the pipeline does not call the protected constructor when instantiating the class. Instead, it is using the public constructor and sets the properties using the public setters. When this happens the derived shipment class is saved correctly, however, because the extended properties where never set, they are lost.
Is it necessary to customize the pipeline to manually set the extended properties for the derived shipment class?
As an FYI, we have extended the OrderForm, OrderAddress, and LineItems classes and have not run into this problem. And note this is not creating a custom shipment method, this is a custom Shipment class created and associated the OrderForm.Shipments collection.
Thanks!

