NetSuite Connector Troubleshooting - Mule 4

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:

Caused by: java.lang.InterruptedException
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:998) ~[?:1.8.0_221]

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

Standard

Frequency (ms)

5

Reconnection Attempts

2

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.