Mule SFTP Component component












1















I am developing mule flow wherein mule process has to upload file/files (from source directory) to SFTP server.



IN Folder (This folder holds file to transfer to SFTP)



I have below mule flow



<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:file="http://www.mulesoft.org/schema/mule/file" xmlns:sftp="http://www.mulesoft.org/schema/mule/sftp" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/sftp http://www.mulesoft.org/schema/mule/sftp/current/mule-sftp.xsd
http://www.mulesoft.org/schema/mule/file http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd">
<flow name="sftpFlow1">
<poll doc:name="Poll">
<fixed-frequency-scheduler frequency="30" startDelay="10" timeUnit="SECONDS"/>
<logger message="Hi" level="INFO" doc:name="Logger"/>
</poll>
<flow-ref name="sftpSub_Flow" doc:name="Flow Reference"/>
</flow>
<sub-flow name="sftpSub_Flow">
<file:outbound-endpoint path="D:IN" responseTimeout="10000" doc:name="File"/>
<sftp:outbound-endpoint exchange-pattern="one-way" host="host" port="port" path="sftppath" user="user" password="password" responseTimeout="10000" doc:name="SFTP"/>
</sub-flow>

</mule>


Issues:
I don't see any error or exceptions but expected files from IN folder are not getting transfer SFTP server. I see ****.dat file every time sub-flow executes.



Any suggestion?










