in line 357-358 of ContactServices.updatePostalAddress:
<set field="newPostalAddress" from="origPostalAddress.cloneValue()"/>
<entity-set value-field="newPostalAddress" include="nonpk"/>
In my case, address2 had a value in origPostalAddress and does not in the context, so it does not get changed in the entity-set because set-if-empty defaults to false and therefore it is deemed unchanged and no update takes place.
I guess this is a conscious decision not to have fields that are not passed (or empty) affect the update. Is there a work around?