Getting started Community Training Tutorials Documentation APIs, AI & Tools
<Loggers>
...
<AsyncLogger name="com.mulesoft.connectors.workday" level="DEBUG"/>
...
</Loggers>
To troubleshoot Anypoint Connector for Workday (Workday Connector), become familiar with the information about addressing specific common errors and interpreting commonly thrown exception messages.
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 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
To get a better understanding of why an application’s interaction with Workday 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:
<Loggers>
...
<AsyncLogger name="com.mulesoft.connectors.workday" level="DEBUG"/>
...
</Loggers>
Save your application changes.
Click the project name in Package Explorer and then click Run > Run As > Mule Application.
Here is a list of the common Workday Connector errors and how to resolve them:
The connector throws CONNECTIVITY errors to trigger the reconnection process. If the connector throws a CONNECTIVITY error and reconnection is configured for the configuration that throws the error, the connector recreates the session and retries the operation automatically.
The reconnection process is handled by Mule runtime and comes with some exceptions, for example, if a CONNECTIVITY error is thrown during the connection creation process, then the reconnection is not triggered even if reconnection is configured. This is because the CONNECTIVITY error occurs while connecting to the third-party system, so the CONNECTIVITY error (usually caused by expired credentials or misconfiguration) is likely to occur every time, which retries the reconnection as many times as the reconnection is configured. It is the user’s responsibility to handle CONNECTIVITY errors if they are thrown during connection creation.
Workday Connector logs the following warning message on every HTTP call:
WARN 2020-11-10 10:51:57,494 [[MuleRuntime].uber.12: [workday].workdayFlow.BLOCKING @766054e8] [processor: ; event: 5ec7a670-233a-11eb-a099-f018989d247f] com.ning.http.client.RequestBuilderBase: Value was null, set to ""
To remove this warning from the Anypoint Studio console, update src/main/resources/log4j2.xml with the following line:
<AsyncLogger name="com.ning.http.client.RequestBuilderBase" level="ERROR"/>
Due to connectivity issues, you might experience a timeout while obtaining metadata from Workday Connector and receive one of the following errors:
Error While Retrieving SOAP Client ID
org.mule.runtime.api.exception.MuleRuntimeException: Error while retrieving soap client id [Absence_Management]
org.mule.runtime.api.exception.MuleRuntimeException: Error while retrieving soap client id [Absence_Management]
Caused by: java.util.concurrent.ExecutionException:
org.mule.wsdl.parser.exception.WsdlParsingException: Error processing
WSDL file [https://wd3-impl-services1.workday.com/ccx/service/deakin_amu1/Absence_Management/v29.1?wsdl]:
Unable to locate document at 'https://wd3-impl-services1.workday.com/ccx/service/deakin_amu1/Absence_Management/v29.1?wsdl'.
Mule Agent REST Service Timed Out
org.mule.tooling.client.api.exception.TimeoutException: Mule Agent REST service timed out
org.mule.tooling.client.api.exception.TimeoutException: Mule Agent REST service timed out
javax.ws.rs.ProcessingException: java.net.SocketTimeoutException: Read timed out
at org.glassfish.jersey.client.HttpUrlConnector.apply(HttpUrlConnector.java:244)
at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:245)
at org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:671)
at org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:668)
at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
at org.glassfish.jersey.internal.Errors.process(Errors.java:228)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:444)
at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:668)
at
To resolve this error:
Increase the timeout values in Anypoint Studio:
In Anypoint Studio, go to Preferences > Anypoint Studio > Tooling.
Increase the values to double the default value for Default Connection Timeout and Default Read Timeout.
Click Apply and restart Studio.
When validating connectivity using the Test Connection button, you might encounter an error regarding the Get_Degrees operation:
org.mule.runtime.api.exception.MuleRuntimeException: java.lang.RuntimeException: Unexpected error while consuming the web service operation [Get_Degrees]
To validate connectivity using the Test Connection button, Workday Connector uses a Performance_Management service with the Get_Degrees operation. You must ensure that your service account has the required permissions to operate on that service. To resolve this error, grant permissions for the Get_Degrees operation in the Performance_Management web service.
Here is a list of commonly thrown exception messages and how to interpret them:
WORKDAY:CONNECTIVITY
A connection cannot be established.
WORKDAY:PROCESSING_ERROR
A processing error occurs, for example, the connector cannot read from the inbound message.
WORKDAY:RETRY_EXHAUSTED
The maximum number of retries for the operation is reached.
WORKDAY:VALIDATION_ERROR
A validation error occurs, for example, an inactive organization includes an active organization.