QUESTION:
I have pointed DemandTools to my sandbox and am getting some strange errors when accessing various modules. How can I resolve?
Possible errors you may be seeing:
- When accessing any module (besides MassEffect): "Error accessing data from salesforce"
- When attempting to load a saved scenario: "There is an error in XML document"
- When attempting to access MassEffect: "Object reference not set to an instance of an object"
ANSWER:
Each release of DemandTools is built on a specific Salesforce API Version (typically the current one at the time the version was released). Errors can occur in DemandTools when the API version specified in the custom endpoint does not match the API version DemandTools was compiled on (due to meta data differences between the API versions).
Common times this can happen:
- If you recently upgraded from an older release to a newer release it is possible you have a custom endpoint saved in your Proxy Settings which is pointing to an OLDER API version.
- If your sandbox in Salesforce has been upgraded to a new release (e.g. Winter '17 to Spring '17), and you generate a new custom endpoint it will be NEWER than the API version DemandTools was built on.
If there is an endpoint mismatch, the user will be alerted upon login via a pop-up warning that the endpoints do not match. The warning will tell the user WHICH API version they should be using (e.g. which API version the version of DemandTools they are using was compiled on). Although occasionally the mismatched API will work, it is always best to change the API version in the endpoint to match to API version noted in the warning.
For example if the warning says "To ensure compatibility your endpoint should end in: 39.0" then change the number at the end of the endpoint:
- https://test.salesforce.com/services/Soap/u/XX.X ->
- https://test.salesforce.com/services/Soap/u/39.0
NOTE: If the API versions match, and you get "Object reference not set to an instance of an object" when attempting to PROCESS an operation (e.g. an insert or update) in MassEffect, select "Update Newly Added Fields" as the meta data file in the DemandToolsData\Cache folder may not accurately reflect changes to existing meta data (e.g. changes to an existing field's field type).