I am using a Salesforce developer account to integrate to my Drupal 7 instance. I have enabled the Salesforce API, Salesforce Mapping, Salesforce Pull and Salesforce Views sub-modules.

I was able to successfully authorize through OAuth:

Your Salesforce instance is authorized and has access to the following resources:

tooling: /services/data/v27.0/tooling
async-queries: /services/data/v27.0/async-queries
query: /services/data/v27.0/query
chatter: /services/data/v27.0/chatter
commerce: /services/data/v27.0/commerce
wave: /services/data/v27.0/wave
search: /services/data/v27.0/search
identity: https://login.salesforce.com/id/XYZ/XYZ
sobjects: /services/data/v27.0/sobjects
serviceTemplates: /services/data/v27.0/serviceTemplates
recent: /services/data/v27.0/recent
connect: /services/data/v27.0/connect
licensing: /services/data/v27.0/licensing

I was also able to map a content type with the Salesforce contact object.

However, when I try to pull the contacts from Salesforce by running Cron I get the following error:

SalesforceException: The requested resource does not exist in
 Salesforce->apiCall() (line 157 of /sites/all/modules/salesforce/
 includes/salesforce.inc).

I can see the list of resource available from Salesforce using drush sf-list-resources

tooling           /services/data/v27.0/tooling                                          
 async-queries     /services/data/v27.0/async-queries                                    
 query             /services/data/v27.0/query                                            
 chatter           /services/data/v27.0/chatter                                          
 commerce          /services/data/v27.0/commerce                                         
 wave              /services/data/v27.0/wave                                             
 search            /services/data/v27.0/search                                           
 identity          https://login.salesforce.com/id/XYZ/XYZ 
 sobjects          /services/data/v27.0/sobjects                                         
 serviceTemplates  /services/data/v27.0/serviceTemplates                                 
 recent            /services/data/v27.0/recent                                           
 connect           /services/data/v27.0/connect                                          
 licensing         /services/data/v27.0/licensing

I can also see that the Salesforce contact object is accessible using drush sf-describe-object contact

Name                 Contact 
 Fields               48      
 Child Relationships  35      
 Searchable           TRUE    
 Creatable            TRUE    
 Deletable            TRUE    
 Mergeable            TRUE    
 Queryable            TRUE

How can I fix this exception?

UPDATE: Please see attached screenshot of my Salesforce Contact Mapping

CommentFileSizeAuthor
#3 salesforce_contact_mapping.png555.97 KBtsega

Comments

tsega created an issue. See original summary.

aaronbauman’s picture

Can you provide a dump of your Contact mapping?

tsega’s picture

Issue summary: View changes
StatusFileSize
new555.97 KB

Here is an export of my Contact mapping:

