CRM2011 SOAP Money field create/update format

The formatter threw an exception while trying to deserialize the message: There was an error while trying to deserialize parameter The InnerException message was ‘Error in line 1 position 674. Element ‘’ contains data from a type that maps to the name ‘’. The deserializer has no knowledge of any type that maps to this name. Consider changing the implementation of the ResolveName method on your DataContractResolver to return a non-null value for name ‘Money’ and namespace ‘’.’. Please see InnerException for more details.

I recently received the error above when attempting to perform a JavaScript CreateRequest on a money field in CRM2011. I found many people experiencing the same issue without any satisfactory resolution.

The following is the correct way to format a Money field in a SOAP create or update request in CRM2011.

<s:Envelope xmlns:s="">',
    <Execute xmlns="" xmlns:i="">
      <request i:type="a:CreateRequest" xmlns:a="">
        <a:Parameters xmlns:b="">
            <b:value i:type="a:Entity">
                  <b:value i:type="a:Money">
              <a:EntityState i:nil="true" />
              <a:FormattedValues />
              <a:RelatedEntities />
        <a:RequestId i:nil="true" />