<Loggers>
...
<AsyncLogger name="org.mule.extension.salesforce" level="DEBUG"/>
...
</Loggers>
Troubleshooting Salesforce Connector 10.20 - Mule 4
To troubleshoot Anypoint Connector for Salesforce (Salesforce Connector), become familiar with the information about performing general troubleshooting and interpreting commonly thrown exception messages.
Enable SSL Logging
Enable SSL logs to investigate an issue related to TLS communications.
Set your SSL log level depending on your required level of detail:
-
Enable only SSL log details:
javax.net.debug=ssl
-
Enable only handshaking details. (The handshake protocol is a series of messages exchanged over the record protocol.)
javax.net.debug=ssl:handshake
-
Enable handshaking details and SSL details at the same time:
javax.net.debug=ssl, handshake
-
Enable the dumping of all details and traffic data:
javax.net.debug=all
This option is very verbose and under normal circumstances is not necessary.
SSL logging results in a performance impact for HTTPS or other TLS connections. Enable SSL logging only to troubleshoot a specific issue and do not enable it for extended periods. SSL logging produces a significant amount of log messages and can inundate your log file if it is left enabled and unattended. |
To enable SSL logs:
Set the debug parameter as an argument in the runtime configuration for the application.
-
In Studio, right-click on the project and select Run > Run Configurations.
-
Go to the Arguments tab and add
-M-Djavax.net.debug=ssl
in the VM arguments section.
Enable Verbose Exception Logging
Enable verbose exception logs to show a complete stack trace of the error instead of the default truncated output:
-
In Studio, right-click on the project and select Run > Run Configurations.
-
Go to the Arguments tab and append the arguments in the VM arguments section to add the
mule.verbose.exceptions
property. For example:-XX:PermSize=128M -XX:MaxPermSize=256M -Dmule.verbose.exceptions=true
Enable Verbose Logging
To get a better understanding of why an application’s interaction with Salesforce Connector is failing, temporarily enable verbose logging for the connector.
Remember to always disable enhanced verbosity after troubleshooting, because it can affect your Mule application’s performance.
To enable verbose logging in the configuration file:
-
Access Anypoint Studio and navigate to the Package Explorer view.
-
Open your application’s project name.
-
Open the
src/main/resources
folder. -
Open the
log4j2.xml
file inside the folder. -
Add an
<AsyncLogger>
tag inside the<Loggers>
tag: -
Save your application changes.
-
Click the project name in Package Explorer and then click Run > Run As > Mule Application.
Perform General Troubleshooting
Here is a list of general troubleshooting guidelines for Salesforce Connector:
Currency
Currency values cannot exceed 18 characters in length.
When working with multiple currencies, you must know which currency your sObject uses to avoid inaccurate entries. The default currency matches the location at the organization level.
Evaluate Values in a Salesforce List
When using a value to evaluate against contents of an existing list field in Salesforce, use the exact value in the list. For example, if you use the value US
to evaluate against contents of a list that contains the value USA
, the evaluation works, but the result returns two values in the list: one for US
and one for USA
.
Insert Values in a Salesforce Connector List
Inserting dependent values into an existing list in Salesforce Connector does not always work. Test to confirm this functionality.
Japanese Support
Salesforce Connector supports Japanese characters for all operations, with the following exceptions:
-
The Publish Streaming Channel operation does not support Japanese characters in the Channel name field, which can contain only alphanumeric characters, and the
_
or/
characters. Refer to the Salesforce StreamingChannel documentation for more information. -
Metadata operations might return error messages if some fields contain Japanese characters. For example, creating custom objects or custom fields with a Full Name that contains Japanese characters triggers a
FIELD_INTEGRITY_EXCEPTION
error with the following message:
The Object Name field can only contain underscores and alphanumeric characters. It must be unique, begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores.
Understand Commonly Thrown Exceptions
Here is a list of commonly thrown exception messages and how to interpret them:
-
SALESFORCE:COMMUNICATION
A communication error occurs between systems.
-
SALESFORCE:CONNECTIVITY
A problem occurred and a connection could not be established.
-
SALESFORCE:INSUFFICIENT_PERMISSIONS
The provided permissions are insufficient.
-
SALESFORCE:INVALID_INPUT
The provided input data for an operation is not valid.
-
SALESFORCE:INVALID_RESPONSE
The response from the server cannot be processed.
-
SALESFORCE:LIMIT_EXCEEDED
A specific limit is exceeded, for example, if you try to create more than 200 entities at once with the *Create* operation.
-
SALESFORCE:MUTUAL_AUTHENTICATION_FAILED
The mutual authentication failed.
-
SALESFORCE:NOT_FOUND
The server could not find the requested resource.
-
SALESFORCE:OPERATION_NOT_SUPPORTED
The operation is not supported.
-
SALESFORCE:RETRY_EXHAUSTED
The maximum number of retries for the operation is reached.
-
SALESFORCE:TIMEOUT
A specific request takes longer than a configured amount of time to complete.
-
SALESFORCE:UNAVAILABLE
The server is unavailable.