2016-02-28 31 views
0

我正在成功從我的Alfresco ECM實例中檢索記錄。當我嘗試將它們推入MongoDb時,出現以下錯誤:

無法從「com.mulesoft.weave.mule.WeaveMessageProcessor $ WeaveOutputHandler」轉換爲「org.bson.Document」(org.mule.api.transformer .TransformerException)。消息有效負載的類型爲:WeaveMessageProcessor $ WeaveOutputHandler

我正在使用Dataweave將查詢記錄轉換爲Json,但我不確定爲什麼會發生這種情況。

這裏是我的流程:

<flow name="mongotestFlow"> 
    <http:listener config-ref="HTTP_Listener_Configuration" path="/add" doc:name="HTTP"/> 
    <cmis:query config-ref="CMIS__Configuration" statement="SELECT cmis:objectId,cmis:name,cmis:contentStreamLength,cmis:creationDate,cmis:lastModifiedBy, cmis:lastModificationDate from cmis:document where cmis:createdBy &lt;&gt; 'System'" doc:name="CMIS"/> 
     <dw:transform-message doc:name="Transform Message"> 
      <dw:set-payload><![CDATA[%dw 1.0 
%output application/json 
--- 
payload.properties map { 
    "size": $.values[2][0] 
} 
]]></dw:set-payload> 
     </dw:transform-message> 
     <mongo:insert-document config-ref="Mongo_DB__Configuration" collection="testCollection" doc:name="Mongo DB" document-ref="#[message.payload]"/> 
    </flow> 

任何幫助將不勝感激。

-S

回答

2

使用<mongo:json-to-dbobject doc:name="Mongo DB"/>插入Mongo

+0

不工作之前......從失敗 「java.lang.String中」 到 「org.bson.Document」(org.mule.api改造。 transformer.TransformerException)。消息有效負載的類型爲:字符串 您的示例有效,但我在我的數據織物中有一個數組。我的dataweave輸出是這個文件: [{「ItemID」:「ca5a12ef-5e26-449b-a7da-5d63141fe90c; 1.0」,「size」:400},{「ItemID」:「7b1a75a3-5ee4-4984-a31b- 1e39d4d54288; 1.0「,」size「:297},{」ItemID「:」9515e794-188f-41d7-bd56-dfb202b4ef5f; 1.0「,」size「:297}] 不應該mongo連接器接受json嗎? – Sonny

+0

我在我的答案中更新了轉換器..給它一個鏡頭 –

+0

另一件令我困惑的事情是定義你的編織轉換的輸出類型是application/json,而你的錯誤指出com.mulesoft.weave.mule .WeaveMessageProcessor $ WeaveOutputHandler'。看起來織物的輸出不是'json'。再次檢查你的配置 –

相關問題