Caused by: java.lang.InterruptedException
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:998) ~[?:1.8.0_221]
NetSuite Connector Troubleshooting - Mule 4
You might encounter the following issues when working with the Anypoint Connector for NetSuite (NetSuite Connector):
Connectivity Test Failure During Application Startup
If a connectivity test fails during application startup and you see the following statement in the stack trace, configure a reconnection strategy for the connector:
To configure a reconnection strategy for the connector in Anypoint Studio (Studio), add these lines to the Configure XML tab in the connector properties window:
<reconnection failsDeployment="true">
<reconnect count="2" frequency="5" />
</reconnection>
For example, the configuration XML for the connector might look like this after you add the reconnection strategy:
<netsuite:config name="NetSuite_Config" doc:name="NetSuite Config" doc:id="8a4f73c2-e5e1-4f5d-8978-980069828ff0" >
<netsuite:request-based-authentication-connection email="${netsuite.email}" password="${netsuite.password}" account="${netsuite.account}" roleId="${netsuite.roleId}" applicationId="${netsuite.applicationId}" readTimeout="60000" connectionTimeout="60000">
<reconnection failsDeployment="true">
<reconnect count="2" frequency="5" />
</reconnection>
</netsuite:request-based-authentication-connection>
In Studio, you can also use the Advanced tab in the connector properties window to configure a reconnection strategy. To do so, complete the following fields:
Field | Value |
---|---|
Reconnection strategy |
|
Frequency (ms) |
|
Reconnection Attempts |
|
No Logging of Log Requests and Responses
To log requests and responses when using the connector, add this XML statement to the Log4j
configuration file:
<AsyncLogger
name="org.mule.module.netsuite.extension.internal.connection.HttpWithCookieMessageDispatcher"
level="DEBUG"/>
<Root level="debug">
<AppenderRef ref="Console" />
</Root>
Permissions Error When Fetching Metadata
To avoid receiving a permissions error when fetching metadata, enable the Control SuiteScript and Workflow Triggers in Web Services Request
option in NetSuite for the role used in the connector configuration.
You also need to enable the Custom Segments
option in NetSuite to be able to fetch metadata with custom fields.
Inability to Search for Certain Types of Objects
There is a limitation in NetSuite’s SuiteTalk API, that prevents you from searching for certain types of objects, such as Sales Order objects. Because of this limitation, you can’t use the NetSuite Connector Search
operation to locate these objects.
To perform a search for Sales Order objects and other unsupported objects, you can do either of the following:
-
Develop a SuiteScript, deploy it as a RESTlet, and call it from the connector.
-
Create a saved search and call it from the connector.
Inability to Set a Custom Record as an Object Type for Sources
The connector does not support custom records as object types for all sources (On Deleted Object, On Modified Object, and On New Object).
However, you can set CUSTOM_RECORD_BASIC and work with this type for On Deleted Object or On New Object.