Introduction

Welcome to /n software Connectors for MuleSoft, a suite of pure java Connectors and Modules that seamlessly integrate with the MuleSoft. The connectors extend the features of MuleSoft with advanced Internet communications and secure messaging capabilities.

Included Connector and Modules

AESThe AES Transformer can be used to encrypt and decrypt data for regular transport.
AS2The AS2 Component adds AS2 send and receive capabilities to MuleSoft.
AS4The AS4 Component adds AS4 send and receive capabilities to MuleSoft.
AS4WebThe AS4Web Component adds AS4 receive functionality to MuleSoft.
Bzip2The Bzip2 transformer implements a Bzip2-compliant compressor and decompressor.
EmailThe Email Component adds SSL-protected email capability to the MuleSoft.
EzCryptThe EzCrypt Transformer can be used to encrypt and decrypt data for regular transport.
FTPThe FTP Component adds SSL-enabled FTP send and receive capabilities to your MuleSoft.
GzipThe GZIP transformer implements a gzip compressor and decompressor, compliant to RFC 1952 and compatible with the UNIX gzip and gunzip utilities.
HashThe Hash Transformer can be used to calculate a hash value.
HTTPThe HTTP component provides a flexible HTTP client to send and receive data to web servers.
LDAPThe LDAP Component enables your MuleSoft to perform operations against any LDAP directory server.
OFTPThe OFTP Component adds OFTP send and receive capabilities to your MuleSoft.
OpenPGPThe OpenPGP Transformer provides OpenPGP signing and encryption functionality.
RESTThe REST component provides a simple, ligthweight and fast way to communicate with RESTful web server.
SCPThe SCP Component adds SSH-secured file transfer capabilities to your MuleSoft.
SevenZipThe SevenZip transformer implements a 7zip-compatible Zip compressor and decompressor.
SExecThe SExec Component enables your MuleSoft to execute remote commands over SSH.
SFTPThe SFTP Component adds SSH-secured file transfer capabilities to your MuleSoft.
SMIMEThe SMIME transformer implements the S/MIME standard for encryption and decryption with public key cryptography and X.509 digital certificates.
SQSThe SQS Component provides access to Amazon's Simple Queue Service (SQS).
SSHThe SSH Component enables your MuleSoft to execute remote commands over SSH.
WebDAVThe WebDAV Component adds SSL-enabled WebDAV send and receive capabilities to your MuleSoft.
XMPPThe XMPP Component adds instant messaging functionality to your MuleSoft.
ZipThe Zip transformer implements a PKZip-compatible Zip compressor and decompressor.

Additional Information

You will always find the latest information about /n software Connectors for MuleSoft at our web site: www.nsoftware.com. We offer free, fully-functional 30-day trials for all of our products, and our technical support staff are happy to answer any questions you may have during your evaluation.

Please direct all technical questions to support@nsoftware.com. To help support technicians assist you as quickly as possible, please provide an detailed and accurate description of your problem, the results you expected, and the results that you received while using our product. For questions about licensing and pricing, and all other general inquiries, please contact sales@nsoftware.com.

Thank You!

Thank you for choosing /n software Connectors for MuleSoft for your development needs. We realize that you have a choice among development tools, and that by choosing us you are counting on us to be a key component in your business. We work around the clock to provide you with ongoing enhancements, support, and innovative products; and we will always do our best to exceed your expectations!

Installation Instructions

Thank you for choosing /n software MuleSoft Connectors. Below you will find detailed installation and deployment instructions for CloudHub, Anypoint Studio 7 (Mule Runtime 4.0+), and Anypoint Studio 6 (Mule Runtime 3.5+).

If you need any additional assistance please contact us at support@nsoftware.com

CloudHub Deployment

You will need an Anypoint Platform account to deploy to CloudHub. Each connector has a RuntimeLicense property which must be set before deploying your application.

In Anypoint Studio, right click the project in the Package Explorer and navigate to Anypoint Platform > Deploy to CloudHub. Enter your account credentials when prompted.

Select the deployment platform. In this case we will deploy to the Sandbox environment.

Finally, enter any application settings and click Deploy Application.

Once the application has been deployed, it can be managed in the Anypoint Runtime Manager.

For more information about CloudHub deployment please see MuleSoft's Deploy to CloudHub page.

Anypoint Studio 7 (Mule Runtime 4.0+)

Each connector is provided as a .jar file which must first be added to the local Maven Repository before it can be used.

In Anypoint Studio, on the toolbar find the "Install Artifact into local repository" icon. This is next to the Save icons. Click this icon to open the dialog.

Browse to the .jar file on disk of the connector you wish to add.

After adding the .jar file to the local repository modify the pom.xml for your Mule Project to include the dependency.

Please see the readme.txt file included alongside the .jar files on disk for example XML for all connectors for the specific version.

For instance the following XML may be added to the dependencies in the pom.xml file to make use of the previous installed FTP Connector. Note, this version is just an example, see readme.txt for the exact XML to use in your version.

<!-- nsoftware FTP --> <dependency> <groupId>org.nsoftware.connectors</groupId> <artifactId>nsoftware-ftp</artifactId> <version>20.0.7401</version> <classifier>mule-plugin</classifier> </dependency>

After modifying the pom.xml the Connector will now be visible at design time. For instance:

Anypoint Studio 6 (Mule Runtime 3.5+)

In Anypoint Studio navigate to the "Help" menu and choose "Install New Software...". Press "Add" to open the Add Repository dialog.

From the "Add Repository" dialog press the "Archive..." button and browse to the .zip file present in the connectors/mule3 folder of the install.

After adding the archive expand the "Community" node to select the connector(s) you wish to add to your project and click "Next".

