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>