Transports

Overview

Name: Typically give the Transport a name which includes the client and type (e.g. “John Deere Pick Orders FTP In”). Including the Transport Type in areas of the system is being added.

Transport Type: The following Transport types are support ‘out-of-the-box’;

    • Email (POP3/SMTP)

    • Windows Folders

    • FTP, SFTP, FTPS

    • WCF (HTTP/S over WCF)

    • Printing (PDF over PS)

    • OleDb (SQL Server, Excel)

Connection Method: If this transport runs on it’s own schedule, or runs when the Server is checked.

Log: The log tab shows the history of the transports operations. Any errors are shown here in red.

Incoming / Outgoing Excel

The Excel Transports must be routed to and from.

E.g. Excel files are received via Email, FTP, etc and then routed to the Excel transport for further processing.

Data Source: Required for outbound only. This is the temporary path where the file is saved to before it is sent.

Table Name: This is the name of the WorkSheet within the Excel file which is to be written to or read from.

You can also specify excel range names in here using the following format: “SheetName$A1:C99”

This allows you to specify the area on the worksheet to be read. Otherwise excel will automatically establish the bounds of the worksheet using the data which has been entered.

The transport options for importing files.

    • "*" in the Table Name field will import the first sheet - hidden or otherwise

    • "Active" in the Table Name field will import the active sheet. This is the same sheet that will be shown by default when opening the XML or XLSX file in MS Excel

    • "[sheetname]" in the Table name field will try to find the sheet named and process it.

Create New Table (Outbound Only): If the WorkSheet specified in the Table Name field does not exist, it will create a new WorkSheet with this name.

Incoming Email

Crossfire messaging uses the POP3 protocol to connect to email servers and download email. This requires that POP3 is enabled on your mail server. This is not enabled by default in MS Exchange. Once emails are downloaded, they are deleted from the mail server and stored in Crossfire Messaging.

Server: The domain name or IP Address or your email server.

Port: The port to use to connect to your mail server. Port 110 is the standard port for the POP3 protocol.

Username: The username to use to access your mailbox, this is case sensitive.

Password: The password to use to access your mailbox, this is case sensitive.

Filter From: Crossfire messaging will only download emails if the from address of the sender matches the pattern defined in this textbox. This box uses Regular Expressions Leave empty to match any address.

Filter To: Crossfire messaging will only download emails if the to address of the recipient matches the pattern defined in this textbox. This box uses Regular Expressions. Leave empty to match any address.

Filter File Name: Crossfire messaging will download all attachments, but only pass ones which have a filename matching this expression to the System (Crossfire) or Route. This box uses Regular Expressions. Leave empty to match any address.

Check For Duplicates: When checking emails, if two emails contain the same GUID from MS Exchange Server, the second will be ignored.

Servers

Email transports can be configured to use Servers. This reduces load on the email server, by logging into the account once, then checking the filter conditions for each Transport. To do this, under the "Connection method", select "Run transport when the server schedule runs". Then pick the Server from the drop down.

When a Server is used on an Email Transport, the Server, Port, Username and Password are ignored.

Incoming FTP/SFTP/FTPS

Server: FTP Server. A DNS can be used.

Port: Usually 21 for FTP

Username/Password: As required (Anonymous not supported)

Account: Some FTP Servers require this to identify the user.

Filter file name: Pick up only files which match this expression. Uses regular expressions. Leave blank to pick up all. Use \. for a dot.

Input folder: The folder to check for files. Include leading slash. Use forward slashes “/”. Do not include trailing slash.

Active mode: Use active mode (PASV is used by default)

Binary mode: Use binary mode, not used by default as most EDI transfers are ASCII, but required if downloading non-text files such as images.

Delay for disconnect: Obsolete.

Look for CHK file: When checked, files will only be downloaded when a .CHK file is found in the input folder. When it is found, all files are downloaded, then all files are deleted, including the CHK file.

Secs between passes: This is the primary way that is used to prevent downloading unfinished files. It works regardless of the permissions on the server. We check the file listing twice, if the file size has not changed, then it is downloaded. Typically we use 15 seconds and have never had an unfinished file with this setting.

Reconnect after file download: Certain FTP sites will automatically delete or change files once they have been downloaded. This forces Crossfire to reconnect and look for files again after it has downloaded one file.

