Mule ESB - 带有自定义字段的 NetSuite Upsert

Mule ESB - NetSuite Upsert with Custom Fields

我正在尝试使用 NetSuite 连接器通过 Mule ESB 更新插入日志行。 在我们的设置中有很多自定义字段,有些是必需的。 有一个包含多行的日记条目,必须使用更新插入操作将其发布到 NS,但我受困于自定义字段。

这是我到目前为止尝试过的方法:

  1. 创建了一个 JournalEntry 对象,并将其传递给 NetSuite 组件。失败,因为它不是地图,并且没有更新插入对象操作。
  2. 已将此对象传递给 DataMapper。 CustomFields 没有映射,生成的映射也是一团乱七八糟的东西。
  3. 创建了字段映射,其中自定义字段是映射内的映射,出现 JAXB 错误。

不幸的是,文档根本没有提到自定义字段。 谁能告诉我一个可行的方法?

...说得太快了。我找到了解决方案。

"customField" 条目的结构必须是 List<Map<String,Object>>,其中 ObjectCustomFieldRef 或其他任何内容。

CustomFieldRef 的情况下,映射的键被忽略,值被原封不动地复制到消息中。

在其他 class 的情况下,映射的键必须是以下格式:FieldTypeClass__fieldname(其中 __ 是分隔符。)因此 SelectCustomFieldRef__custbody_source_system 导致 SelectCustomFieldRef 对象 scriptId 设置为 custbody_source_system.

示例:

%dw 1.0
%output application/java
---
{
    internalId : 123456,
    tranId : 'TR-2016-01',
    customFieldList : {
        customField : [
        StringCustomFieldRef__custbody_payment_url : 'http://www.example.com'
        ]       
    }
}