Я пытаюсь обновить поле в пользовательском объекте, но когда я это сделаю, я получаю сообщение об ошибке java.lang.NullPointerException
.API NetSuite: обновление поля пользовательского объекта
Существует также это в объекте Code исключения: http://schemas.xmlsoap.org/soap/envelope/:Server.userException
. This S/O thread указывает, что может быть что-то не так с запросом, который я отправил, что заставило сервер выбросить исключение. Но что? В исключении нет никаких деталей.
Насколько я вижу, я следую примеру обновления в «Руководстве по платформе SuiteTalk (Web Services)», за исключением того, что это «CustomRecord», а не «Клиент», поэтому мне пришлось сделать некоторые изменения.
Это метод, который я должен помочь обновить CustomRecords. Ошибка происходит в последней строке, где я на самом деле сделать запрос:
private static void UpdateCustomRecordValue(CustomRecord customRecord, string fieldName, string newValue, NetSuiteService netsuiteService)
{
var field = customRecord.customFieldList.Where(custField => custField.scriptId == fieldName).FirstOrDefault();
if (field == null) return;
var updateRecord = new CustomRecord();
updateRecord.scriptId = customRecord.scriptId;
CustomFieldRef[] custFieldList = new CustomFieldRef[] {
new StringCustomFieldRef
{
value = newValue,
scriptId = field.scriptId
}
};
updateRecord.customFieldList = custFieldList;
var updateResponse = netsuiteService.update(updateRecord);
}
scriptId идентифицирует тип записи. Вам также нужен внутренний идентификатор экземпляра записи. – bknights
@bknights Спасибо, это привело меня к правильному пути! – FirstDivision