Leave file on server (prevent duplicate downloaded): Leaves the file on the server, tracks the download so it isn't downloaded twice using file name (this is performed automatically).

Leave file on server (allow duplicate downloaded): Works the same as above, but does not perform the check.

Check file already downloaded (prevent duplicate download of files): In some cases timeouts can occur, and can cause files to be downloaded and processed twice or multiple times. This check will see if a file has been downloaded and processed, and if so will not download it again. *Note if files with the same names are expected this check should not be used.

Archive folder: After download, the file will be moved to this folder, regardless of if the file is deleted or not. There is the option to rename the file when it is archived.

    • To rename a file on the server, what you want to do is use the 'Archive folder' option with a wildcard as the filename.

    • To move a file to an archive folder, what you want to do is include the folder path. Both of these options can be combined to rename and move a file all at once.

      • Example of moving the downloaded files to a folder

      • Example of moving the downloaded files to a folder, and then also postpending '.bak' on the end of the filename

      • Example of moving the downloaded files to a folder and prepending 'BAK_' onto the start of the filename

Ignore file size: If checked, Crossfire will download zero byte files.

Use FTP Connect: Uses a new feature of the FTP library, which resolves an issue where a certain FTP server was not reporting file sizes.

Do not change directory: If checked, after the FTP connection has been made, the working directory will not be changed to the specified Input Folder. (Note that currently Do not change directory does NOT work with Incoming SFTP)

Additional SFTP settings

SFTP Key Path: This is the full path and file name of the SFTP certificate key file to be used for authentication. This is optional and will be used if configured.

SFTP Auth Method: This is the authentication method if the certificate key file is used. The options are PASSWORD or KEYFILE. If PASSWORD is used the authentication method will be set to password and it will be used with the key file. If KEYFILE is used then the authentication will be set to KEYFILE and the password will be ignored. If it is left blank then it will use a PublicKeyandPassword method meaning that a password must be specified.

Host Key Algorithm: This is a drop down that allows you to specify the algorithm used by the host computer to generate the host authentication key. Note this functionality only works with the Core SFTP library (plugin).

Outgoing FTP/SFTP/FTPS

Settings same as Incoming FTP with the following exceptions:

Output folder: Folder to deliver the files to. Include leading slash. Exclude trailing.

FTP staging folder: Files are placed in this folder first, then when the transfer is completed, they are moved to the output folder. This is a way of delivering files to customers who do not have the means to check if the file is complete.

SFTP Only Options

SFTP Key Path: This is the full path and file name of the SFTP certificate key file to be used for authentication. This is optional and will be used if configured.

SFTP Auth Method: This is the authentication method if the certificate key file is used. The options are PASSWORD or KEYFILE. If PASSWORD is used the authentication method will be set to password and it will be used with the key file. If KEYFILE is used then the authentication will be set to KEYFILE and the password will be ignored. If it is left blank then it will use a PublicKeyandPassword method meaning that a password must be specified and will be used with the keyfile.

Host Key Algorithm: This is a drop down that allows you to specify the algorithm used by the host computer to generate the host authentication key. Note this functionality only works with the Core SFTP library (plugin).

FTP Locking Methods

Sending Files

Staging folder: We can put the files into "staging" folder, then move them into the "complete" folder when the transfer is completed.

Temporary extension: We put a .tmp on the end of the file name, then we rename the file to remove the extension when the transfer is completed.

Lock file: When we start writing the first thing we do is write a lock file (e.g. Crossfire.lock). Then we upload the files. When finished, we delete the lock file. We can also support a lock file from the server (e.g. Masterpet.lock) where we won't deliver the files when the Masterpet.lock file exists.

