function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
JuiceJuice 

Updating multiple fields in an entity

I'm trying to update multiple fields for a given entity.  Here's a sample XML SOAP request that results in an "bad field names on insert/update call" for the column expectedAmount:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/
    xmlns:tns="salesforce" 
    xmlns:types="salesforce/encodedTypes" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
  <tns:headerStruct id="id1">
    <session_id
xsi:type="xsd:string">{SessionID}</session_id>
    <version xsi:type="xsd:string">2.0</version>
  </tns:headerStruct>
</soap:Header>
<soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
  <q1:update xmlns:q1="sfconnector:SalesforceConnector">
    <type xsi:type="xsd:string">opportunity</type>
    <record href="#id1" />
  </q1:update>
  <soapenc:Array id="id1" soapenc:arrayType="tns:mapEntry[3]">
    <Item href="#id2" />
    <Item href="#id3" />
    <Item href="#id4" />
  </soapenc:Array>
  <tns:mapEntry id="id2" xsi:type="tns:mapEntry">
    <key xsi:type="xsd:string">id</key>
    <value xsi:type="xsd:string">{OpportunityID}</value>
  </tns:mapEntry>
  <tns:mapEntry id="id3" xsi:type="tns:mapEntry">
    <key xsi:type="xsd:string">amount</key>
    <value xsi:type="xsd:double">1.0</value>
  </tns:mapEntry>
  <tns:mapEntry id="id4" xsi:type="tns:mapEntry">
    <key xsi:type="xsd:string">expectedAmount</key>
    <value xsi:type="xsd:double">2.0</value>
  </tns:mapEntry>
</soap:Body>
</soap:Envelope>

Can someone provide an XML SOAP sample of a correct call?

Thanks

DevAngelDevAngel

Hi Juice,

The expectedAmount field is a calculated field based on amount and probability.  You can determine this by examining the describe call for opportunity.  If you look at the describe results for the expectedAmount field and check the access restrictions, you will see that the expectedAmount has filter and select access only.  The absence of access attributes means the field has no access restrictions.