SOAP Web Services only emulates the User Interface. It is likely that the Rate field is a read-only type of field.
This column field cannot be set directly since it will source the price level that is set on the customer record or based on the following hierarchy. This will make the Rate field read-only which SOAP Web Services is unable to access or manipulate.
In order to set an item rate, a RecordRef for the price should be done and set to -1. That way, it will set the price level to custom, and thus, the rate field can be modified.