{
  "type" : "salesforce_mapping",
  "name" : "salesforce_contacts",
  "label" : "Salesforce Contacts",
  "sync_triggers" : "0",
  "salesforce_object_type" : "Contact",
  "salesforce_record_types_allowed" : { "default" : "default" },
  "salesforce_record_type_default" : "default",
  "drupal_entity_type" : "node",
  "drupal_bundle" : "salesforce_contacts",
  "field_mappings" : [
    {
      "drupal_field" : { "fieldmap_type" : "property", "fieldmap_value" : "title" },
      "salesforce_field" : {
        "autoNumber" : false,
        "byteLength" : 384,
        "calculated" : false,
        "calculatedFormula" : null,
        "cascadeDelete" : false,
        "caseSensitive" : false,
        "controllerName" : null,
        "createable" : true,
        "custom" : false,
        "defaultValue" : null,
        "defaultValueFormula" : null,
        "defaultedOnCreate" : false,
        "dependentPicklist" : false,
        "deprecatedAndHidden" : false,
        "digits" : 0,
        "displayLocationInDecimal" : false,
        "externalId" : false,
        "filterable" : true,
        "groupable" : true,
        "htmlFormatted" : false,
        "idLookup" : false,
        "inlineHelpText" : null,
        "label" : "Title",
        "length" : 128,
        "name" : "Title",
        "nameField" : false,
        "namePointing" : false,
        "nillable" : true,
        "permissionable" : true,
        "picklistValues" : [],
        "precision" : 0,
        "referenceTo" : [],
        "relationshipName" : null,
        "relationshipOrder" : null,
        "restrictedDelete" : false,
        "restrictedPicklist" : false,
        "scale" : 0,
        "soapType" : "xsd:string",
        "sortable" : true,
        "type" : "string",
        "unique" : false,
        "updateable" : true,
        "writeRequiresMasterRead" : false
      },
      "key" : false,
      "direction" : "sf_drupal"
    },
    {
      "drupal_field" : {
        "fieldmap_type" : "property",
        "fieldmap_value" : "field_sfc_first_name"
      },
      "salesforce_field" : {
        "autoNumber" : false,
        "byteLength" : 120,
        "calculated" : false,
        "calculatedFormula" : null,
        "cascadeDelete" : false,
        "caseSensitive" : false,
        "controllerName" : null,
        "createable" : true,
        "custom" : false,
        "defaultValue" : null,
        "defaultValueFormula" : null,
        "defaultedOnCreate" : false,
        "dependentPicklist" : false,
        "deprecatedAndHidden" : false,
        "digits" : 0,
        "displayLocationInDecimal" : false,
        "externalId" : false,
        "filterable" : true,
        "groupable" : true,
        "htmlFormatted" : false,
        "idLookup" : false,
        "inlineHelpText" : null,
        "label" : "First Name",
        "length" : 40,
        "name" : "FirstName",
        "nameField" : false,
        "namePointing" : false,
        "nillable" : true,
        "permissionable" : false,
        "picklistValues" : [],
        "precision" : 0,
        "referenceTo" : [],
        "relationshipName" : null,
        "relationshipOrder" : null,
        "restrictedDelete" : false,
        "restrictedPicklist" : false,
        "scale" : 0,
        "soapType" : "xsd:string",
        "sortable" : true,
        "type" : "string",
        "unique" : false,
        "updateable" : true,
        "writeRequiresMasterRead" : false
      },
      "key" : false,
      "direction" : "sf_drupal"
    },
    {
      "drupal_field" : { "fieldmap_type" : "property", "fieldmap_value" : "field_sfc_last_name" },
      "salesforce_field" : {
        "autoNumber" : false,
        "byteLength" : 240,
        "calculated" : false,
        "calculatedFormula" : null,
        "cascadeDelete" : false,
        "caseSensitive" : false,
        "controllerName" : null,
        "createable" : true,
        "custom" : false,
        "defaultValue" : null,
        "defaultValueFormula" : null,
        "defaultedOnCreate" : false,
        "dependentPicklist" : false,
        "deprecatedAndHidden" : false,
        "digits" : 0,
        "displayLocationInDecimal" : false,
        "externalId" : false,
        "filterable" : true,
        "groupable" : true,
        "htmlFormatted" : false,
        "idLookup" : false,
        "inlineHelpText" : null,
        "label" : "Last Name",
        "length" : 80,
        "name" : "LastName",
        "nameField" : false,
        "namePointing" : false,
        "nillable" : false,
        "permissionable" : false,
        "picklistValues" : [],
        "precision" : 0,
        "referenceTo" : [],
        "relationshipName" : null,
        "relationshipOrder" : null,
        "restrictedDelete" : false,
        "restrictedPicklist" : false,
        "scale" : 0,
        "soapType" : "xsd:string",
        "sortable" : true,
        "type" : "string",
        "unique" : false,
        "updateable" : true,
        "writeRequiresMasterRead" : false
      },
      "key" : false,
      "direction" : "sf_drupal"
    },
    {
      "drupal_field" : { "fieldmap_type" : "property", "fieldmap_value" : "field_sfc_phone" },
      "salesforce_field" : {
        "autoNumber" : false,
        "byteLength" : 120,
        "calculated" : false,
        "calculatedFormula" : null,
        "cascadeDelete" : false,
        "caseSensitive" : false,
        "controllerName" : null,
        "createable" : true,
        "custom" : false,
        "defaultValue" : null,
        "defaultValueFormula" : null,
        "defaultedOnCreate" : false,
        "dependentPicklist" : false,
        "deprecatedAndHidden" : false,
        "digits" : 0,
        "displayLocationInDecimal" : false,
        "externalId" : false,
        "filterable" : true,
        "groupable" : true,
        "htmlFormatted" : false,
        "idLookup" : false,
        "inlineHelpText" : null,
        "label" : "Mobile Phone",
        "length" : 40,
        "name" : "MobilePhone",
        "nameField" : false,
        "namePointing" : false,
        "nillable" : true,
        "permissionable" : true,
        "picklistValues" : [],
        "precision" : 0,
        "referenceTo" : [],
        "relationshipName" : null,
        "relationshipOrder" : null,
        "restrictedDelete" : false,
        "restrictedPicklist" : false,
        "scale" : 0,
        "soapType" : "xsd:string",
        "sortable" : true,
        "type" : "phone",
        "unique" : false,
        "updateable" : true,
        "writeRequiresMasterRead" : false
      },
      "key" : false,
      "direction" : "sf_drupal"
    },
    {
      "drupal_field" : { "fieldmap_type" : "property", "fieldmap_value" : "field_sfc_email" },
      "salesforce_field" : {
        "autoNumber" : false,
        "byteLength" : 240,
        "calculated" : false,
        "calculatedFormula" : null,
        "cascadeDelete" : false,
        "caseSensitive" : false,
        "controllerName" : null,
        "createable" : true,
        "custom" : false,
        "defaultValue" : null,
        "defaultValueFormula" : null,
        "defaultedOnCreate" : false,
        "dependentPicklist" : false,
        "deprecatedAndHidden" : false,
        "digits" : 0,
        "displayLocationInDecimal" : false,
        "externalId" : false,
        "filterable" : true,
        "groupable" : true,
        "htmlFormatted" : false,
        "idLookup" : true,
        "inlineHelpText" : null,
        "label" : "Email",
        "length" : 80,
        "name" : "Email",
        "nameField" : false,
        "namePointing" : false,
        "nillable" : true,
        "permissionable" : true,
        "picklistValues" : [],
        "precision" : 0,
        "referenceTo" : [],
        "relationshipName" : null,
        "relationshipOrder" : null,
        "restrictedDelete" : false,
        "restrictedPicklist" : false,
        "scale" : 0,
        "soapType" : "xsd:string",
        "sortable" : true,
        "type" : "email",
        "unique" : false,
        "updateable" : true,
        "writeRequiresMasterRead" : false
      },
      "key" : false,
      "direction" : "sf_drupal"
    },
    {
      "drupal_field" : {
        "fieldmap_type" : "property",
        "fieldmap_value" : "field_sfc_last_modified"
      },
      "salesforce_field" : {
        "autoNumber" : false,
        "byteLength" : 0,
        "calculated" : false,
        "calculatedFormula" : null,
        "cascadeDelete" : false,
        "caseSensitive" : false,
        "controllerName" : null,
        "createable" : false,
        "custom" : false,
        "defaultValue" : null,
        "defaultValueFormula" : null,
        "defaultedOnCreate" : true,
        "dependentPicklist" : false,
        "deprecatedAndHidden" : false,
        "digits" : 0,
        "displayLocationInDecimal" : false,
        "externalId" : false,
        "filterable" : true,
        "groupable" : false,
        "htmlFormatted" : false,
        "idLookup" : false,
        "inlineHelpText" : null,
        "label" : "Last Modified Date",
        "length" : 0,
        "name" : "LastModifiedDate",
        "nameField" : false,
        "namePointing" : false,
        "nillable" : false,
        "permissionable" : false,
        "picklistValues" : [],
        "precision" : 0,
        "referenceTo" : [],
        "relationshipName" : null,
        "relationshipOrder" : null,
        "restrictedDelete" : false,
        "restrictedPicklist" : false,
        "scale" : 0,
        "soapType" : "xsd:dateTime",
        "sortable" : true,
        "type" : "datetime",
        "unique" : false,
        "updateable" : false,
        "writeRequiresMasterRead" : false
      },
      "key" : false,
      "direction" : "sf_drupal"
    }
  ],
  "pull_trigger_date" : "LastModifiedDate",
  "push_async" : "0",
  "push_batch" : "0",
  "created" : "1479124417",
  "weight" : "0",
  "locked" : "0"
}
aaronbauman’s picture

You need to enable at least one action trigger.

tsega’s picture

I tried enabling each one individually and all three all together but the result is the same, when I run drush cron

WD cron: SalesforceException: The requested resource does not exist  [error]
in Salesforce->apiCall() (line 157 of sites/all/modules/salesforce/includes/salesforce.inc).
Cron run successful.                                                 [success]

I also tried to add a Contact ID text field to my Salesforce Contact content type so I can map the Contact Id from Salesforce and set it as the key. However, I get the following error on submission:

Salesforce field Id is not configured as an external id

tsega’s picture

Despite the error that I got it seems like the contacts are being pulled in. Thanks for your help @aaronbauman and for this very handy module.

aaronbauman’s picture

Maybe you have some other mappings which are causing this error?

aaronbauman’s picture

Component: Code » salesforce.module
Status: Active » Closed (won't fix)

7.x is no longer supported

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.