For when we receive files (although I know we don't receive files from you currently):

Receiving Files

Check file: Looks for a *.chk file, then downloads all files in the folder and deletes the .CHK file.

Two-pass method: Check file sizes, wait 15 seconds, check them again. Download files which have not changed in size.

Printing

The printing of PDF documents using PostScript is supported via a shared printer using Crossfire.

Server: This is the address of the shared printer. The printer must have the PostScript drivers installed.

PDF Convert Location: This is the location of the tool which coverts PDF files into PostScript which can be delivered to the printer.

Tray Number: Specify the tray number on the printer to print to. Depending on the make and model of the printer, this may not correspond exactly to the number the trays in the interface on the Printer.

Number of copies: How many to print.

Windows Folders (File In / File Out)

Filter file name: Files matching this pattern will be picked up and deleted from disk. Uses regular expressions

Input folder: Windows path to pick the file from. Can be a UNC share. No trailing slash required.

Output folder (for outgoing files): Windows path to deliver the file. Can be a UNC share. No trailing slash required.

  • Note that for File In, although the option Leave file on server is available, there is no automatic check for whether the file has been downloaded previously, and so it is not recommended. Archive folder for File In will be supported in a future release.

WCF (Legacy HTTP)

WCF can be used for HTTP/S posts, including basic authentication if required. It is a generic adapter which can be configured to connect to custom services when required. The following outlines how to use it for a common HTTP/S post.

Server: The URL to post to

Username/Password: Only required if using HTTPS

WCF Type: “Custom”

WCF Transport: Either “HTTP” or “HTTPS”

WCF Security: “None”

WCF Message Version: “None”

WCF Authentication: Either “None” or “BASIC” for Basic HTTP Authentication.

WCF Timeout: This is the connection timeout, 30 seconds is suggested.

Other fields: Leave blank

Incoming HTTP

HTTP transports can be used to call asmx services and retrieve data. It also has the ability to call services with SOAP actions.

Server: This is the URL for the service to be called

Soap Action: (optional) if the service requires a SOAP action to be specified it needs to be entered here. The format could be as in the picture above but is normally defined on the service definition.

Return Soap Body Only: If this is checked the only the body from the SOAP Envelope result from the response will be used and passed on to the next process.

Error Xpath: IF the service provides a proper Error location for error message this can be added here to retrieve and display these errors properly in the log.

Username: Username for HTTP Basic Authentication

Password: Password for HTTP Basic Authentication

Accepts: Specify the content type to accept, as per HTTP specification

Legacy code:

With this feature disabled (Default), 'ResultXPath' lets you select XML that should be the 'Result' of the Incoming HTTP Transport. This then 'Scopes' all future XPathing to this result. If the XPath returns nothing, no message is inserted.

Example:

Messsage = <SalesOrders><SalesOrder></SalesOrder></SalesOrders>

ResultXPath = //SalesOrder

Message Inserted into Messaging = <SalesOrder></SalesOrder>

With this feature enabled, 'ResultXPath' selects a XML result to then use in 'ErrorXPath', to then XPath against the Result for the ErrorXPath.

The error that is selected is then used to check if the message should be ignored, or throw an error. This is only for errors.

SSL Certificate: Used for Endpoints which require Client Side Certificate Authentication. A Drop down to pick a certificate, see the certificates section below.

Outgoing HTTP

Outgoing HTTP can be used similarly to submit messages to a service.

Server: This is the URL for the service to be called

Soap Action: (optional) if the service requires a SOAP action to be specified it needs to be entered here. The format could be as in the picture above but is normally defined on the service definition.

Error Xpath: IF the service provides a proper Error location for error message this can be added here to retrieve and display these errors properly in the log.

Transport for response: This can be configured to send the response from this message (if any) to another incoming transport for processing.

Return Soap Body Only: If this is checked the only the body from the SOAP Envelope result from the response will be used and passed on to the next process.

Content-Type: As per standard HTTP specifications

Method: POST, GET, PUT, as per HTTP specifications

Auth Token: Obsolete

Username: Username for HTTP Basic Authentication

Password: Password for HTTP Basic Authentication

Header1/2: Any HTTP Header which will be included in the HTTP Request.

SSL Certificate: Used for Endpoints which require Client Side Certificate Authentication. A Drop down to pick a certificate, see the certificates section below.

SSL Certificates

This function allows you to use a SSL certificate on the Incoming HTTP Transport. The following instructions are how to set that up on the Transport;

Import your Certificate as a 'Signing' Certificate

Now, what you want to do is select that Certificate from the Dropdown on the HTTP Transport, where it says 'SSL Certificate'

This Certificate will now be used when creating HTTP Requests.

Other Tabs

Parameters

This tab allows the user to define specific variables and values which will be passed when defining an OleDb type transport. Click here for more information.

Transport Notifications

Follow this guide to set up transport notifications