<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Elliot</title>
    <description>The latest articles on DEV Community by Elliot (@elliot518).</description>
    <link>https://dev.to/elliot518</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1506382%2Fc8c8e4d1-eb8a-417e-9f10-d265113a0402.png</url>
      <title>DEV Community: Elliot</title>
      <link>https://dev.to/elliot518</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/elliot518"/>
    <language>en</language>
    <item>
      <title>MuleSoft - SFTP - Write content to file and upload to server</title>
      <dc:creator>Elliot</dc:creator>
      <pubDate>Thu, 06 Nov 2025 06:35:27 +0000</pubDate>
      <link>https://dev.to/elliot518/mulesoft-sftp-write-content-to-file-and-upload-to-server-229n</link>
      <guid>https://dev.to/elliot518/mulesoft-sftp-write-content-to-file-and-upload-to-server-229n</guid>
      <description>&lt;h3&gt;
  
  
  1. Add modue of SFTP
&lt;/h3&gt;

&lt;p&gt;After adding module of SFTP, you'll see below maven dependency added in pom&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.mule.connectors&lt;span class="nt"&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;mule-sftp-connector&lt;span class="nt"&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;version&amp;gt;&lt;/span&gt;2.5.1&lt;span class="nt"&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;classifier&amp;gt;&lt;/span&gt;mule-plugin&lt;span class="nt"&gt;&amp;lt;/classifier&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  2. Setup local sftp server by docker
&lt;/h3&gt;

&lt;p&gt;This section is omitted; please refer to the following article for details:&lt;br&gt;
&lt;a href="https://github.com/Elliot518/tech-bible/blob/main/English/11_FundamentalSkills/Servers/install_sftp_server.md" rel="noopener noreferrer"&gt;install sftp server&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
&lt;h3&gt;
  
  
  3. Config sftp in yaml file
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;yaml
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;sftp&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;host&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;127.0.0.1"&lt;/span&gt;  
  &lt;span class="na"&gt;port&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;2222"&lt;/span&gt;              
  &lt;span class="na"&gt;username&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;sftpuser"&lt;/span&gt;    
  &lt;span class="na"&gt;password&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;123456"&lt;/span&gt;   
  &lt;span class="na"&gt;remotePath&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;~/sftp"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt; &lt;/p&gt;
&lt;h3&gt;
  
  
  4. Add SFTP in global element config properties
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3k14zl76rk9zgvwoc3fw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3k14zl76rk9zgvwoc3fw.png" alt="SFTP global config" width="737" height="781"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here's xml code of it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;sftp:config&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"SFTP_Config"&lt;/span&gt; &lt;span class="na"&gt;doc:name=&lt;/span&gt;&lt;span class="s"&gt;"SFTP Config"&lt;/span&gt; &lt;span class="na"&gt;doc:id=&lt;/span&gt;&lt;span class="s"&gt;"8217af71-2499-4cc2-9506-b81ab62b0e21"&lt;/span&gt; &lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;sftp:connection&lt;/span&gt; &lt;span class="na"&gt;host=&lt;/span&gt;&lt;span class="s"&gt;"${sftp.host}"&lt;/span&gt; &lt;span class="na"&gt;port=&lt;/span&gt;&lt;span class="s"&gt;"${sftp.port}"&lt;/span&gt; &lt;span class="na"&gt;username=&lt;/span&gt;&lt;span class="s"&gt;"${sftp.username}"&lt;/span&gt; &lt;span class="na"&gt;password=&lt;/span&gt;&lt;span class="s"&gt;"${sftp.password}"&lt;/span&gt; &lt;span class="na"&gt;workingDir=&lt;/span&gt;&lt;span class="s"&gt;"/"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/sftp:config&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  5. Drag and drop an SFTP write processor and config it
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpgygfrvcs3rhtctvllue.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpgygfrvcs3rhtctvllue.png" alt="SFTP write" width="528" height="296"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdzq57v2gu7b6yuh2n2bj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdzq57v2gu7b6yuh2n2bj.png" alt=" " width="800" height="268"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here's xml code of it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;sftp:write&lt;/span&gt; &lt;span class="na"&gt;doc:name=&lt;/span&gt;&lt;span class="s"&gt;"Write"&lt;/span&gt; &lt;span class="na"&gt;doc:id=&lt;/span&gt;&lt;span class="s"&gt;"40143955-915c-4a62-8aeb-c65f8fb344b8"&lt;/span&gt; &lt;span class="na"&gt;config-ref=&lt;/span&gt;&lt;span class="s"&gt;"SFTP_Config"&lt;/span&gt; &lt;span class="na"&gt;path=&lt;/span&gt;&lt;span class="s"&gt;"/upload/test2.txt"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  6. Use Bruno &amp;amp; FileZilla to verify the program
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Bruno&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffjnxid1pmsxa10u40cmd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffjnxid1pmsxa10u40cmd.png" alt="Bruno Test" width="800" height="240"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;FileZilla&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After requesting successfully in bruno, you'll see below result in FileZilla:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwto26rzox9y0zd5gg3cc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwto26rzox9y0zd5gg3cc.png" alt="FileZilla File" width="800" height="332"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Download the file from FileZilla, and the content of the file should be like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
    "ftpHost": "127.0.0.1",
    "ftpPort": 2222,
    "username": "sftpuser",
    "password": "sftppass",
    "remotePath": "/uploads",
    "fileName": "local-test.txt",
    "fileContent": "SGVsbG8gTG9jYWxTdG9yZSE="
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>docker</category>
      <category>tutorial</category>
      <category>java</category>
      <category>backend</category>
    </item>
  </channel>
</rss>
