Mule ESB - 带有自定义字段的 NetSuite Upsert
Mule ESB - NetSuite Upsert with Custom Fields
我正在尝试使用 NetSuite 连接器通过 Mule ESB 更新插入日志行。
在我们的设置中有很多自定义字段,有些是必需的。
有一个包含多行的日记条目,必须使用更新插入操作将其发布到 NS,但我受困于自定义字段。
这是我到目前为止尝试过的方法:
- 创建了一个 JournalEntry 对象,并将其传递给 NetSuite 组件。失败,因为它不是地图,并且没有更新插入对象操作。
- 已将此对象传递给 DataMapper。 CustomFields 没有映射,生成的映射也是一团乱七八糟的东西。
- 创建了字段映射,其中自定义字段是映射内的映射,出现 JAXB 错误。
不幸的是,文档根本没有提到自定义字段。
谁能告诉我一个可行的方法?
...说得太快了。我找到了解决方案。
"customField" 条目的结构必须是 List<Map<String,Object>>
,其中 Object
是 CustomFieldRef
或其他任何内容。
在 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'
]
}
}
我正在尝试使用 NetSuite 连接器通过 Mule ESB 更新插入日志行。 在我们的设置中有很多自定义字段,有些是必需的。 有一个包含多行的日记条目,必须使用更新插入操作将其发布到 NS,但我受困于自定义字段。
这是我到目前为止尝试过的方法:
- 创建了一个 JournalEntry 对象,并将其传递给 NetSuite 组件。失败,因为它不是地图,并且没有更新插入对象操作。
- 已将此对象传递给 DataMapper。 CustomFields 没有映射,生成的映射也是一团乱七八糟的东西。
- 创建了字段映射,其中自定义字段是映射内的映射,出现 JAXB 错误。
不幸的是,文档根本没有提到自定义字段。 谁能告诉我一个可行的方法?
...说得太快了。我找到了解决方案。
"customField" 条目的结构必须是 List<Map<String,Object>>
,其中 Object
是 CustomFieldRef
或其他任何内容。
在 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'
]
}
}