Sample Code

The following examples show how to set request- and search-level preferences.

For details on each preference, see Request-Level Preferences.

Note:

When setting a preference value, you must use camelCase style capitalization for the preference type name. Although no errors are thrown if this is not used correctly, your settings will be ignored.

C#

In the following example, a general search-level preference is set.

          // Set up request-level preferences as a SOAP header

Preferences prefs = new Preferences();
_service.preferences = prefs;

// Set preference to specify that warnings should be treated as errors

prefs.warningAsErrorSpecified = true;
prefs.warningAsError = false; 

        

In this example, search preferences are set.

          // Set search preference and invoke search operation

_service.searchPreferences.pageSize = 20;
_service.searchPreferences.pageSizeSpecified = true; 
SearchResult response = _service.search( custSearch ); 

        

Java

In the following example, several request-level preferences are set.

          private void setPreferences() throws SOAPException
{
   stub = (NetSuiteBindingStub) _port;
   stub.clearHeaders();
   SOAPHeaderElement prefHeader =
   new SOAPHeaderElement("urn:messages_2017_1.platform.webservices.netsuite.com", "preferences");
   Preferences prefs = new Preferences();
   prefs.setWarningAsError(new Boolean(false));
   prefs.setUseConditionalDefaultsOnAdd(new Boolean(false));
   prefs.setUseConditionalDefaultsOnUpdate(new Boolean(false));
   prefs.setDisableMandatoryCustomFieldValidation(new Boolean(true));
   prefs.setDisableSystemNotesForCustomFields(new Boolean(true));
   prefs.setIgnoreReadOnlyFields(new Boolean(true));
   prefHeader.setObjectValue(prefs);

   stub.setHeader(prefHeader);
} 

        

In the following example, seach-level preferences are set.

          NetSuiteBindingStub stub = (NetSuiteBindingStub)aPort;
stub.clearHeaders();
SOAPHeaderElement searchPrefHeader = new
SOAPHeaderElement("urn:messages_2017_1.platform.webservices.netsuite.com","searchPreferences");
SearchPreferences searchPrefs = new SearchPreferences();
searchPrefs.setPageSize(new Integer(nPageSize));
searchPrefs.setBodyFieldsOnly(isBodyFieldsOnly);
searchPrefHeader.setObjectValue(searchPrefs);
stub.setHeader(searchPrefHeader); 

        

SOAP Request

The following SOAP request shows several request-level preferences being set.

          <soap:Header>
<platformMsgs:preferences>
   <platformMsgs:warningAsError>true</platformMsgs:warningAsError>
   <platformMsgs:useConditionalDefaultsOnAdd>true</platformMsgs:useConditionalDefaultsOnAdd>
   <platformMsgs:useConditionalDefaultsOnUpdate>true</platformMsgs:useConditionalDefaultsOnUpdate>
   <platformMsgs:disableMandatoryCustomFieldValidation>true</platformMsgs:disableMandatoryCustomFieldValidation>
   <platformMsgs:disableSystemNotesForCustomFields>true   </platformMsgs:disableSystemNotesForCustomFields>
</platformMsgs:preferences>
</soap:Header> 

        

Related Topics

SuiteTalk SOAP Web Services Platform Overview
SOAP Web Services Preferences
Company-Wide Preferences
One-Time Preferences
Setting the Internal ID Preference
Caching Behavior in SOAP Web Services

General Notices