2015-08-14 58 views
0

我试图用Mule ESB插入日志行,使用NetSuite连接器。 在我们的设置中有很多自定义字段,有些是必需的。 有一个日志条目有几行,必须使用upsert操作发布到NS,但我坚持使用自定义字段。Mule ESB - 自定义字段的NetSuite Upsert

这里是我试过到目前为止:

  1. 创建JournalEntry的对象,并将其传递给NetSuite的组件。失败,因为它不是一张地图,并且没有Upsert Object操作。
  2. 将此对象传递给DataMapper。 CustomFields没有被映射,结果地图也是一团乱七八糟的东西。
  3. 创建了一个字段的地图,其中自定义字段是地图内的地图,得到了JAXB错误。

不幸的是,文档根本没有提到自定义字段。 任何人都可以告诉我一个工作方法?

回答

1

......太早讲了一会儿。我找到了解决方案。

“customField”条目的结构必须是List<Map<String,Object>>,其中ObjectCustomFieldRef或其他任何东西。

CustomFieldRef的情况下,映射的键被忽略,并且该值被无变化地复制到消息。

在其它类的情况下,映射的键必须是如下格式: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' 
     ]  
    } 
}