
Exception:
FIELD_INTEGRITY_EXCEPTION, Every asset needs an account, a contact, or both.: [AccountId, ContactId]
Resolution:
This exception occurs when the Organization Wide Default of the Asset object is Controlled by Parent and the Asset record is created with AccountId and ContactId null.
Option 1:
Populate AccountId and/or ContactId on the Asset before creating the record.
Option 2:
Change the Organization Wide Default of the Asset object.