2016-08-22 3 views
0

3つの属性を持つJSONリクエストを受け取りました。属性の1つは、base64の文字列形式のコンテンツです。このリクエストを受け取った後、Salesforceコネクタを使用してSalesforce添付ファイルを作成しています。DataWeave Transformメッセージ変換Cloudhubにデプロイされたときに8192バイト

私はローカルのAnypoint Studioでこれをテストすると問題はありませんが、Cloudhubに展開した後、fileContent(画像コンテンツ)が8192バイトに切り詰められ、添付ファイルが破損していると表示されます。

私は、メッセージ内容の長さが38820(ローカルおよびCloudhubの両方)であるため、APIがコンテンツを受信して​​いる見ることができる、とのメッセージがメッセージ変換後に迷子にされたように見える、とコードは次のとおりです。

 <processor-chain doc:name="Processor Chain"> 
      <dw:transform-message doc:name="Transform Message"> 
       <dw:set-payload><![CDATA[%dw 1.0 
%output application/java 
--- 
{ 
    accountId : payload.accountId, 
    name : 'MyProfilePicture', 
    ContentType: payload.contentType, 
    fileContent : payload.fileContent 
}]]></dw:set-payload> 
      </dw:transform-message> 

      <set-session-variable variableName="accountId" value="#[payload.accountId]" doc:name="Session Variable - accountId"/> 
      <set-session-variable variableName="contentType" value="#[payload.ContentType]" doc:name="Session Variable - contentType"/> 
      <logger message="payload.fileContent Before Conversion size #[payload.fileContent.length()], data:#[payload.fileContent] " level="INFO" doc:name="Logger"/> 
      <set-session-variable variableName="fileContent" value="#[(org.apache.commons.codec.binary.Base64.decodeBase64(payload.fileContent))]" mimeType="binary/octet-stream" doc:name="Session Variable - fileContent"/> 
      <dw:transform-message metadata:id="1676949a-75ba-4e51-82ac-b5788a8e87dc" doc:name="Transform Message"> 
       <dw:input-payload/> 
       <dw:set-payload><![CDATA[%dw 1.0 
%output application/java 
--- 
[{ 
    Name: 'MyProfilePicture', 
    ParentId: sessionVars.accountId, 
    ContentType: sessionVars.contentType, 
    Body: sessionVars.fileContent 
}]]]></dw:set-payload> 
      </dw:transform-message> 
      <logger message="Payload after Transform Message: #[payload]" level="INFO" doc:name="Logger"/> 
      <sfdc:create config-ref="Salesforce__Cfg" type="Attachment" doc:name="Salesforce"> 
       <sfdc:objects ref="#[payload]"/> 
      </sfdc:create> 
     </processor-chain> 

誰でもこれを助けてくれますか? Cloudhubにデプロイするときに8192バイトしか処理しないのはなぜですか?

おかげで、

トーマス

答えて

0

これは巨大なbase64で変換のために非推奨DataMapperのに切り替えることにより固定することができます。

関連する問題