When the installation is complete the connectors will be visible in the "Mule Palette" window.

Message Formatting

This section provides information about the data types used by and produced by the connectors. It provides detailed information about formatting the input message and also lists the required input data types and relevant fields for each connector.

This section does not cover data transformations or DataWeave operations. For information about the Mule expression language, please see MuleSoft's DataWeave Overview. For details on getting started, please see our Installation Instructions

Input Messages

A connector can require that certain information be present in the incoming message payload. An incoming message refers to the Mule Message inside the event which travels through the connectors of your application. This is not to be confused with connector configuration which is typically done through the configuration page or Config XML.

Source connectors do not require an input message since they are responsible for generating events (e.g. AS4 Receive, Email Receive, etc.). On the other hand, message processors in the body of the flow usually operate on data residing in the message payload.

Data Types

Message processors have specific requirements for the type of data in the incoming payload. For example, both FTP Send Connector and SFTP Send Connector have an input type of Binary, meaning they expect a stream of data to be present in the message payload.

A processor can have additional requirements on the input message, such as the inner payload must be provided in an Array or Map structure. As a good rule of thumb, the input message must be formatted correctly for that connector.

Below is a summary of the possible data types of input messages and output messages to the connectors that you will see.

  • Binary: A stream of bytes (Java InputStream or OutputStream)
  • Array<Binary>: An array of streams (DataWeave Arrays)
  • Map<String, Binary>: An object which maps a String to a Binary stream. (DataWeave Objects)
  • Null: Nothing. An empty reference.
  • N/A: Does not apply to this connector.

It is up to you to transform the incoming Mule Message into a form which is usable by the message processor.

Connector Input Output Relevant Fields
AS2 Send Binary Binary AS2To, AS2From, and URL
AS2 Receive Binary Binary TradingPartner and ReceivingPartner
AS4 Send Binary Binary AS2To, AS2From, and URL
AS4 Receive N/A Binary URL and MPC
AS4 Web Receive Binary Binary TradingPartner and ReceivingPartner
Email Send Binary Null SMTPServer From, and SendTo
Email Receive N/A Binary ServerType MailServer, and User
FTP Send Binary Null FTPServer and RemoteFile
FTP Receive N/A Binary FTPServer and RemotePath
HTTP Send Binary Binary HTTPMethod and URL
HTTP Receive N/A Binary HTTPMethod and URL
LDAP Send Binary Binary Server, Port, BindDN and Operation
OFTP Send Binary Null OFTPServer
OFTP Receive N/A Binary OFTPServer
REST Send Binary Binary HTTPMethod and URL
SCP Send Binary Null SSHHost and RemoteFile
SCP Receive N/A Binary SSHHost
Sexec Send Binary Binary SSHHost
SFTP Send Binary Null SSHHost and RemoteFile
SFTP Receive N/A Binary SSHHost
SQS Send Binary Null AccessKey SecretKey, and Queue
SQS Receive N/A Binary AccessKey SecretKey, and Queue
SSH Send Binary Binary SSHHost
WebDAV Send Binary Null URL and RemoteFile
WebDAV Receive N/A Binary URL and FileMask
XMPP Send Binary Null IMServer IMPort, and ToJID

Module Input Output Relevant Fields
AES Encode Binary Binary KeyPassword
AES Decode Binary Binary KeyPassword
Bzip2 Encode Array<Binary> Binary
Bzip2 Decode Binary Array<Binary>
EzCrypt Encode Binary Binary Algorithm and KeyPassword
EzCrypt Decode Binary Binary KeyPassword
Gzip Encode Binary Binary
Gzip Decode Binary Binary
Hash Encode Binary Binary Algorithm
OpenPGP Encode Binary Binary EncryptData and RecipientKey
OpenPGP Decode Binary Binary Key
SevenZip Encode Map<String, Binary>Binary
SevenZip Decode Binary Map<String, Binary>
SMIME Encode Binary Binary EncryptData and RecipientCert
SMIME Decode Binary Binary DecryptData and Certificate
Zip Encode Map<String, Binary>Binary
Zip Decode Binary Map<String, Binary>

Logging Information

If you are having problems getting started with our connectors, our support team is here to help. Visit https://www.nsoftware.com/support/submit.aspx to submit a ticket. Please be as detailed as possible about your issue.

It is also helpful if you generate and send a log file to support@nsoftware.com.

How to Generate a Log File

  1. Navigate to the Advanced tab in the connector's configuration.
  2. Set the Log Type to File to write the logs to disk.
  3. Set the Log Mode to Verbose.
  4. Set the Log File property to a path to a particular file.

Console Logging

  1. Navigate to the Advanced tab in the connector's configuration.
  2. Set the Log Type to Console to use the Mule logging interface.
  3. Set the Log Mode to Verbose.
  4. Set the Log Level of the application's Mule Logger to TRACE in the log4j2.xml file.

Example log4j2.xml

<Configuration> <!-- Appender configuration --> <Loggers> <!-- Mule logger --> <AsyncLogger name="org.mule.runtime.core.internal.processor.LoggerMessageProcessor" level="TRACE"/> <AsyncRoot level="TRACE"> <AppenderRef ref="file" /> </AsyncRoot> </Loggers> </Configuration>

Note: The log4j2.xml file is located in the src/main/resources package by default.

AS2 and AS4 Transmission Logs

In addition to the component log (which can be generated using the above instructions), there is secondary logging available for AS2, AS4, and AS4Web.

  1. Set the LogDirectory property to a folder on disk.
  2. Optionally set the LogDebug configuration setting to true to enable debug transmission logs.

This will instruct the connectors to log the details of each transmission to unique files. For each request processed, the component will log the complete text of the outgoing request and incoming response.