0

'Salesforce'커넥터를 사용하여 Salesforce에 대소 문자를 생성하는 흐름을 작성했습니다. 이제는 같은 뮬 플로우를 사용하여 파일을 업로드해야합니다. ,커넥터를 사용하여 salesforce에 파일 업로드

시도 {

File f = new File("c:\java\test.docx"); 
    InputStream is = new FileInputStream(f); 
    byte[] inbuff = new byte[(int)f.length()];   
    is.read(inbuff); 

    Attachment attach = new Attachment(); 
    attach.setBody(inbuff); 
    attach.setName("test.docx"); 
    attach.setIsPrivate(false); 
    // attach to an object in SFDC 
    attach.setParentId("a0f600000008Q4f"); 

    SaveResult sr = binding.create(new com.sforce.soap.enterprise.sobject.SObject[] {attach})[0]; 
    if (sr.isSuccess()) { 
     System.out.println("Successfully added attachment."); 
    } else { 
     System.out.println("Error adding attachment: " + sr.getErrors(0).getMessage()); 
    } 


} catch (FileNotFoundException fnf) { 
    System.out.println("File Not Found: " +fnf.getMessage()); 

} catch (IOException io) { 
    System.out.println("IO: " +io.getMessage());    
} 

그러나 간단하게 할 않는 자동으로이 모든 일을하고 특정 만든 경우에 파일을 첨부 어떤 노새 커넥터가이 다음 코드에 의해 프로그래밍 방식으로 수행 할 수 있습니다.

답변

0

예 Salesforce Cloud Connector를 사용할 수 있습니다. 예 : 예에서

<file:file-to-byte-array-transformer /> 
<sfdc:create type="Attachment"> 
    <sfdc:objects> 
     <sfdc:object> 
      <body>#[payload]</body> 
      <name>test.docx</name> 
      <parentid>#[message.inboundProperties['mysfdcparentid']]</parentid> 
     </sfdc:object> 
    </sfdc:objects> 
</sfdc:create> 

, 나는 '첨부 파일'에 sobject 유형을 설정하고있다.

body 요소는 파일 자체입니다. 커넥터가 base64 인코딩을 처리 할 것이므로 바이트 배열을 제공하면됩니다. File을 사용하는 경우 file : file-to-byte-array-transformer를 사용할 수 있습니다.

parentid는 메시지 속성에서 값을 가져 오기 위해 MEL을 사용하여 설정됩니다. 따라서 이전 SFDC 연산이있는 경우 MEL을 사용하여 이전 객체의 값을 추출 할 수 있습니다.

+0

한 번에 사례를 생성하여 해당 사례에 첨부 할 수 있습니까? –

+0

사례를 만들려면 사례 유형을 '사례'로 설정합니다. 그리고 파일을 첨부하기 위해, 내가 말했듯이 sobject type을 'Attachment'로 설정합니다. 단일 Salesforce 클라우드 커넥터에서 두 가지 작업을 모두 수행 할 수 있습니까? –

관련 문제