I am trying to figure out how to update a users preferences using zmsoap

For example I can retrieve my Out-Of-Office message starting date with

[zimbra@zimbra ~]$ zmsoap  -t account -m user@domain -p password GetPrefsRequest pref/@name=zimbraPrefOutOfOfficeFromDate
<GetPrefsResponse xmlns="urn:zimbraAccount">
  <pref name="zimbraPrefOutOfOfficeFromDate">20091223000000Z</pref>
[zimbra@zimbra ~]$
And according to the documentation there is a SOAP request ModifyPrefsRequest

But if i run

[zimbra@zimbra ~]$ zmsoap -t account -m user@domain -p password ModifyPrefsRequest pref/@name=zimbraPrefOutOfOfficeFromDate @value=20091223000000Z
<ModifyPrefsResponse xmlns="urn:zimbraAccount"/>
[zimbra@zimbra ~]$
it ends up removing the preference setting entirely (setting it to no value)

Can somebody please help me understand what I am doing wrong.