We are sending products with api and also we are updating them with it. We had override _prepareDataForSave method for this reason. We are changing attribute_set in method. Is there a possibility to raise an error or break something?
Changing the attribute set will not directly give you an error, this will even be possible in Magento2 by default. The only problem I see with changing the attribute set in Magento 1.x is that there will stay data in the database for attributes that are no longer used in the new attribute-set. You will also neesdto update the product with the new attributes.
The problem with Magento API in WS-I Compliance is that the method
_prepareDataForSave is missing a third 'if-condition' for the data passed: the original function only check if the
multi_data type and those are all the possible case when WS-I Compliance is not set.
With WS-I, the
$productData->additional_attributes is not neither
multi_data so we must add a third option just after the initial function as described in the other stackoverflow answer.