Giter Club home page Giter Club logo

mule-transport-cifs's Introduction

Mule CIFS transport

This transport is similar to the file transport but allows accessing files on a remote Windows (Samba) server.

Installation

Maven

This transport is deployed to the MuleForge Maven repository. To use it from Maven, simply add the following repository definition to your pom.xml

<repository>
    <id>mulesoft.releases</id>
    <name>Muleforge Releases Repository</name>
    <url>https://repository.mulesoft.org/releases/</url>
</repository>

and delcare a dependency on the transport.

Snapshots are available, too. If you want to use a snapshot, you need to add this repository declaration to your pom.xml:

<repository>
    <id>mulesoft.releases</id>
    <name>Muleforge Releases Repository</name>
    <url>https://repository.mulesoft.org/snapshots/</url>
</repository>

Manual installation

To use this transport along with a Mule standalone distribution, simply download the transport jar from the MuleForge Maven repository and put it into $MULE_HOME/lib/mule. You also have to download the only depenency of this transport, cifs, from Mule's third party repository and put it into $MULE_HOME/lib/opt.

Alternatively, you can bundle the two jar files along with your application.

Usage

The cifs transport is very similar to the File transport. It can be used to retrieve files from an SMB share:

<flow name="smb2file">
    <smb:inbound-endpoint host="the-host" user="username" password="secret" path="/path"/>
    <file:outbound-endpoint path="/data"/>
</flow>

or to store files on an SMB share:

<flow name="file2smb">
    <file:inbound-endpoint path="/data"/>
    <smb:outbound-endpoint host="the-host" user="username" password="secret" path="/path"/>
</flow>

mule-transport-cifs's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

mule-transport-cifs's Issues

moveToDir ,moveToPattern does not passed to Reciever

Hi, thanx for this useful tranport in win-unix mix env like ours.

One thing I noticed is

moveToPattern and moveToDir is used in SmbMessageReceiver.java but not passed . via arguments.
I have changed locally and have my own version of it and use this connector in our project.

patch is below . I quickly amend it so that i maybe not approriate way to change about it.

Index: src/main/java/org/mule/transport/cifs/SmbMessageReceiver.java

--- src/main/java/org/mule/transport/cifs/SmbMessageReceiver.java (revision 4700)
+++ src/main/java/org/mule/transport/cifs/SmbMessageReceiver.java (working copy)
@@ -62,14 +62,15 @@
super(connector, flowConstruct, endpoint);

     this.setFrequency(frequency);
  •    this.moveToDir = moveToDir;
    
  •    this.moveToPattern = moveToPattern;
    
    +// this.moveToDir = moveToDir;
    +// this.moveToPattern = moveToPattern;
    this.fileAge = fileAge;
    this.connector = (SmbConnector)connector;
    • this.moveToDir = this.connector.getMoveToDirectory();
      this.moveToPattern = this.connector.getMoveToPattern();
  •  if (endpoint.getFilter() instanceof FilenameFilter)
     {
    

Create directories?

Hi Dirk,

One of our use case is when sending files to network share via smb, if the path/to/file doesn't exists, it should create directories in flight.

Eg. sending to smb://host/a/b/c/d/xyz.json, but in the remote drive there is only /a/b, then c/d should be created dynamically.

I found this http://stackoverflow.com/questions/24527045/how-to-create-directories-using-samba-client
from the answer it seems just add checks whenever doing new SmbFile() and call mkdir if path to file is n/a, is it possible you could update this?

Thanks very much

James

Logger level for user credentials

Hi,

We are very happy that this lib helps us to easily transporting file with smb protocol. Only one enhancement requirement:

Currently the logger is logging the user credentials in plain text:
https://github.com/dirk-olmes/mule-transport-cifs/blob/master/src/main/java/org/mule/transport/cifs/SmbConnector.java#L164

Could this be DEBUG so that we can keep the secret? We can configure the log4j from our side but still like the source code to be updated in this case.

Regards
James

Transport doesn't seems to be available on mule repository anymore

Hi,

I tried to use this transport as inbound-endpoint but it seems that it is not available anymore on mule's maven repository.
Building with maven throws this:


Failed to execute goal on project test_file_tojms: Could not resolve dependencies for project com.mycompany:test_file_tojms:mule:1.0.0-SNAPSHOT: Failed to collect dependencies at org.mule.transports:mule-transport-cifs:jar:3.3.0 -> org.samba.jcifs:jcifs:jar:1.3.10: Failed to read artifact descriptor for org.samba.jcifs:jcifs:jar:1.3.10: Could not transfer artifact org.samba.jcifs:jcifs:pom:1.3.10 from/to mule-deps (http://dist.codehaus.org/mule/dependencies/maven2): dist.codehaus.org: unknown error: Unknown host dist.codehaus.org:
....

Is the project still alive? would you suggest any alternative to maven build?

Thanks in advance.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.