share|improve this question





























    1















    I am developing mule flow wherein mule process has to upload file/files (from source directory) to SFTP server.



    IN Folder (This folder holds file to transfer to SFTP)



    I have below mule flow



    <?xml version="1.0" encoding="UTF-8"?>

    <mule xmlns:file="http://www.mulesoft.org/schema/mule/file" xmlns:sftp="http://www.mulesoft.org/schema/mule/sftp" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
    xmlns:spring="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
    http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
    http://www.mulesoft.org/schema/mule/sftp http://www.mulesoft.org/schema/mule/sftp/current/mule-sftp.xsd
    http://www.mulesoft.org/schema/mule/file http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd">
    <flow name="sftpFlow1">
    <poll doc:name="Poll">
    <fixed-frequency-scheduler frequency="30" startDelay="10" timeUnit="SECONDS"/>
    <logger message="Hi" level="INFO" doc:name="Logger"/>
    </poll>
    <flow-ref name="sftpSub_Flow" doc:name="Flow Reference"/>
    </flow>
    <sub-flow name="sftpSub_Flow">
    <file:outbound-endpoint path="D:IN" responseTimeout="10000" doc:name="File"/>
    <sftp:outbound-endpoint exchange-pattern="one-way" host="host" port="port" path="sftppath" user="user" password="password" responseTimeout="10000" doc:name="SFTP"/>
    </sub-flow>

    </mule>


    Issues:
    I don't see any error or exceptions but expected files from IN folder are not getting transfer SFTP server. I see ****.dat file every time sub-flow executes.



    Any suggestion?










    share|improve this question



























      1












      1








      1


      1






      I am developing mule flow wherein mule process has to upload file/files (from source directory) to SFTP server.



      IN Folder (This folder holds file to transfer to SFTP)



      I have below mule flow



      <?xml version="1.0" encoding="UTF-8"?>

      <mule xmlns:file="http://www.mulesoft.org/schema/mule/file" xmlns:sftp="http://www.mulesoft.org/schema/mule/sftp" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
      xmlns:spring="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
      http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
      http://www.mulesoft.org/schema/mule/sftp http://www.mulesoft.org/schema/mule/sftp/current/mule-sftp.xsd
      http://www.mulesoft.org/schema/mule/file http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd">
      <flow name="sftpFlow1">
      <poll doc:name="Poll">
      <fixed-frequency-scheduler frequency="30" startDelay="10" timeUnit="SECONDS"/>
      <logger message="Hi" level="INFO" doc:name="Logger"/>
      </poll>
      <flow-ref name="sftpSub_Flow" doc:name="Flow Reference"/>
      </flow>
      <sub-flow name="sftpSub_Flow">
      <file:outbound-endpoint path="D:IN" responseTimeout="10000" doc:name="File"/>
      <sftp:outbound-endpoint exchange-pattern="one-way" host="host" port="port" path="sftppath" user="user" password="password" responseTimeout="10000" doc:name="SFTP"/>
      </sub-flow>

      </mule>


      Issues:
      I don't see any error or exceptions but expected files from IN folder are not getting transfer SFTP server. I see ****.dat file every time sub-flow executes.



      Any suggestion?










      share|improve this question
















      I am developing mule flow wherein mule process has to upload file/files (from source directory) to SFTP server.



      IN Folder (This folder holds file to transfer to SFTP)



      I have below mule flow



      <?xml version="1.0" encoding="UTF-8"?>

      <mule xmlns:file="http://www.mulesoft.org/schema/mule/file" xmlns:sftp="http://www.mulesoft.org/schema/mule/sftp" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
      xmlns:spring="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
      http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
      http://www.mulesoft.org/schema/mule/sftp http://www.mulesoft.org/schema/mule/sftp/current/mule-sftp.xsd
      http://www.mulesoft.org/schema/mule/file http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd">
      <flow name="sftpFlow1">
      <poll doc:name="Poll">
      <fixed-frequency-scheduler frequency="30" startDelay="10" timeUnit="SECONDS"/>
      <logger message="Hi" level="INFO" doc:name="Logger"/>
      </poll>
      <flow-ref name="sftpSub_Flow" doc:name="Flow Reference"/>
      </flow>
      <sub-flow name="sftpSub_Flow">
      <file:outbound-endpoint path="D:IN" responseTimeout="10000" doc:name="File"/>
      <sftp:outbound-endpoint exchange-pattern="one-way" host="host" port="port" path="sftppath" user="user" password="password" responseTimeout="10000" doc:name="SFTP"/>
      </sub-flow>

      </mule>


      Issues:
      I don't see any error or exceptions but expected files from IN folder are not getting transfer SFTP server. I see ****.dat file every time sub-flow executes.



      Any suggestion?







      mule-studio mule-component mule-esb






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Jul 31 '18 at 16:44







      Mind Peace

















      asked Jul 31 '18 at 15:40









      Mind PeaceMind Peace

      737725




      737725
























          2 Answers
          2






          active

          oldest

          votes


















          1














          Here you have used both outbound end points. You need file inbound end point component to pick the file from source location.
          refer below sample for further
          https://dzone.com/articles/anypoint-file-connector-with-mulesoft



          you can use the outputPattern property in sftpoutbound endpoint to change the file name with any extension






          share|improve this answer


























          • Appreciate you response, however as per requirement both SFTP and FILE should be outbound end points hence I designed sample flow like that.

            – Mind Peace
            Aug 1 '18 at 15:45











          • The application should have some kind of input. Your sample is missing that so it is not realistic. If you expect an answer you should provide a more clear sample.

            – Alejandro Dobniewski
            Nov 20 '18 at 2:48



















          0














          Because the application doesn't actually show any input, I'll assume that the sample is flawed but the real application has some inbound endpoint (for example a file inbound endpoing) that is reading in streaming mode. The subflow is trying to consume two time the input stream to output to the two outbound endpoints. Because the first one consumes the stream the second one, the SFTP, gets a consumed empty stream as input so it doesn't output anything. A solution is to convert the input to something in memory, like using the object to byte array transformer in the middle. Be warned that for large files you might run out of memory doing this.






          share|improve this answer























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f51617232%2fmule-sftp-component-component%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            1














            Here you have used both outbound end points. You need file inbound end point component to pick the file from source location.
            refer below sample for further
            https://dzone.com/articles/anypoint-file-connector-with-mulesoft



            you can use the outputPattern property in sftpoutbound endpoint to change the file name with any extension






            share|improve this answer


























            • Appreciate you response, however as per requirement both SFTP and FILE should be outbound end points hence I designed sample flow like that.

              – Mind Peace
              Aug 1 '18 at 15:45











            • The application should have some kind of input. Your sample is missing that so it is not realistic. If you expect an answer you should provide a more clear sample.

              – Alejandro Dobniewski
              Nov 20 '18 at 2:48
















            1














            Here you have used both outbound end points. You need file inbound end point component to pick the file from source location.
            refer below sample for further
            https://dzone.com/articles/anypoint-file-connector-with-mulesoft



            you can use the outputPattern property in sftpoutbound endpoint to change the file name with any extension






            share|improve this answer


























            • Appreciate you response, however as per requirement both SFTP and FILE should be outbound end points hence I designed sample flow like that.

              – Mind Peace
              Aug 1 '18 at 15:45











            • The application should have some kind of input. Your sample is missing that so it is not realistic. If you expect an answer you should provide a more clear sample.

              – Alejandro Dobniewski
              Nov 20 '18 at 2:48














            1












            1








            1







            Here you have used both outbound end points. You need file inbound end point component to pick the file from source location.
            refer below sample for further
            https://dzone.com/articles/anypoint-file-connector-with-mulesoft



            you can use the outputPattern property in sftpoutbound endpoint to change the file name with any extension






            share|improve this answer















            Here you have used both outbound end points. You need file inbound end point component to pick the file from source location.
            refer below sample for further
            https://dzone.com/articles/anypoint-file-connector-with-mulesoft



            you can use the outputPattern property in sftpoutbound endpoint to change the file name with any extension







            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Aug 1 '18 at 6:09

























            answered Aug 1 '18 at 6:02









            Nishanthi WickramasingheNishanthi Wickramasinghe

            95211




            95211













            • Appreciate you response, however as per requirement both SFTP and FILE should be outbound end points hence I designed sample flow like that.

              – Mind Peace
              Aug 1 '18 at 15:45











            • The application should have some kind of input. Your sample is missing that so it is not realistic. If you expect an answer you should provide a more clear sample.

              – Alejandro Dobniewski
              Nov 20 '18 at 2:48



















            • Appreciate you response, however as per requirement both SFTP and FILE should be outbound end points hence I designed sample flow like that.

              – Mind Peace
              Aug 1 '18 at 15:45











            • The application should have some kind of input. Your sample is missing that so it is not realistic. If you expect an answer you should provide a more clear sample.

              – Alejandro Dobniewski
              Nov 20 '18 at 2:48

















            Appreciate you response, however as per requirement both SFTP and FILE should be outbound end points hence I designed sample flow like that.

            – Mind Peace
            Aug 1 '18 at 15:45





            Appreciate you response, however as per requirement both SFTP and FILE should be outbound end points hence I designed sample flow like that.

            – Mind Peace
            Aug 1 '18 at 15:45













            The application should have some kind of input. Your sample is missing that so it is not realistic. If you expect an answer you should provide a more clear sample.

            – Alejandro Dobniewski
            Nov 20 '18 at 2:48





            The application should have some kind of input. Your sample is missing that so it is not realistic. If you expect an answer you should provide a more clear sample.

            – Alejandro Dobniewski
            Nov 20 '18 at 2:48













            0














            Because the application doesn't actually show any input, I'll assume that the sample is flawed but the real application has some inbound endpoint (for example a file inbound endpoing) that is reading in streaming mode. The subflow is trying to consume two time the input stream to output to the two outbound endpoints. Because the first one consumes the stream the second one, the SFTP, gets a consumed empty stream as input so it doesn't output anything. A solution is to convert the input to something in memory, like using the object to byte array transformer in the middle. Be warned that for large files you might run out of memory doing this.






            share|improve this answer




























              0














              Because the application doesn't actually show any input, I'll assume that the sample is flawed but the real application has some inbound endpoint (for example a file inbound endpoing) that is reading in streaming mode. The subflow is trying to consume two time the input stream to output to the two outbound endpoints. Because the first one consumes the stream the second one, the SFTP, gets a consumed empty stream as input so it doesn't output anything. A solution is to convert the input to something in memory, like using the object to byte array transformer in the middle. Be warned that for large files you might run out of memory doing this.






              share|improve this answer


























                0












                0








                0







                Because the application doesn't actually show any input, I'll assume that the sample is flawed but the real application has some inbound endpoint (for example a file inbound endpoing) that is reading in streaming mode. The subflow is trying to consume two time the input stream to output to the two outbound endpoints. Because the first one consumes the stream the second one, the SFTP, gets a consumed empty stream as input so it doesn't output anything. A solution is to convert the input to something in memory, like using the object to byte array transformer in the middle. Be warned that for large files you might run out of memory doing this.






                share|improve this answer













                Because the application doesn't actually show any input, I'll assume that the sample is flawed but the real application has some inbound endpoint (for example a file inbound endpoing) that is reading in streaming mode. The subflow is trying to consume two time the input stream to output to the two outbound endpoints. Because the first one consumes the stream the second one, the SFTP, gets a consumed empty stream as input so it doesn't output anything. A solution is to convert the input to something in memory, like using the object to byte array transformer in the middle. Be warned that for large files you might run out of memory doing this.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 20 '18 at 23:34









                Alejandro DobniewskiAlejandro Dobniewski

                925713




                925713






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f51617232%2fmule-sftp-component-component%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    How to send String Array data to Server using php in android

                    Title Spacing in Bjornstrup Chapter, Removing Chapter Number From Contents

                    Is anime1.com a legal site for watching anime?