2015-08-14 59 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' 
     ]  
    } 
}