Babelway B2B Integration Platform Documentation


User Guide

Babelway B2B Integration Platform Documentation


Chapter 1. Welcome

Welcome to the Babelway documentation.

This documentation is structured to help you to quickly find an answer to your questions. Thus it has been divided into the following parts. It is also available in different formats to best suits your needs as described below:

  • The User Guide described all main functions of Babelway. It is organized around the main tasks that you, as a user, will have to perform to efficiently use Babelway. These tasks are described step by step and include multiple links to the Reference Manual for further description of the referenced functions.

  • The Reference Manual describes in details all screens and functions you may encounter when using Babelway. These topics are accessed from the User Guide for more details or from a search on the help files. Most topics cross-refer to one or more User Guide topics that describe the use of this function in a global context.

  • The Tutorial is the best place to start with Babelway: it guides you through a practical example to set-up a new channel.

In addition to this documentation, you may find additional information in the following places:

  • Babelway forum: post questions or search through previous questions answered by Babelway technical support or Babelway users.

  • Technical support: send your question by mail to Babelway technical support.

  • Babel Academy: hands-on training provided by expert users of Babelway.

  • The White Paper (available from the web site) quickly presents Babelway, its products and services.

The Babelway documentation (User Guide and Reference Manual) is available in the following formats:

  • On-line html help, the most complete up-to-date version, with navigation tabs and search function.

  • Single html page help, same as the previous one but available as a single html page if you prefer to use your own search engine for example.

  • Pdf file, same as the previous ones but in format adapted to quick and easy printing of the whole documentation or a selected part of it. Once saved it is also available off-line. Note: if you are using such an off-line pdf file, it may not be the most up-to-date version.

Chapter 2. Introducing Babelway B2B Integration

2.1. Babelway Concept

Babelway is a B2B integration Software-as-a-Service. Babelway provides data translation software and B2B communication gateways organised in a full-service proposition. Babelway services are fully available on-demand via a web-browser. There is no software or hardware to buy and maintain in-house, but yet Babelway is still under the full control of its users.

The main functions of Babelway are

  • Babelway transports electronic messages between two parties.

  • Babelway transforms messages from an input to an output format (csv, xml, Excel, flat file, EDI,...).

  • Babelway stores messages in a secure way for a defined period of time. The archiving system is compliant with EU legal requirements.

From a technical angle, Babelway is divided in two parts:

  1. The Self-Service console is the web-based configuration and administration interface.

  2. The Messaging Engine is the message processing system.

2.2. B2B Integration Project Management

When you set up a channel to tranfer data between your system and the external system of your B2B partner, you must agree on a way to transfer these data. This activity is a project, possibly involving multiple parties: your company, your B2B partner, your and their IT integrator, etc.

So, before starting any implementation, even in a test configuration, Babelway recommends to follow a project management process such as this one:

  1. Agree on project terms

    You and your B2B partner should agree on the purpose of collaboration and data to be transferred. This part should also include the possible financial terms. Some exchanges may even require the writing of contracts.

  2. Write specifications

    Together with your B2B partner, you should write technical specifications about what is going to be transferred and how (gateway types and configuration, messages formats required, mandatory information included in messages, validation processes, test cases definition for project acceptance...)

  3. Plan and execute work

    Configure and test your channels to meet agreed specifications. The planning should include when your partner must have ressource available, for example, for testing and for acceptance phases.

  4. Production and acceptance tests

    Once the development and tests are completed, the system is used in production for a trial period. If adjustements are required, they should be implemented as soon as possible. Once all issues are solved and the trial period is finished, the system can be fully used in production.

Here is a short checklist of items that will be required during development and that sould be agreed between both sides and included in the specifications:

at account level:

  • Details of users who will have access and their respective roles.

  • Details of settings including volumes of transactions, price package, expected concurrent volume...

For each channel:

  • Details of gateways in and out including external systems details, usernames, passwords, certificates... Details of test environments of external partners prior to moving to production if relevant.

  • Details of messages in and out formats. Both sides should provide several examples of each in and out message types.

  • Details of message transformation rules, possible values mapping, exception, mandatory and optional fields...

  • Details of routing rules if relevant.

  • Details of in and out message validation rules if any.

  • Details of messages, channels and any other items naming conventions.

  • Details of users notifications (success and/or errors).

  • Detailed test plan including acceptance criteria.

Chapter 3. Starting with Babelway

3.1. Introduction

To access Babelway for the first time, you need:

Once you are logged in, you have access to your account that enables you to configure and control your B2B integration exchanges. The user interface looks like the next figure. It is described in details in:

Self-Service console

Figure 3.1. Self-Service console


Once your account is set up, you will control your B2B integration from this screen. You will have access to the following functions that are explained in details in their respective topics:

  1. Managing Account environments: An account environment is a collection of channels. Each Babelway environment is identified by specific gateways pointing to external systems or other Babelway environments. In most cases, one account environment is sufficient to satisfy the needs of a company. However, Babelway enables users to administer multiple environments in some specific cases.

  2. Managing Channels: A channel is a collection of components that must be assembled within Babelway in order to organise an automatic data flow from an external system to another external system. A channel includes the transformation steps a message must undergo between its reception and its sending. Babelway offers several functionalities to help you configure your channels.

  3. The Catalogue: The catalogue helps you to quickly and easily create new channels using existing items provided by Babelway.

  4. Tracking Messages: Messages that flow through the account can be tracked and traced. You have access to any message stored, in all its forms (before, during and after transformation) together with contextual information such as time of entry, time of exist, status, as well as relevant security-related information such as certificates and signatures.

  5. Managing Alerts: Multiple events generate alerts. For example, processing issues related to a message generate alerts. Alerts provide detailed information to users, as well as tools for resolution management. Messages that are in error can be accessed directly for manual correction and resubmitted in a channel.

  6. Managing Your Account: Manage your account and your personal data, manage environments, add users, credit your account...

  7. Best Practices:some advice for organising work in Babelway if you plan to use more than a few channels.

3.2. Creating an Account and Registering

When you connect to Babelway https://www.babelway.net/SelfService secured server, the following log in screen will be displayed:

Babelway welcome screen

Figure 3.2. Babelway welcome screen


If you are already registered, enter your Username and Password on the left side of the screen in the Existing Users pane.

If you are a new customer, fill in all fileds in the right pane named New Users to create a new account.

The fields should you fill to create a new account:-

Email

Email that use it for registration.

Username

Login or username to access your account.

Password

Password associated to previous username to access your account.

Confirm Password

confirm the previous password that you used to access your account.

all fields are mandatory to fill it,if you missing to fill any field an alarm message will appear"value is required". see missing fill data.png

missing fill data

Figure 3.3. missing fill data


Do not forget to check the I agree with the Terms and Conditions box then click on REGISTER FREE TRIAL button.

You will see the following message.

Registration email check

Figure 3.4. Registration email check


Once you receive the confirmation mail, click the link contained in the mail and type in your newly created username and password on the left side of the screen.

As a first time user, you have access to all Babelway functionalities.

Note

for connection issues:Please contact us support@babelway.com

Note

To extend your account over the trial stage, you only need to purchase additional credits or any other paying option. See Managing Your Account.

3.3. Interface Presentation

Once you are logged in, you have access to Babelway Self-Service console as the one described hereunder:

Self-Service console presentation

Figure 3.5. Self-Service console presentation


The screen is divided in different parts and displays different commands:

  1. Display of current user information.

  2. Currently selected environment. The dropdown box allows you to switch to another environment linked to the current account. A newly created account has one single environment. The name of the environment is displayed instead of the drop-down. Environments are created and managed through Managing your Account.

  3. My Account: Use this command to access Managing your Account.

  4. Log out: Use this command to disconnect current user and exit the Babelway Self-Service console.

  5. Help: Get direct access to online help.

  6. support@babelway.com: Send a mail to Babelway Technical support: with any question or remark you have.

  7. List of tabs to access main platform control parts:

  8. Main screen pane and contextual commands: Depend on the active tab. See respective tabs documentation for details.

  9. Footer: Babelway platform revision and copyright, direct links to Terms and Conditions of use and Support policy.

Note

Except for the main screen pane and contextual commands (8), all other commands are available at all time.

3.4. Tutorial

Tutorial Page:

First-time user? The tutorial is the best place to start with Babelway: it guides you through a practical example to set-up a new channel.

Babelway Tutorial

We are going to :

  • Consult the Babelway catalogue of channel components

  • Configure a simple channel enabling to exchange messages

  • Monitor exchanged messages

In Tutorial Level 2 we'll make changes to the channel configuration to make more sophisticated operations.

Follow the following steps.

LET'S CONSULT THE BABELWAY CATALOGUE

Click on the tab. The catalogue is publicly available. It includes channel components to help build message exchange channels for yourself. Search for "channel Tutorial : simple email to email transfer".

Click ,read the page then click The 'Use it' function will copy the channel components into your account.

(if you were not logged in, you will be prompted to create an account or to enter your username/password. Please follow the steps, until you can properly log in).

CONFIGURATION OF A CHANNEL

You are directed in the channel edition screen of your account. The channel has been copied. We are now going to complete the channel with some specific information.

(optionally)-Personalise the name of your channel, then click Save

Click the tab Enter any username to create a new email address [username]@babelway.net. This email address will be the entry point for your channel. REMEMBER this email address since you are going to use it to test the channel.

This channel will not transform messages. We can therefore skip the configuration of the tabs , , .

Click the tab . Enter your own address email as recipient address and click Save. Please note the other fields of the email form. Try to understand what they mean.

Click Activate (top right of the screen). You activated the channel but it is not active yet! It should first be deployed.

Click in the top menu, then click Deploy Channels and confirm deployment. Your channel is now deployed in production.

TEST THIS CHANNEL

Go to your usual email tool.

Compose a mail with a file attached. You can attach any file. The tutorial level 2 provides file examples that you can use.

Send this email to the email address you created as Gateway In [Username]@babelway.net

After the message is processed by your channel, you will receive another mail with your message attached to an email sent to the address you configured as recipient email address in the Gateway Out of your channel.

MONITOR YOUR MESSAGES

Go to your Babelway account. Click in the top menu.

In the message table, there is a message record for each messages that transited via your account. Each time a channel is deployed, the test case is run and creates a message record. You can identify these messages in the column

Click on the first message record to access message details. From the message record page, you can download the message as well as consult multiple contextual information, including security traces.

You have completed level 1.

3.4.1. Tutorial Level 2

Before we start:

  1. Download this file locally: EdifactOrderSample.txt

  2. Download this second file locally: CsvOrderStructureSample.txt

  3. Print the tutorial: click on the printer icon

LET'S MAKE CHANGES

The tutorial level 1 guided you through a fairly straightforward channel. Moreover, probably not very useful to send an email and to receive the same on the other side.

Imagine you need to configure the channel to transform the message into another message format (such that it can be automatically imported by the receiving system for example). The tutorial will now take you through the transformation of an EDIFACT purchase order into a Comma separated value (CSV) order message.

Go back to the channel edition screen: click 'channels' in the top menu and click on your channel.

Click the third tab

Click Open catalogue you are in the Catalogue page.

In the Search field, type (EDIFACT), then click

Spot Edifact : EDIFACT, then click Use it

Enter a name for this message,for example,type (EDIFACT from MyRetailClient), click Apply : you are back to the Edit Channel page.

Click Browse, select the file EdifactOrderSample.txt that you downloaded previously and click Upload: the system displays the message definition tree.

You have now defined the structure of the expected incoming files. If incoming files respect this structure, they will be processed by the channel. Note that you can work on the message definition tree to create validations, make fields mandatory, etc. Refer to the User Guide to explore what you can do.

Let's proceed with our configuration.

Click the fifth tab

Click Open catalogue you are in the Catalogue page.

In the Search field, type (CSV), then click

Spot CSV : CSV, then click Use it

Enter a name for this message,for example,type (My order format), click Apply : you are back to the Edit Channel page.

Click Browse, select the file CsvOrderStructureSample.txt that you downloaded previously and click Upload:

Tick the box (contains headers), then click Save: the system displays the message definition tree.

Click the fourth tab

This tab is not available for clicking because you have defined a Message In and a Message Out. The channel therefore expects a transformation between the 2 message definitions.

Click Open catalogue you are in the Catalogue page.

Spot Drag and Drop Transformation : New Drag and Drop Transformation, then click Use it

Enter a name for this message,for example,type (EDIFACT to CSV orders), click Apply : you are back to the Edit Channel page.

On the left side, use the scroll bar to spot the first Loop segment. A Loop indicates that the underlying list of field can be repeated multiple times in a message. This can be the case for the number of lines in an Order message.

Drag the first Loop segment of the left side and drop it in the Loop segment of the right side.This indicates that for each line of the loop of the incoming message, there should be a corresponding line in the outgoing message.

On the left side, spot the second Loop segment.

Drag the second Loop segment of the left side and drop it in the Loop segment(same as previous)of the right side.

On the left side, spot the segment 'BGM Beginning of message'.

Click to expand.

Drag the segment BGM02 Document/message number and drop it in the (OrderNumber) segment on the right side.

Go down the page, click Save and confirm.Be sure to save your work regularly.

On the left side, scroll down to the bottom of the tree and spot (transformation functions). Right click on Transformation functions and select Format Date. We are going to use this function to reformat the date of the incoming message into another date format.

Enter a name,for example,type (reformatting of the date).

In Date Format In, type (respect cases) 'yyyyMMDDhhmm'.

In Date Format Out, type (respect cases) 'DD/MM/yy'.

Click Save: you created a date transformation function.

On the left side, spot the first DTM_Date/time/period segment and click to expand

Drag the segment DTM0102_Date/time/period and drop it on the name 'reformatting of the date' of the date transformation function at the bottom of the tree. This segment is the order date according to the EDIFACT semantics. By rolling the mouse over the field, you make have explanations as to what the fields. If this is not sufficient, you should seek information about the semantics of the messages from the people creating or requiring them (that part may not be the easiest one).

Drag the function 'reformatting of the date' and drop it in the 'OrderDate' segment on the right side. You have now created a mapping for the date field that reformats the date automatically.

Go down the page, click Save and confirm.

On the left side, spot the second DTM_Date/time/period segment and click to expand.

Drag the segment DTM102_Date/time/period and drop in the segment DeliveryDate on the right side.

On the left side, spot the first NAD_Name and Address segment and click (several times) to expand.

Drag the segment NAD0201_Party id. Identification and drop it in the Buyer segment on the right side.

On the left side, spot the second NAD_Name and Address segment and click (several times) to expand.

Drag the segment NAD0201_Party id. Identification and drop it in the Supplier segment on the right side.

On the left side, spot the Third NAD_Name and Address segment and click (several times) to expand.

Drag the segment NAD0201_Party id. Identification and drop it in the DeliveryPlace segment on the right side.

Go down the page, click Save and confirm.

Keep scrolling down and spot the next Loop segment.Drag it and drop it in the Loop segment(same as previous) of the right side.

Click to expand the LIN_Line Item segment.

Click (again) to expand the LIN_Line Item segment.

Spot the LIN0301_Item number segment.

Drag and drop it in the ItemNumber segment on the right side.

Click to expand the IMD_Item Description segment

Spot the IMD0304_Item description segment.

Drag and drop it in the ItemDescription segment on the right side.

Click to expand the QTY - Quantity segment.

Spot the QTY0102 - Quantity segment.

Drag and drop it in the ItemQuantity segment on the right side.

Go down the page, click Save and confirm.

You have now organised a full transformation between an Edifact message and a CSV message. Let's test if this works.

Click the ninth tab,

If there is already a test case (which is probably true if you did the tutorial from the beginning), delete the exiting case since it relates to the old version of the channel. (this deactivates the channel since a test case is always required for an active channel).

Click Create Test Case

Go down the page and click Run test case

Was your test case successful ?

This submits the Message In of the test case to your transformation. It directs you to the message record with a message (success or failure). You should open the message out to check that it delivered what was expected.

Was your test case successful ?

When it is,you can also set-up email notifications for your channel.

Click the Seventh tab

In the Email edit box enter your email then click "Add".

Go down the page and tick the 2 boxes in front of your username to receive new messages notifications and error alerts.

click Save

Your channel is now ready for deployment.

Click Activate (on top of the testing tab)

Click Back: you are in the List of Channels page

Click Deploy Hub and confirm : your channel is now active in production environment

TEST THIS CHANNEL

Follow the same process as in the first part of the tutorial. Attach the file EdifactOrderSample.txt to your email and monitor it. You can also try with another message to see the result.

Check your email box, you should have received 2 emails from your Babelway hub

  • A notification message

  • The output of the channel with the CSV order attached. Compare the file you received with the file "Message In File Name.dat" to be sure you made the transformation correctly.

You have completed the tutorial level 2.

3.4.2. Tutorial Level 3

  • Replace the email Gateway In by an AS2 connector

    To replace the email Gateway In by an AS2 connector click the tab then Click Open catalogue you are in the Catalogue page.

    In the Search field, type ( Carrefour AS2 ), and then click , choose one of available items then click Use it you are back to the Edit Channel page.

    Click Save.

    Note

    For your information, Carrefour will not be able to send you anything until you have communicated them your own AS2 credentials (which are attached in a word document as part of the AS2 Gateway In).

  • Replace the email Gateway Out by an FTP post

    To replace the email Gateway Out by an FTP post click tab.

    Click Open catalogue you are in the Catalogue page.

    In the Search field, type ( FTP ) ), and then click .

    Spot Ftp Out:FTP server, then click Use it, enter a name for this gateway then click Use it you are back to the Edit Channel page .

    Defined fields ( user name, password )( file name (optionally)) in order to configure your ftp server on Babelway platform.

    click Save.

  • Create routing rules

    To create routing tool you have to create two channels they have same gateway in.

    Crating second channel :-

    Click Create Channel on the left side: a new channel has been created and you are in the Edit Channel page, on the Tab enter a Name and Description for the channel.

    Click the second tab .

    Click Open catalogue you are in the Catalogue page.

    In the Search field, type ( Gateway in you entered in 1st channel ) ,then click .

    Click select then click Save a message box appear " this change will apply in the following channels (names of your two channels) " click ok to confirm routing rule.

    Click the ninth tab, .

    Click Create Test Case.

    Click Edit message in under file column to add message in at file property.

    Check the box in Test Routing in property name table.

    Add file name of test case in property name table.

    Click Save all.

    Go down the page and click Run test case.

    Click Activate (on top of the testing tab).

    After Activate channel the tab will become available, this means that routing is required since there is no way to route messages between the 2 channels from the same Gateway In.

    Click tab, the routing rules will be defined in Message Definition In Routing Rules table, the next step column indicates that next step after routing is message in step as they are two different formats.

    Click Edit, select a metadata in Metadata drop down list then enter a regular expression in Expression text area then click Apply.

    Click Go in the second row of message definition routing rules table to choose role of second channel.

    Click Edit, select a metadata in Metadata drop down list then enter a regular expression in Expression text area then click apply.

    Click Back: you are in the List of Channels page.

    Click Deploy Hub and confirm : your channel is now active in production environment.

  • Add user

    Click on My Account then Click on Add a user in the bottom of the account page to add and invite a new user.

    To add a new user with a new role one your account or on one of your hubs, enter this new user Email address and select his Role If the role is related to a hub (hub user or web gateway user), you should select the hub or web gateway that new user will be added to otherwise this drop-down list is not available.

    You can change the Invitation Text if you want. This message will be send to the new user to ask him to accept and activate this option.

    Click on Back command to cancel and go back to previous screen. Click on Send to send this email and invite the new user.

  • Buy units

    Click tab then click Buy Units in the button of left menu. Buy units for your account form appear according to your current price plan, you can buy or subscribe to additional services and credits from price list.

    Enter the desired quantity for items then click on Next command and proceed to invoice and payment screens as described hereunder, or click on Back command to cancel order and go back.

    Click on Next command to go to next step (invoice and payment), Enter all required personal information for your account, company, contact, and references then click on Next command to proceed to last step as described hereunder, or click on Back command to cancel and go back to previous screen.

    Click on Next command to go to step 3 ( summery of your purchase order ) , Check your order summary then click on Confirm command to confirm and send your order, or click on Back command to cancel and go back to previous screen.

  • Complete your profile

    Click on My Account to complete and edit your profile.

    Click on Edit command to edit parameters that can be modified ( user id, First Name, Last Name, Phone, Language and Picture ).

    Select, enter or change parameters values then click on Save to save your changes or on Back to go back to previous screen without saving changes.

    Click on Change Password command to open following screen and change your account password.

    Enter old and new passwords, confirm new password then click on Change Password to save your new password or on Back to go back without saving change.

  • Build a message definition for a Multi-record flat file. If you get there, you have got it all.

Chapter 4. Managing Account Environments

4.1. What is an Account Environment?

An account environment contains a collection of one or more channels that are managed together. Gateway addresses are specific to each Babelway environment. In your Babelway account, you could create additional environments if required.

A channel in Babelway is the communication between 2 external systems, for instance your ERP and the accounting package of your customer. The channel defines all the aspects of the communication, the formats used as well as email notification parameters.

There are 2 main parameters that are defined at the level of the account environment:

  • Message Storage Duration: defines the time messages are stored with advanced security guarantees.

  • SLA Capacity (Service Level Agreement): 1 or more, is a measure of the processing capacity associated to the account environment. It defines the maximum number of messages (in 10kB chunk) that can be processed per minute.

Do I need one or several account environments?

If you manage channels that require different settings for storage duration or SLA described above, then you must create different environments.

Users rights can be limited to a specific account environment so you may create different environments to limit user access to a specific set of channels and messages.

If you manage many channels, you may want to group them together to easily manage them. For example, you may create a different environment for each of your customers to manage them separately. Or you may create a specific environment dedicated to testing and another one for production.

Controlling account environments

There are different operations that can be done on an environment hub:

4.2. Manage an Account Environment

When you create a new account, an environment is associated automatically.

Create, delete and rename Environments

You can easily create, delete and rename your environments in your Account Management> Account Management screen.

Configure account environments

You can also change environment parameters in your Account Management>Account Administration> Edit Environment screen.

Share an environment between accounts and users

You can give and remove access rights to an environment to other users by following the procedure described in your Account Management> User Access screen.

4.3. Deploy your channels

Deployment means that active channels are put in production in the messaging engine. It happens in 2 steps: once a channel is configured, you should request 'activation', then you should 'deploy' the active channels in production. From that time on, these channels will process incoming messages according to their specific configuration.

The last 2 columns of List of Channels table displays the channel status as illustrated hereunder:

  • The Status column indicates if the channel is actually deployed in production. This status is either On, channel is active and working, or Off, channel is not active.

  • The Next Deployment column indicates what will happen after the next deployment. This status is either No Change, channel status will not be modified, or Activate, channel is currently not active and will be active, or Deactivate, channel is currently active and will become inactive, or Apply Changes, channel is currently active and modifications will be applied.

Channel activation status

Figure 4.1. Channel activation status


The deployment function is detailed in Activate and Deploy a Channel

Chapter 5. Managing Channels

5.1. What is a Channel?

A channel is a collection of components that must be assembled in order to organise an automatic data flow and process from an external system A to another external system B.

The key components are:

  1. The way in which Babelway is interfaced with system A, called the “gateway in”.

  2. The way in which system A formats data, called the “message in”.

  3. The format in which system B wants to receive data, called the “message out”.

  4. The way in which Babelway is interfaced with system B, called the “gateway out”.

Warning

Ajouter un schéma du système (voir par ex. ppt Babel Academy)

When you enter the Channels tab, the List of Channels screen is displayed as illustrated.

List of Channels screen

Figure 5.1. List of Channels screen


From this screen you may access an existing channel or create a new one from General screen . In these cases, you enter the Edit Channel screen where you can use Basic Functions to rename, delete, modify or activate it.

From this screen you can also manage Lookup Tables.

5.2. Manage a Channel

From the List of Channels screen you have access to your channels. If you select an existing channel or create a new one, you enter the General screen, as illustrated below, that enables you to manage the selected channel.

Edit Channel screen

Figure 5.2. Edit Channel screen


Building a channel requires to follow some or all of the configuration steps described hereafter. Each one of them corresponds to a tab in the Edit Channel screen. They are described in the following topic:

When going through these steps to configure your channel, you will have access to different functions made available by Babelway. These functions will be available each time their use may be relevant. For easier reference, they are grouped in three level categories that are described in the next topics:

In addition to these building tools, you have access to three additional commands applying to a channel as a whole:

  • Duplicate a Channel : this command create a new channel that is a copy of the current one. This new channel is completely independant of the original one as all its components have been duplicated and from now on these components exist beside and indepedently of the original ones. This is very useful if you want to create similar channels without starting again from scratch.

Note

An active channel duplicate is created with the deactivated status.

Note

You cannot delete an active channel. It must be deactivated first.

Note

To activate a channel, its configuration must be complete with test cases. Otherwise this command will not be available.

Do not forget that activation and deactivation will only take place at next channel deployment.

5.3. Channel Items

A channel configuration requires to provide information in the different tabs. As a minimum, you need to define a gateway IN and a gateway OUT. Message tabs must be filled depending whether you want to manipulate the content of the message.

Tabs are presented in a logical order starting with the gateway for the incoming message, going to message transformation, gateway for the outgoing message, email notifications, routing rules, and finally testing.

Channel configuration tabs in Edit Channel screen

Figure 5.3. Channel configuration tabs in Edit Channel screen


The common commands ( Back, Duplicate channel, Delete channel and Activate channel ) are described in the Reference Manual, see Channels.

The tabs function is described here while their usage is detailed in the Reference Manual.

General

In the General tab, you can enter a name for your channel. This name will be available for further reference, management and search. Additionally you can add a description to remind you this channel usage. Some general information is also displayed such as the channel Id, the last update and deployed date and time...

The information is detailled in the Reference Manual:

Channels > Edit Channel > General

Gateway In

The gateway In specifies the way incoming messages are input in the channel and how Babelway communicates with external system A. The communication protocol used with system A may be different from the communication protocol used with system B.

You can select your communication protocol amongst the following ones:

  • AS2: to use AS2 communication standard widespread in retail to secure communication over the Internet.

  • Ftp client: to set-up an FTP client accessing an external FTP server.

  • Ftp server: to configure FTP server receiving incoming messages.

  • Email: to set-up a new email address (on Babelway server) to receive incoming messages.

  • Fetch Mail: to retrieve messages from an external POP3 mailbox.

  • Web gateway: to set-up a website access to upload incoming messages.

  • Internal gateway: to set-up an exchange with another Babelway channel.

Once your input gateway is selected, you should fill in the template with the technical parameters required to establish the connection between your account and the external system.

Note

If certificates are an element of the communication protocol (such as AS/2), you have to incorporate the external system certificate as a technical parameter and provide the corresponding Babelway certificate to the external system.

The different gateway protocols and their respective parameters are detailed in the Reference Manual:

Channels > Edit Channel > Gateway In

Note

Each Babelway account environment has its own set of gateway addresses or locators. External systems are therefore connected to individual Babelway account, not to Babelway in general.

Message In

Once you have defined the communication protocol used to receive messages issued by external system A, you should specify the incoming message format. Most common formats may be configured either directly in the interface or using a sample file.

You can select amongst the following predefined file formats:

  • XML: to define a new message in XML format (from XML or XSD file).

  • EDIFACT: to define a new message in EDIFACT format.

  • TRADACOM: to define a new message in TRADACOM format.

  • X12: to define a new message in X12 format.

  • ODETTE: to define a new message in ODETTE format.

  • CSV: to define a character-delimited flat file with constant record definition (data is in columns).

  • MS Excel: to define a new message in MS Excel ('97 to '03).

  • Multi Record Flat file: to define a new delimited or fixed length multi record message.

After message specification or sample file upload, the system will automatically provide an XML version, as well as a visual representation in a hierarchical tree structure.

For custom flat-file formats (such as fixed length or multi-records), you can also upload a specific configuration file built using ***ServingXML library.

Note

Advanced users can create a new message format (not supported by Babelway) by uploading programmatic code that provides support to proprietary messages formats, such as specific binary ERP format (for example idoc of SAP). This is done via the catalogue item 'Generic Message'

The different message formats and their respective parameters are detailed in the Reference Manual:

Channels > Edit Channel > Message In

Transformation

Note

In the processing stream of a channel, the step following an incoming message is its transformation to generate the corresponding outgoing message. Nevertheless, during channel configuration process, you must configure Message Out format first before having access to the Transformation tab. Indeed you cannot define a transformation if the output message format is unknown.

There are several ways to define the transformation rules between incoming and outgoing messages defined previously:

  • You can use the graphical and drag & drop interface tool to easily and quickly create simple transformation rules. You create cross references between message in and message out fields by dragging and dropping message fields from left (message in) to right (message out).

  • If you need more complex transformations, you have access to standard functions such as concatenation, date formatting, arithmetic operations, lookup table, etc. Using ***XPath syntax, you can also define new standard operations.

  • If you are an expert user, you may prefer not to use the graphical drag & drop interface and work directly in the underlying ***XSLT structure, which is less user-friendly but may prove to be faster for an XSLT developer.

The transformation rules and methods are detailled in the Reference Manual:

Channels > Edit Channel > Transformation

Message Out

Once you have defined the incoming message issued by external system A format, you should specify the outgoing message format to be sent to external system B.

As for incoming messages, most common formats may be configured either directly in the interface or using a sample file. The predefined file formats are the same as those described in Message In above.

The different message formats and their respective parameters are detailed in the Reference Manual:

Channels > Edit Channel > Message Out

Gateway Out

As for gateway in, gateway out specifies the way outgoing messages are sent by the channel and how Babelway platform communicates with external system B. The communication protocol used with system B may be different from the communication protocol used with system A.

You can select your communication protocol amongst the following ones:

  • AS2: this a communication standard largely used in retail to secure communication over the Internet.

  • Ftp client: to set-up an FTP client accessing an external FTP server.

  • Ftp server: to configure FTP server to place outgoing messages.

  • Email: to set-up a new email address to send outgoing messages.

  • Web gateway: to set-up a website access to download outgoing messages.

  • SOAP gateway: to set-up a SOAP gateway (SOAP client) to send outgoing messages to a SOAP server.

  • Babelway Internal gateway: to set-up an exchange with another Babelway channel.

Once your output communication protocol is selected, you should fill in the template with the technical parameters required to establish the connection between Babelway platform and external system.

Note

If certificates are an element of the communication protocol (such as AS/2), you have to incorporate the external system certificate as a technical parameter and provide the corresponding Babelway certificate to the external system.

The different gateway protocols and their respective parameters are detailed in the Reference Manual:

Channels > Edit Channel > Gateway Out

Email Notifications

For each individual channel, you may configure automatic notifications that send emails to specified addresses upon arrival of new messages. Notified users can be different if the message has been successfully processed or if an error has been generated.

The notification parameters are detailed in the Reference Manual:

Channels > Edit Channel > Email Notifications

Routing

In some cases, messages originate from a common source but must go to various external systems. If such a situation occurs, the Routing tab will be available and you will need to configure the routing rules.

The routing rules parameters are detailed in the Reference Manual:

Channels > Routing

Testing

You must build test cases for your channels. These test cases will enable you to check the result of message formats and transformation processing prior to deploying the channel into the production environment.

The test cases configuration is detailed in the Reference Manual:

Channels > Edit Channel > Testing

5.4. Basic Channel Functions

The basic functions available for channel creation and configuration are the following ones. They are used for most channels configuration and are explained in details in the Reference Manual:

  • List of Channels: Though not really a function, this topic describes all channels information summarized in the channel list.

  • Create a Channel: How to create a new channel.

  • Lookup Tables: How to manage lookup tables often used in message transformation process.

  • Activate and Deploy a Channel: How to activate and deploy your channel in production.

  • Duplicate a Channel: How to duplicate a channel to quicken your channel creation and configuration process.

  • Delete a Channel: How to delete a channel not in use anymore.

  • Metadata: How to use metadata for example in actively defining a file name or a mail subject.

Additional functions are available in Advanced Channel Functions.

5.5. Message Edit Functions

The message edit functions available during in and out message definition are the following ones. They are explained in details in the Reference Manual:

5.6. Message Transformation Functions

The message transformation functions are used for message configuration when a complex transformation or mapping is required. They are explained in details in the Reference Manual:

  • Drag and Drop Transformation Functions: All available tansformation functions readily available such as constant number or string definition, data formatting, arithmetical functions, lookup tables use...

  • Filter Function: How to set up and use a filter in message transformation to generate output data according to specified filter

  • If Function: How to set up and use an If function in message transformation to not generate specific data according to specified condition.

  • Format Function: How to format output data (string, number, date...).

  • Counter: How to implement a counter.

5.7. Advanced Channel Functions

The advanced functions available for channel configuration are the following ones. They allow you to use external tools and/or other software languages to configure some specific parts of a channel or transformation rule. They are used for channels configuration when specific or complex transformation is required. They are explained in details in the Reference Manual:

5.8. Activate a Channel

When a channel is complete, including testing, you can activate it. An activated channel will be put in production next time you Deploy channels that includes it. Once it is in production, the channel will receive incoming messages and process them according to its configuration.

Note

A channel cannot be activated ( Activate channel command is not available) until all required conditions are met (gateways and messages properly defined, at least one test case is configured,...) to complete the channel definition.

If you remove one of the mandatory conditions in an active channel, such as a message definition for example, the channel will be automatically deactivated.

You can always deactivate an active channel if you want to replace it or if it is not used anymore in production.

See Activate and Deploy a Channel for further information about channel activation and deactivation process.

5.9. Lookup Tables

Lookup tables are tables of values used in message transformations that require the replacement of incoming values by corresponding outgoing values (For example, when your B2B partner is using item different codes than your own items codes).

The message transformation step can look up an incoming message value in this table and replace it with the matching value in the outgoing message.

There are tools to create -either manually or automatically through import functions-, append, manage and share these lookup tables allowing you to centrally manage these tables and reuse them across channels and accounts and even sharing them with other users.

All lookup tables commands are detailed in Lookup Tables chapter in Reference Manual.

Chapter 6. The Catalogue

The catalogue is a list of predefined and user-defined items. It allows you to easily implement already defined items without requiring you to do multiple similar configurations. You can filter results for incoming gateways, outgoing gateways, incoming message definitions, outgoing message definitions and transformations.

A catalogue lists all predefined items proposed by Babelway. You can copy the selected item and tune it to your own application by changing only a few parameters. Additionaly, you can share catalogue items with other people.

All available templates and items can be selected from the Catalogue page.

The catalogue use and its available commands are detailed in The Catalogue chapter in Reference Manual. Hereunder, a catalogue list for gateway in selection is illustrated.

Catalogue example

Figure 6.1. Catalogue example


Chapter 7. Tracking Messages

The Messages tab provides the list of all stored messages and, for each of them, details as illustrated in the following figures. Details of the message includes the message at entry and at exit, possible intermediary forms, contextual information such as incoming time, outgoing time, status, and security-related information such as certificates and signatures.

All commands regarding messages management are detailed in the Reference Manual in Tracking Messages chapter.

Warning

Refaire les captures avec un plus grand choix de messages (y compris clés MDN en AS2)...

List of Messages

Figure 7.1. List of Messages


By clicking on a message, details of the Message Record are displayed:

Message Record

Figure 7.2. Message Record


Chapter 8. Managing Alerts

Multiple events generate alerts. For example, processing issues related to a message generate alerts. Alerts provide you with detailed information as well as tools for resolution management. You can directly access messages that are in error for manual correction and resubmitting in a channel.

In the Alerts tab, you have access to a list of all alerts and for each one of them you have access to details as illustrated in the following figures.

All commands regarding alerts management are detailed in the Reference Manual in Alerts chapter.

List of Alerts

Figure 8.1. List of Alerts


When you click on a alert in the above list, the alert information is displayed as illustrated below:

Alert

Figure 8.2. Alert


Note

From this alert edit screen, it is also possible to manually resubmit for processing an unsuccessful message. See how to resubmit a message in the Alert Details in the Reference Manual.

Chapter 9. Managing Your Account

The account management function includes the following services. Their usage are detailed in Account Management chapter in Reference Manual.

The My Account screen is displayed as follow. It is divided in four parts described hereunder.

My Account

Figure 9.1. My Account


My Profile

In this part, you have access to your personal information such as username, email address... You can add and change some additional information such as name or phone number. These fields are detailed in My Profile.

Access and Notifications

In this part, you can see the environments you have access to as well as the role assigned to you. If you received notifications for some channels, this will also be displayed in this section. If you have access to some Web Gateway, this will also be displayed in this section. These fields are detailed in Access and Notifications.

Account Administration

This part is displayed only if you are account administrator. It displays account informations as well as a summary table of all the environments of the account. You can also change your account name and add new environments or delete existing ones using Edit command. You can also buy additional credits using Buy Units command. These fields are detailed in Account Administration.

An account can be made up of any number of different environments. It can be useful to build channels in separate environments if:

  • Users should have different access rights,

  • Message storage duration should be differentiated,

  • Capacity and performance expectations are different,

  • Security requirements demand it,

  • There is a need for a separate test environment.

An account has a default processing capacity as defined by Babelway. You can increase this capacity and therefore handle large amount of simultaneous message flows, without being dependent on general consumption of capacity by other Babelway accounts

As a default option, Babelway stores messages for a period of 3 months. You can select the ‘longterm archiving’ option which provides legal storage for 12 years. (Other terms of storage -shorter or longer- may be accommodated individually.)

User Access

In this part, you see all users who have access to your account and their respective role. You can edit or remove access of these users or add new users using Add a User command. These functions are detailed in User Access chapter.

As account administrator, you may give other users access to your account. Access rights are as follows, see more details in User Access chapter:

  • Account Administrator: Full rights over the account.

  • Channel Manager: Full rights over alerts, messages and channels of a single environment of the account.

  • Web Gateway User: Can upload/download messages from a specific webpage of the account.

Chapter 10. Best Practices

Channel elements are very flexible and can be copied from one environment to another as long as the user has access to both environment. Here is some advice for organising work in Babelway if you plan to use more than a few channels.

Using a test environment for transformation development

Before starting, let's mention that Babelway is managing a single multi-tenant platform. From a Babelway perspective all environments and messages are "production".

However a customer can decide to organise himself in a traditional multi-environment setting.

Create a "test environment" in your account and use it to develop messages and transformation. Once you are ready to use it, then "promote" to production by simply replacing the element in your production environment. When importing the element in the production environment, give it a name including a version indicator. ex: Invoice flatefile My ERP v1.23 or Invoice Carrefour 96A 200900416. All the previous "production" version will therefore remain available allowing you to revert changes if you need it.

For this model to work properly , it is important to do all modifications in the "test environment". There is no need to keep a copy of the "promoted" version in the test environment. Would you need to work on an old release, simply copy it back from the production environment.

It is also a best practice to include all the production channels in your test environment. This way you will be able to test your routing rules and metadata substitution in the gateways. Note that you can use a different type of gateway to make your life simple, for instance use an email or a web gateway instead of a AS2 gateway.

Versioning of channel

Instead of modifying an existing channel, simply deactivate it and create a new one. Import the new elements from the test environment to the new one and activate it. The next deployment will deploy the new channel and undeploy the old one. You now have a backup copy of the old channel.

Service provider

There are 3 valid set-ups for a service provider to use Babelway:

  • One account per client

  • One environment per client in a single account

  • One single account/environment

The key differences between these is the billing and the possibility to give access to end-customers. If each end-customer should receive their Babelway invoice in full transparency, go for one account per client. If each client should get individual online access to channels and messages but the service provider takes care of the overall Babelway invoice, go for one environment per client in a single account. If the service provider provides full outsourcing service to its customers, without giving them any visibility on Babelway, go for one single account/environment.

Anyway the best practice for the service provider is still to create a test environment in one of these accounts or in his own.

Reference Manual

Babelway B2B Integration Platform Documentation


1. Channels
1.1. List of Channels
1.2. View Change Log
1.3. General
1.4. Gateway In
1.4.1. Email Gateway
1.4.2. Fetch Mail Gateway
1.4.3. Ftp Client Gateway In
1.4.4. SFTP Client Gateway In
1.4.5. Ftp Server Gateway In
1.4.6. SFTP Server Gateway In
1.4.7. AS2 Gateway
1.4.8. Web Gateway
1.4.9. Internal Gateway In
1.4.10. OFTP Server Gateway In
1.4.11. OFTP client Gateway In
1.4.12. Http in Gateway
1.4.13. X.400 Gateway In
1.4.14. Scheduler in Gateway
1.5. Message In
1.5.1. CSV Message Format
1.5.2. EDIFACT Message Format
1.5.3. X12 Message Format
1.5.4. XML Message Format
1.5.5. Excel Message Format
1.5.6. Multirecord Message Format
1.5.7. XML Printer Message Format
1.5.8. Flat File Message Format
1.5.9. Generic Message Format
1.5.10. Not Defined Message Format
1.5.11. TRADACOM Message Format
1.6. Transformation
1.6.1. Drag and Drop Transformation
1.6.2. Xslt Transformation
1.6.3. No Transformation
1.7. Message Out
1.7.1. CSV Message Format
1.7.2. EDIFACT Message Format
1.7.3. X12 Message Format
1.7.4. XML Message Format
1.7.5. Excel Message Format
1.7.6. PDF Message Format
1.7.7. Multirecord Message Format
1.7.8. Flat File Message Format
1.7.9. Generic Message Format
1.7.10. Not Defined Message Format
1.7.11. TRADACOM Message Format
1.8. Gateway Out
1.8.1. Email Gateway Out
1.8.2. Ftp Client Gateway Out
1.8.3. SFTP Client Gateway Out
1.8.4. Ftp Server Gateway Out
1.8.5. AS2 Gateway
1.8.6. Http Client Out Gateway
1.8.7. Web Gateway
1.8.8. Generic Gateway
1.8.9. Internal Gateway Out
1.8.10. Null Gateway
1.8.11. OFTP Server Gateway out
1.8.12. OFTP client Gateway out
1.8.13. Http Out Gateway
1.8.14. SOAP Gateway
1.8.15. Soap Client Out Gateway
1.8.16. X.400 Gateway out
1.8.17. Aggregator Gateway Out
1.9. Email Notifications
1.10. Routing
1.11. Testing
2. Building a Channel
2.1. Basic Functions
2.1.1. List of Channels
2.1.2. Create a Channel
2.1.3. Lookup Tables
2.1.4. Activate and Deploy a Channel
2.1.5. Duplicate a Channel
2.1.6. Delete a Channel
2.1.7. Metadata
2.2. Message Edit Functions
2.2.1. Message Definition
2.2.2. Message Validation
2.2.3. Managing Loops
2.2.4. Managing Choice
2.2.5. Unwrapping an Incoming Message
2.2.6. Get attachment from the received PDF/ZIP
2.2.7. Signing an Outgoing Message
2.3. Message Transformation Functions
2.3.1. Drag and Drop Transformation Functions
2.3.2. Filter Function
2.3.3. If Function
2.3.4. Format Function
2.3.5. Counter
2.4. Advanced Functions
2.4.1. Creating XSLT Functions
2.4.2. Creating Your Own Items Using Java Code
2.4.3. Defining a Custom Gateway
2.4.4. Automatic Population of Lookup Tables
2.4.5. Creating Shared Lookup Tables
3. The Catalogue
3.1. What is the Catalogue?
3.2. Managing Items in the Catalogue
3.3. Managing Channels in the Catalogue
3.4. Adding an Item to a Public Catalogue
3.5. Send to a friend
3.6. Copying Items from an URL
4. Tracking Messages
4.1. List of Messages
4.2. Message Search
4.3. Message Record
4.4. Downloading a Message
4.5. Viewing the Message Signature
4.6. Saving a Message as Test Case
4.7. Resubmitting a Message
4.8. Resubmit All Messages
4.9. Verify a message integrity and timestamp (chain search)
5. Alerts
5.1. List of Alerts
5.2. Alert Details
5.3. Ticket Edit
5.4. Possible Alerts
6. Account Management
6.1. My Account
6.2. My Profile
6.3. Access and Notifications
6.4. Account Administration
6.5. Edit Account
6.6. Edit Environment
6.7. Buy Credits
6.8. User Access
6.9. Add a User
6.10. Edit Keystore
6.11. BabelInvoice
6.11.1. BabelInvoice Solution
6.11.2. BabelInvoice Setting
6.11.3. Install BabelInvoice for PDFCreator
6.11.4. Using BabelInvoice for Stand alone
7. Rest API
7.1. Introduction
7.2. Tickets
7.3. Messages
7.4. Channels
7.5. The Catalogue
7.6. Push a Message
7.7. Authentication
7.8. Code samples

Chapter 1. Channels

Tip

See: Managing Channels - Channel Items

In this start-up screen, you can create, manage, search and list your different channels. You can also access message formats and lookup mapping tables.

This chapter describes the different channel configuration tabs as they are available in Edit Channel screens. During a channel setup, most of these tabs should be completed in order to be able to activate the channel. Though this is not mandatory, they can be completed in their presentation order but for Transformation tab that cannot be configured before Message Out format has been defined.

Note

Please note that most Babelway messaging engine items required by your channels, such as email addresses, ftp and web servers... are only created during channel deployment.

Thus, for example, sending an email to the new email address xxx@babelway.net you created in your channel for an email gateway will return a non-existent email account error until you deploy your channel effectively creating this address.

1.1. List of Channels

Tip

See: Managing Channels - Manage a Channel

The List of Channels screen enables you to create, manage, search and list your different channels. You can also access lookup tables management.
Channels tab screen and its available commands

Figure 1.1. Channels tab screen and its available commands


Channels table

The channels start-up screen displays a table listing your available channels. These channels can be ordered by clicking on most column headers for easier retrieval.

Once you have found the channel you want to visualize or modify, click on it to open it and access its content through the Channels screens.

Channel search

Clicking on the Channel Search command displays the search fields that enables you to search and find channels based on one or more of the search criteria (name, description and update date).

Channels search criteria

Figure 1.2. Channels search criteria


Once you have defined your search criteria, click on the List button to update the channels table that now only displays the found channels.

Note

The wildcards cannot be used in the search fields. The name search is done only on names defined by the user, not on automatically generated names.

Commands

The Create Channel command enables you to create a new channel from scratch. Once the channel is created, you can edit it through the General channel edit screen that is automatically displayed.

The Manage Lookup Mapping Tables command displays a table allowing you to manage your list of Lookup Tables.

The Deploy Channels command starts to Activate and Deploy Channels in production.

The View Change Log command allows you to view the state of your channels at any given point in time and uses revert function in order to go back in time and put your channels at a given revision. View Change Log.

1.2. View Change Log

Tip

See: Managing Channels - Manage a Channel

Each time you push on the "save" button in a channel, a revision is created. This allows you to know the state of your channels at any given point in time The Revert function uses those revisions in order to go back in time and put your channels at a given revision.

To view the list of revisions click on View Change Log in the List of Channels page

The list of revisions is displayed as illustrated below:

list of revisions

Figure 1.3. list of revisions


The revisions are listed from the latest to the olds. So your last modification is displayed at the top of the list.

By definition, the last revision corresponds to the last time you clicked on "save'. So by definition, there would be no difference between the current version of your channels and the last time you clicked on save.

All the revisions above the first are old states of your channels. There is a timestamp (represents when you clicked on 'save'), the user who clicked on 'save' and a small description limited to the elements (i.e. channel, message in, message out, transformation, test, ...) that have been modified.

By clicking on one of those revisions, you will see a detailed list about what will happen at revert. This basically corresponds to a diff between the current state of your channels and the state you've chosen to revert to.

The revisions details page is illustrated below:

revisions details

Figure 1.4. revisions details


When you've chosen a revision to go back to, your channels will be modified. The list at that point only tells you what will happen. (properties will be changes, elements will be deleted/created) in order to get in the exact same state at the revision you had chosen. A new revision will be created corresponding to the revert.

So if you had a channel A and a channel B. You delete the channel B. You can use the revert to go back to the point before you had deleted channel B.

But the granularity is limited. If you had a channel A and a channel B. You delete B. Then you create a channel C. If you realize that deleting B was a mistake, you can go back at the time before you deleted B.

Reverting to that point will delete channel C and recreate channel B. There is no way to get channel B while keeping channel C,You can see that as if you were in Word, a channel is a paragraph and you use the "Undo" (Ctrl-Z) function. If you changed multiple paragraphs, you cannot undo a paragraph, you can only undo at the document level.

Note

Revert function is an advanced function, use it with care.

1.3. General

Tip

See: Managing Channels - Manage a Channel

The General tab enables you to name and describe your channel as well as seeing additional information about its status and its deployment.
General tab

Figure 1.5. General tab


General tab screen and its available commands

Figure 1.6. General tab screen and its available commands


The following fields and information are available on this screen:

  • Id: A unique identifier automatically set by Babelway platform.

  • Name: A name that you can set and/or modify to easily retrieve and manage your channel.

  • Description: A free text field that you can set and/or modify used in addition to channel name to help you identify your channel usage and/or function.

  • Status: Current activation channel status.

  • Last Updated On: Date and time of last channel configuration update.

  • Last Deployed On: Date and time of last channel deployment.

  • Next Deployment: Action to be taken at next deployment for this channel (see Deploy your channels chapter).

The Save command enables you to save your changes.

Note

Do not forget to save your changes before switching to another tab as they are not automatically saved.

1.4. Gateway In

Tip

See: Managing Channels - Manage a Channel

In the Gateway In screen, you select your input gateway type and configure its specific parameters.
Gateway In tab

Figure 1.7. Gateway In tab


When you create a new channel, you must define an incoming gateway type and configure it.

First you should select a gateway in the catalogue available list. For this, click on Open catalogue command.

The catalogue list of available incoming gateways is displayed as illustrated below:

Catalogue for gateway in selection

Figure 1.8. Catalogue for gateway in selection


Create and/or select a gateway from open catalogue. Please refer to The Catalogue chapter for more informations about catalogue use and commands.

The following types of gateways are available:

  • Email Gateway: Incoming messages are attached to email messages and sent to a specific Babelway email address and processed as soon as they arrive.

  • Fetch Mail Gateway: Incoming messages are send to an email address and Babelway platform polls and retrieves them from external mail server using login and password.

  • FTP Client Gateway: Incoming messages are polled and retrieved from a remote ftp server using login and password.

  • SFTP Client Gateway: Incoming messages are polled and retrieved from a remote sftp server using login and password.

  • FTP Server Gateway: Incoming messages are transferred to a Babelway specific Ftp server and processed as soon as they arrive.

  • SFTP Server Gateway: Incoming messages are transferred to a Babelway specific SFtp server and processed as soon as they arrive.

  • AS2 Gateway: A communicaion standard largely used in retail environment to secure communications over Internet.

  • Web Gateway: A website access to upload incoming messages. They are processed as soon as they are uploaded.

  • Internal Gateway: A gateway used for internal transfer of messages between channels inside Babelway platform.

  • OFTP Server Gateway In: Incoming messages are transferred to a Babelway specific OFTP server and processed as soon as they arrive.

  • OFTP Client Gateway In: Incoming messages are polled and retrieved from a remote OFTP server using login and password.

  • Http Gateway In: Incoming messages are transferred to a Babelway specific Http server and processed as soon as they arrive.

  • X.400 Gateway In: Incoming messages are transferred to a Babelway specific X.400 server and processed as soon as they arrive.

  • Scheduler Gateway In: Create new messages based on time events.

Show Advanced Properties

The Show Advanced Properties command is the same for all gateway types..Clicking on it displays following informations:

Gateway In advanced properties

Figure 1.9. Gateway In advanced properties


The following fields and information are available:

  • Id: A unique identifier automatically set by Babelway platform.

  • Name: A name that you can set and/or modify to easily retrieve and manage your gateway.

  • Description: A free text field that you can set and/or modify used in addition to gateway name to help you identify your gateway usage and/or function.

  • Used in channels: List of channels that are currently using this gateway.

  • Property Name: Not used at this time.

  • File Property Name: Not used at this time.

Note

Do not forgot to Save your changes before switching to another tab as they are not automatically saved.

1.4.1. Email Gateway

Tip

See: Managing Channels - Manage a Channel

With an Email Gateway, incoming messages are attached to email messages and sent to a specific Babelway email address and processed as soon as they arrive.

To create an email gateway, select an existing template or make a copy of the generic Email template in the catalogue and following screen will be displayed.

Email Gateway configuration

Figure 1.10. Email Gateway configuration


There is only one field to enter if a value has not been defined yet in selected template:

Username

Set the Username to access email account which incoming messages will be sent as email attachment.

domainName

Babelway domain name set as "babelway.net".

If the address you try to create already exists, you will receive the following message and you will have to enter a new address.

Error message if entered email address already exists

Figure 1.11. Error message if entered email address already exists


Note

Remember that this email address will only be created at next channel deployment.

1.4.2. Fetch Mail Gateway

Tip

See: Managing Channels - Manage a Channel

With a Fetch Mail Gateway, incoming messages are attached to email messages and sent to an external email address. Babelway platform polls this address at regular intervals and retrieves incoming mails to process them.

To create a fetch email gateway, select an existing template or make a copy of the generic Fetch Mail template in the catalogue and following screen will be displayed.

Fetch Mail Gateway configuration

Figure 1.12. Fetch Mail Gateway configuration


The following fields should be defined in order to configure your incoming gateway:

Mail Server

Pop3 mail server address of email to which incoming messages will be sent as email attachment.

Username

Login or username to access email account.

Password

Password associated to previous username to access email account.

Title Pattern

Pattern the title of the email must comply with to be pick-up by the message.

Attachment

The message is in the attachment of the email, if false the body of the email is used as the message.

Attachment Pattern

Pattern for the attachment. If not complying the message is discarded.

Warning

  • À quoi servent les patterns ?

  • Le message est-il dans le corps du texte et/ou en attachment (idem pour Email Gateway) ?

  • Qu'advient-il du message une fois qu'il a été lu ? Est-il automatiquement effacé du serveur ? Si non, comment fait-on pour qu'il ne soit pas pas processé plusieurs fois ?

  • Quel est la fréquence de polling - pourquoi n'est-elle pas configurable comme pour un FTP client ?

1.4.3. Ftp Client Gateway In

Tip

See: Managing Channels - Manage a Channel

With a Ftp Client Input Gateway, incoming messages are transfered to an external Ftp server. Babelway platform polls this server at regular intervals and retrieves incoming files to process them.

To create a ftp client gateway, select an existing template or make a copy of the generic Ftp client template in the catalogue and following screen will be displayed.

Ftp client gateway in configuration

Figure 1.13. Ftp client gateway in configuration


The following fields should be defined in order to configure access to your external ftp server:

Server

External ftp server adress where Babelway platform should fetch messages.

Username

Login or username to access files on this external ftp server.

Password

Password associated to previous username to access account.

Directory

Directory where files are to be fetched on the server.

Passive Mode

Indicates that the ftp connection is in passive. Setting this to true means the ftp client will establish two connection to the ftpserver client.

Polling Interval

Interval of times in seconds between checking for message arrival.

Post Process Delete

Delete file once it has been retrieved and processed.

Post Process Suffix

The file suffix which will be added to the file name after it is processed.

Post Process Directory

The ftp directory to which the file will be moved after it is processed by the ESB

Error Delete

If true, the file will be deleted if an error occurs during processing. Note that in that case error-directory and error-suffix have no effect.

Error Suffix

The file suffix which will be added to the file name after an error occurs during processing.

Error Directory

The ftp directory to which the file will be moved after when an error occurs during processing.

Input Suffix

The file suffix used to filter files targeted for comsumption by the ESB (note: add the dot, so something like '.esbIn'). This can also be specified as an empty string to specify that all files should be retrieved.

After channel deployment, your ftp server will be available to send messages. You can access this ftp server using any ftp client software set up with the previous account parameters.

Note

When a message is transfered to the ftp server, it is processed immediately then original file is removed from server.

Warning

  • À quoi servent les paramètres non (encore) documentés ?

  • Y a-t-il une valeur min (et max) pour l'intervalle de polling ?

  • Selon le forum, "FTP Gateway with a SSL certificat", il est possible de régler le protocole sur ftps dans les "advanced properties", or il n'y a pas de tel paramètre ni dans les propriétés avancées, ni des les paramètres normaux... Quand est-il ?

1.4.4. SFTP Client Gateway In

Tip

See: Managing Channels - Manage a Channel

With a SFTP Client Input Gateway, incoming messages are transfered to an external SFTP server. Babelway platform polls this server at regular intervals and retrieves incoming files to process them.

To create a SFTP client gateway, select an existing template or make a copy of the generic SFTP Client template in the catalogue and following screen will be displayed.

SFTP client gateway in configuration

Figure 1.14. SFTP client gateway in configuration


The following fields should be defined in order to configure access to your external sftp server:

Protocol

Use sftp protocol for incoming messages that transfered to SFTP server.

Hostname

Babelway sftp server host name

Username

Login or username to access files on this external sftp server.

Password

Password associated to previous username to access account.

Directory

Directory where files are to be fetched on the server.

Polling Interval

Interval of times in seconds between checking for message arrival.

Post Process Delete

Delete file once it has been retrieved and processed.

Post Process Suffix

The file suffix which will be added to the file name after it is processed.

Post Process Directory

The sftp directory to which the file will be moved after it is processed by the ESB

Error Delete

If true, the file will be deleted if an error occurs during processing. Note that in that case error-directory and error-suffix have no effect.

Error Suffix

The file suffix which will be added to the file name after an error occurs during processing.

Error Directory

The sftp directory to which the file will be moved after when an error occurs during processing.

Input Suffix

The file suffix used to filter files targeted for comsumption by the ESB (note: add the dot, so something like '.esbIn'). This can also be specified as an empty string to specify that all files should be retrieved.

After channel deployment, your ftp server will be available to send messages. You can access this ftp server using any ftp client software set up with the previous account parameters.

Note

When a message is transfered to the sftp server, it is processed immediately then original file is removed from server.

1.4.5. Ftp Server Gateway In

Tip

See: Managing Channels - Manage a Channel

With a Ftp Server Input Gateway, incoming messages are received on a Babelway specific server and processed as soon as they arrive.

To create a ftp server gateway, select an existing template or make a copy of the generic Ftp server template in the catalogue and following screen will be displayed.

Ftp server gateway in configuration

Figure 1.15. Ftp server gateway in configuration


The following fields should be defined in order to configure your ftp server on Babelway platform:

Hostname

Babelway ftp server set as "ftp.babelway.net"

Username

Login or username to access your account on Babelway ftp server. This username must be unique as it will be linked to a specific directory on ftp server.

Password

Password associated to previous username to access your account.

After channel deployment, your ftp server will be available to send messages. You can access this ftp server using any ftp client software set up with the previous account parameters.

Note

  • When a message is received by the ftp server, it is processed in the 90 seconds (default polling interval) max. After processing, the original file is removed from server.

  • If you are using an ftp server both as incoming and outgoing gateways, you cannot use the same login for both gateway servers.

1.4.6. SFTP Server Gateway In

Tip

See: Managing Channels - Manage a Channel

Using the SFTP Server Input Gateway,incoming messages are received on a Babelway specific server and processed as soon as they arrive. The SFTP server gateway supports SFTP version 3 and password and/or publickey user authentication mechanisms.

To create a SFTP server gateway, open the catalogue and select an existing template or make a copy of the generic SFTP server template in the catalogue. The following screen will be displayed.

SFTP server gateway in configuration

Figure 1.16. SFTP server gateway in configuration


The following fields should be defined in order to configure your SFTP server on the Babelway platform:

Hostname

Babelway SFTP server default value is « sftp.babelway.net »

Username

Login or username to access your account on the Babelway SFTP server . This username must be unique as it will be linked to a specific directory on the SFTP server.

Password

The password associated to the previous username to access your account. This can be left empty if you choose to only use the public key authentication mechanism.

Public Key

The public key associated to the previous username to access your account. This can be left empty if you choose to only use the password authentication mechanism. The supported formats are RSA public key (OpenSSH, Putty or DER format). More information about generating such a key can be found at the end of this page.

Note

  • you can set both password and public key fields. In that case, you will be able to connect to your account either by using a password or by using your private key associated with the uploaded public key.

After channel deployment, your SFTP server will be available to send messages. You can access this SFTP server using any SFTP (version 3) client software set up with the previous account parameters.

Note

  • •When a message is received by the SFTP server, it is directly processed. After processing the file is removed from the server

Public key generation

The public key is expected to be in a RSA format (OpenSSH, Putty or DER). If you don’t already have a public/private key, you can generate one using ssh-keygen from OpenSSH :

C:\cygwin\bin>ssh-keygen.exe
Generating public/private rsa key pair.
Enter file in which to save the key (/.ssh/id_rsa): /tmp/identity
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /tmp/identity.
Your public key has been saved in /tmp/identity.pub.
The key fingerprint is:
f0:e4:2f:(...) user@computer

1.4.7. AS2 Gateway

Tip

See: Managing Channels - Manage a Channel

With an AS2 Gateway, incoming messages are received using an AS2 connection. Incoming files are processed as soon as they are received.

AS2 (Applicability Statement 2) is a specification about how to transport data securely and reliably over the Internet. Security is achieved by using digital certificates and encryption.

To create AS2 gateway, select an existing template or make a copy of the generic AS2 template in the catalogue and following screen will be displayed.

AS2 gateway configuration

Figure 1.17. AS2 gateway configuration


The following fields should be defined in order to configure your AS2 access:

From

Server address that sends incoming messages.

To

Babelway destination server.

Subject

AS2 message subject

Recipient Address

The endpoint URL of the receiving message gateway ,requires protocol prefix in URL (http:// or https://).

Request Receipt

Should a receipt be sent when a request is received or not.

Receipt Return URL

URL address where to send receipt.

Signed Receipt

Should receipt be signed or not.

Signing Algorithm

Select algorithm used for signing receipt, if any.

Asynchronous Receipt

Should receipt be sent asynchronously or not.

Message Compression Required

Should send message be compressed or not?

Message Signing Required

Should send message be signed or not?

Message Encryption Required

Should send message be encrypted or not?

Encryption Algorithm

Select algorithm used for encrypting message, if any.

Message Signature Enforced

Should message signature be enforced or not?

MIC Algorithm

Select MIC algorithm, if any.

Message Encryption Enforced

Should message encryption be enforced or not?

Maximum Retries

Maximum number of retries if message sending failed?

Retry Interval

Interval of time before trying to send message again (in seconds)?

Certification For Encryption

Certificate used for message encryption?

Certification For Verification

Certificate used for message verification?

AS2 documentation

File containing your AS2 parameters. It should be completed as detailled hereafter before being sent to your AS2 partner for configuration of his system side.

After channel deployment, your AS2 connection will be available to receive messages.

Report AS2 parameters to the other party

Click on GenericAS2Specifications.doc command to download a Word file including all parameters values required to establish AS2 communication. In this file, you should change Identity field to match the To field value (see above) as automatically attributed by Babelway interface, this value follows " BABELWAY_AS2_xxxxx " form.

Once this parameter has been changed to match your settings, you can send the file to the other party to give him all parameters he will require to establish a communication with your channel.

GenericAS2Specifications Word file example

Figure 1.18. GenericAS2Specifications Word file example


Warning

  • À quoi servent les paramètres non (encore) documentés ?

  • Y a-t-il un polling ?

  • Le "Retry Interval" est-il bien exprimé en secondes (à ajouter dans l'interface?) ? Si oui, y a-t-il un maximum et/ou un minimum ?

1.4.8. Web Gateway

Tip

See: Managing Channels - Manage a Channel

With a web gateway, incoming messages are manually uploaded on a specific Babelway webpage. They are processed as soon as they are uploaded.

To create a web gateway, select an existing template or make a copy of the generic Web template in the catalogue and following screen will be displayed.

Web Gateway configuration

Figure 1.19. Web Gateway configuration


There is no parameter to define in this template. The web gateway will be automaticaly created using the gateway name you entered.

You can access your specific web server via your Account Management screen, in Access and Notifications part. Click on the link next to the Message Upload via Web Gateway field. The web link is listed with the same name as the web gateway you created.

Web gateway access via my account management

Figure 1.20. Web gateway access via my account management


Once you open your web gateway, following screen is displayed. Click on Upload tab if it is not open by default.

Web gateway Upload screen

Figure 1.21. Web gateway Upload screen


  • The lower part of displayed table lists all uploaded files still stored on web gateway if any. These files may be selected then erased using Delete Selected command.

  • In the upper part of displayed table, you can select a file to upload using the Browse... button then clicking on Upload. Following message is displayed if upload is successful. The message is then processed immediately.

Upload confirmation message

Figure 1.22. Upload confirmation message


Note

Remember that this web gateway will only be created at next channel deployment. It will not be available from your account management until then.

Warning

  • L'upload des fichiers ne peut-il se faire que manuellement ?

1.4.9. Internal Gateway In

Tip

See: Managing Channels - Manage a Channel

The internal gateway in / out are used for internal transfer of messages between channels inside the same account environment.

To create an internal gateway, select an existing template or make a copy of the generic Babelway Internal template in the catalogue and following screen will be displayed.

Internal Gateway configuration

Figure 1.23. Internal Gateway configuration


There is no parameter to define in this template. The internal gateway will be automaticaly created using the gateway name you entered. You will then be able to select it as an Internal Gateway Out in another channel configuration.

Note

As opposed to most other gateways, this internal one is immediately available as gateway out for other channels configuration without requiring a channel deployment.

Warning

  • Ce gateway sert-il à autre chose que des tests ?

  • " Such a gateway is useful for test purposes or to received preprocessed file coming from another existing gateway"

1.4.10. OFTP Server Gateway In

Tip

See: Managing Channels - Manage a Channel

With an OFtp server Gateway in, Incoming messages are received on a Babelway specific OFTP server and processed as soon as they arrive.

To create an OFtp server Gateway in, select an existing template or make a copy of the generic OFtp server template in the catalogue and following screen will be displayed.

OFtp server gateway in configuration

Figure 1.24. OFtp server gateway in configuration


The following fields should be defined in order to configure your OFTP Server on Babelway platform:

Partner SSID

The OFTP ID provided by your partner.

Partner SFID

The SFID provided by your partner. If none has been provide, this is probably the same as his SSID.

Partner Password

The password of your partner. Provided by your partner.

My SSID

BABELWAY.

My SFID

BABELWAY_AS2_26136.

My Password

The value of the password is empty.

Sign messages

Sign outgoing messages using the key selected in “My private key”. This allows your partner to verify that you are the one sending the message.

Encrypt messages

Encrypt outgoing messages using the certificate selected in” certificate for data”. This allows your partner to be the only one able to decrypt the messages sent.

Verify signature

Verify incoming messages signature using the certificate selected in “Certificate for data”. This allows you to be sure that only your partner could have signed the incoming messages.

Request signed ack (EERP)

Requests that incoming acknowledgments are signed. The signature will be verified using the Certificate for EERP. This allows you to be sure that only the partner could have signed the incoming messages.

My private key

Select private key or go to Keystore edit.

Partner certificate

Select Partner certificate or go to Keystore edit.

Encryption algorithm

Select Encryption algorithm or go to Keystore edit.

Certificate for data

Select Certificate for data or go to Keystore edit.

Certificate for EERP

Select Certificate for EERP or go to Keystore edit.

After channel deployment, your Oftp server will be available to send messages. You can access this ftp server using any Oftp client software set up with the previous account parameters.

Note

If you require a custom SSID / SFOD / PASSWORD, please send a request to support@babelway.com .

Note

When a message is transfered to the Oftp server, it is processed immediately then original file is removed from server.

Warning

  • À quoi servent les paramètres non (encore) documentés ?

  • Y a-t-il une valeur min (et max) pour l'intervalle de polling ?

  • Selon le forum, "FTP Gateway with a SSL certificat", il est possible de régler le protocole sur ftps dans les "advanced properties", or il n'y a pas de tel paramètre ni dans les propriétés avancées, ni des les paramètres normaux... Quand est-il ?

1.4.11. OFTP client Gateway In

Tip

See: Managing Channels - Manage a Channel

With an OFTP Client Input Gateway, incoming messages are transferred from an external OFTP server. The Babelway platform polls this server at regular intervals and retrieves files to process them.

To create an OFtp client Gateway in, select an existing template or make a copy of the generic OFtp client template in the catalogue and following screen will be displayed.

OFtp client gateway in configuration

Figure 1.25. OFtp client gateway in configuration


The following fields should be defined in order to configure your OFTP client on Babelway platform:

Server

The URL of the server of your partner. It is provided by your partner.

Port

The port to connect onto. It is provided by your partner.

Polling int ... in seconds

The interval in seconds between each polling,default is 90s.

Use TLS

.....

Partner SSID

The OFTP ID provided by your partner.

Partner SFID

The SFID provided by your partner. If none has been provide, this is probably the same as his SSID.

Partner Password

The password of your partner. Provided by your partner.

My SSID

BABELWAY.

My SFID

BABELWAY_AS2_26136.

My Password

The value of the password is empty.

Use Compression

Compresses the messages.

Sign messages

Sign outgoing messages using the key selected in "My private key". This allows your partner to verify that you are the one sending the message.

Encrypt messages

Encrypt outgoing messages using the certificate selected in "certificate for data". This allows your partner to be the only one able to decrypt the messages sent.

Receive signed messages

This allows you to verify that your partner are the one sending the message.

Request signed ack (EERP)

Requests that incoming acknowledgments are signed. The signature will be verified using the Certificate for EERP. This allows you to be sure that only the partner could have signed the incoming messages.

Signature key

Select Signature key or go to Keystore edit.

Encryption certificate

Select Encryption certificate or go to Keystore edit.

Encryption algorithm

Select Encryption algorithm or go to Keystore edit.

Certificate

Select Certificate for data or go to Keystore edit.

Certificate for EERP

Select Certificate for EERP or go to Keystore edit.

After channel deployment, your Oftp server will be available to send messages. You can access this ftp server using any Oftp client software set up with the previous account parameters.

Warning

  • À quoi servent les paramètres non (encore) documentés ?

  • Y a-t-il une valeur min (et max) pour l'intervalle de polling ?

  • Selon le forum, "FTP Gateway with a SSL certificat", il est possible de régler le protocole sur ftps dans les "advanced properties", or il n'y a pas de tel paramètre ni dans les propriétés avancées, ni des les paramètres normaux... Quand est-il ?

1.4.12. Http in Gateway

Tip

See: Managing Channels - Manage a Channel

With an Http in Gateway, incoming messages are received on a Babelway specific server and processed as soon as they arrive.

To create a Http in gateway, select an existing template or make a copy of the generic Httpin template in the catalogue and following screen will be displayed.

Http in gateway configuration

Figure 1.26. Http in gateway configuration


The following fields should be defined in order to configure your Http in access:

Username

Login or username to access the service .

Password

Password associated to previous username.

HTTPPostURL

using the HTTP Post protocols.

SOAPURL

using the SOAP Post protocols. WSDL

After channel deployment, your connection will be available to send messages.

Note

The HTTP Post can do the following:

  • Take the input of the HTTP Post as the message.

  • Use the HTTP Post with an HTML Form. You need to set the string-property "contentIsForm" to true. You can specify which parameter to use as the file input "messageParameterName". You can also decode the message with one of the following method : "base64" and "urlencode".

1.4.13. X.400 Gateway In

Tip

See: Managing Channels - Manage a Channel

With a X.400 Input Gateway,allows to receive message from X.400 networks. Your trading partners can reach you to your hub private X.400 address.

To create an X.400 Gateway in, select an existing template or make a copy of the generic X.400 template in the catalogue and following screen will be displayed.

X.400 gateway in configuration

Figure 1.27. X.400 gateway in configuration


X.400 address

The account private address. This is the address to communicate to your trading partner. The formatting may vary from one partner to the other. The most common format are: C=WW; A=400NET; P=BABELWAY; S=HUB-25333 /C=WW/A=400NET/P=BABELWAY/S=HUB-25333.

After channel deployment, your connection will be available to send messages.

Note

The first time X.400 is used in an account, it has to be enabled by Babelway support. The request is done automatically and you will be notified when the gateway is functional.

Warning

  • À quoi servent les paramètres non (encore) documentés ?

  • Y a-t-il une valeur min (et max) pour l'intervalle de polling ?

  • Selon le forum, "FTP Gateway with a SSL certificat", il est possible de régler le protocole sur ftps dans les "advanced properties", or il n'y a pas de tel paramètre ni dans les propriétés avancées, ni des les paramètres normaux... Quand est-il ?

1.4.14. Scheduler in Gateway

Tip

See: Managing Channels - Manage a Channel

The Scheduler in Gateway allows to create a message based on a time trigger.

To create a SchedulerIn gateway, make a copy of the SchedulerIn template available in the catalogue and the following screen will be displayed.

Scheduler in gateway configuration

Figure 1.28. Scheduler in gateway configuration


If no values are provided, the scheduler will create an input message every 90 seconds. The input message will enter the channel and follow the processing steps as in any other channel

The message has the following structure:


<?xml version="1.0" encoding="UTF-8"?>
<simpleScheduler>
	<date>
		<time>1327871680013</time>
		<display>20120129-221440</display>
	</date>
	<gatewayIn>9999999</gatewayIn>
</simpleScheduler>

	

Where the time and display tags provide the current time and the gatewayIn tag provides the gateway Id

The following fields can be defined to customize your Scheduler:

Frequency

Number of seconds between two events. The default value is 90 seconds and cannot be lower. This is the simplest way to define a time event. For more complex need, use the Cron Expression property instead.

Filename

Filename for the input message. The default value is attachment. Note that only the metadata message_uuid, receiveTimestamp, and gatewayInTimestamp can be used at this stage in the process.

cron-expression

Cron expression. Allows to define complex time expression like every weekday night at 23:00 (0 23 ? * MON-FRI). This takes precedence on the frequency property. For more information on the syntax, see wikipedia article on CRON

Xslt

Allows to upload an Xslt to create another message than the default message

To create another message than the default message, you can specify and upload an Xslt transformation. For instance, the following xslt will use the built-in XPath function used to search for message and message record to retrieve message records for every message since yesterday midnight:


<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns:date-util="java:com.babelway.messaging.transformation.xslt.function.DateUtil"
	xmlns:enrich="java:com.babelway.messaging.transformation.xslt.function.Enrich"
	xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" omit-xml-declaration="no"/>
		<xsl:template match="/">
			<xsl:variable name="start" select="date-util:formatDateLenient(concat(date-util:formatDateLenient(date-util:currentDate(), 'yyyy-MM-dd HH:mm:ss.SSS', 'yyyy', 'true'),number(date-util:formatDateLenient(date-util:currentDate(), 'yyyy-MM-dd HH:mm:ss.SSS', 'D', 'true'))-1), 'yyyyD', 'yyyy-MM-dd''T''HH:mm:ss', 'true')"/>
			<xsl:variable name="messages" select="enrich:searchMessage($start)"/>
			<xsl:copy-of select="$messages" />						
		</xsl:template>			
</xsl:stylesheet>

Note

In the Message In tab, create the message definition corresponding to the input message generated by your scheduler.

Note

There is also the possibility to upload your own code to create a new timebase gateway In. Please contact the support if you need this kind of gateway.

1.5. Message In

Tip

See: Managing Channels - Manage a Channel

In this screen, you define and manage the incoming messages format for the selected channel.
Message In tab

Figure 1.29. Message In tab


When specifying the format for the first time or when changing this format type, click on the Open catalogue command and choose an input message from the catalogue. Please refer to The Catalogue chapter for more informations about catalogue use and commands.

If you create a copy from a Babelway template you must name this copy before accessing the configuration screen.

Message In example

Figure 1.30. Message In example


The available message formats are the following:

Click on the relevant format to have further details on the configuration and setup of this message format.

1.5.1. CSV Message Format

Tip

See: Managing Channels - Manage a Channel

CSV Wizard screen allows you to define your csv message format according to your own file format.

A CSV or comma-separated values file is used for the digital storage of data organized in a table form. Each line in the CSV file corresponds to a row in the table, and within a line, fields are separated by commas (or semicolons, colons or tabs), each field belonging to one column of the source table.

As this is a very common and simple file format, CSV files are often used to move tabular data between different computer programs, such as between a database and a spreadsheet program.

To define a message in CSV format, select an existing template or make a copy of the generic CSV template in the catalogue and following screen will be displayed.

File sample

Following is a sample CSV file.

NAV Date,ISIN,Fund Name,Share Typ,Fund Ccy,NAV in Fund Ccy,Bid Price in Fund Ccy,Offer Price in Fund Ccy,TNA,Outstanding,Publication Ccy,NAV in Publication Ccy,Bid Price in Publication Ccy,Offer Price in Publication Ccy,Equity Profit,WKN Code,Zwischengewinn,TIS,TID
06/13/2008,LU0223208157,HSBC GIF EMERGING EUROPE EQUITY,AC,EUR,15.088,15.088,15.924,12190498.17,807980.236,GBP,11.96,11.96,12.623,37.650,A0ER9A,0.001,,

Wizard screen

When you create a new message format, you must first configure it using the following wizard.

CSV Wizard screen

Figure 1.31. CSV Wizard screen


The following parameters must be set up:

  • You can define your csv message file format either using a sample file or manually.

    If you have a sample file, select it using the Browse... button then click on the Upload command. The first 2 lines of the sample file will be displayed in File Content text box.

  • You may modify or manually enter the columns names directly in File Content text box.

  • If you message files contain a header line before data lines, check Contains header? option box.

  • Select the Delimiter used to separate data in your files.

  • Select the Quote Character used to define text strings in your files.

  • Select the Encoding used to create your files (UTF-8, ISO-8859-1 or Cp1252).

Edit screen

Once this message format has been saved, or when it is used or copied from a saved format, edit screen appears as follows.

CSV Edit screen

Figure 1.32. CSV Edit screen


See Message Edit Functions for further information on message definition, contextual menu and additional commands available on this screen.

1.5.2. EDIFACT Message Format

Tip

See: Managing Channels - Manage a Channel

EDIFACT Wizard screen allows you to define your EDIFACT message format according to your own file format.

United Nations / Electronic Data Interchange for Administration, Commerce and Transport (UN/EDIFACT) is the international EDI standard developed under the United Nations impulse. This standard is maintained and further developed by a UN body. EDIFACT has now been adopted by the International Organization for Standardization (ISO) as the ISO standard ISO 9735.

The EDIFACT standard provides a set of syntax rules to structure data, an interactive exchange protocol (I-EDI), and standard messages which allow multi-country and multi-industry exchange.

As Babelway supports all EDI transaction sets of the EDIFACT standard, you can use any of them in your own gateway setup.

To define a message in EDIFACT format, select an existing template or make a copy of the generic EDIFACT template in the catalogue and following screen will be displayed.

Babelway supports all following EDIFACT documents:

APERAK, AUTHOR, AVLREQ, AVLRSP, BALANC, BANSTA, BAPLIE, BERMAN, BMISRM, BOPBNK, BOPCUS, BOPDIR, BOPINF, BUSCRD, CALINF, CASINT, CASRES, CHACCO, CLASET, CNTCND, COACSU, COARRI, CODECO, CODENO, COEDOR, COHAOR, COLREQ, COMDIS, CONAPW, CONDPV, CONDRA, CONDRO, CONEST, CONITT, CONPVA, CONQVA, CONRPW, CONTEN, CONWQD, COPARN, COPAYM, COPINO, COPRAR, COREOR, COSTCO, COSTOR, CREADV, CREEXT, CREMUL, CUSCAR, CUSDEC, CUSEXP, CUSPED, CUSREP, CUSRES, DAPLOS, DEBADV, DEBMUL, DEBREC, DELFOR, DELJIT, DESADV, DESTIM, DGRECA, DIRDEB, DIRDEF, DMRDEF, DMSTAT, DOCADV, DOCAMA, DOCAMI, DOCAMR, DOCAPP, DOCARE, DOCINF, ENTREC, FINCAN, FINPAY, FINSTA, GENRAL, GESMES, HANMOV, ICASRP, ICSOLI, IFCSUM, IFTCCA, IFTDGN, IFTFCC, IFTICL, IFTMAN, IFTMBC, IFTMBF, IFTMBP, IFTMCA, IFTMCS, IFTMIN, IFTRIN, IFTSAI, IFTSTA, IFTSTQ, IHCEBI, IHCLME, IMPDEF, INFCON, INFENT, INSDES, INSPRE, INSREQ, INSRPT, INVOIC, INVRPT, IPPOAD, IPPOMO, ISENDS, ITRRPT, JAPRES, JINFDE, JOBAPP, JOBCON, JOBMOD, JOBOFF, JUPREQ, LEDGER, LREACT, LRECLM, MEDPID, MEDPRE, MEDREQ, MEDRPT, MEDRUC, MEQPOS, MOVINS, MSCONS, ORDCHG, ORDERS, ORDRSP, OSTENQ, OSTRPT, PARTIN, PASREQ, PASRSP, PAXLST, PAYDUC, PAYEXT, PAYMUL, PAYORD, PRICAT, PRIHIS, PROCST, PRODAT, PRODEX, PROINQ, PROSRV, PROTAP, PRPAID, QALITY, QUOTES, RDRMES, REBORD, RECADV, RECALC, RECECO, RECLAM, RECORD, REGENT, RELIST, REMADV, REPREM, REQDOC, REQOTE, RESETT, RESMSG, RESREQ, RESRSP, RETACC, RETANN, RETINS, RPCALL, SAFHAZ, SANCRT, SKDREQ, SKDUPD, SLSFCT, SLSRPT, SOCADE, SSIMOD, SSRECH, SSREGW, STATAC, STLRPT, SUPCOT, SUPMAN, SUPRES, TANSTA, TAXCON, TIQREQ, TIQRSP, TPFREP, TSDUPD, TUPREQ, TUPRSP, UTILMD, UTILTS, VATDEC, VESDEP, WASDIS, WKGRDC, WKGRRE

File sample

Following is a sample EDIFACT file.

UNA:+.? '
UNB+UNOC:3+000eanpimgest:14+000eanatelier:14+2009-05-26 10:41:34.524 +0200:2009-05-26 10:41:34.524 +0200+1518'
UNH+1+DESADV:D:01B:UN:EAN007'
BGM+351+0000090027+9'
DTM+137:200905190938:203'
DTM+17:200905150000:203'
DTM+2:200905150000:203'
DTM+171:20090519:102'
NAD+BY+000eanatelier::9++LATELIER+Chausse de Lige 477+JAMBES++5100+BE'
NAD+SU+000eanpimgest::9++PmiGest+Parc Scientifique Cralys+LES ISNES++5032+BE'
TDT+1++30'
CPS+1'
PAC+2+:52+201::9'
CPS+2+1'
PAC+1+:52+201::9'
MEA+PD+AAC+KGM:0'
MEA+PD+T+KGM:0'
PCI+33E'
GIN+BJ+p00001'
PCI+34E'
GIN+SRV+05400111005652'

Wizard screen

When you create a new message format, you must first configure it using the following wizard.

EDIFACT Wizard screen

Figure 1.33. EDIFACT Wizard screen


An EDIFACT messsage can only be set up using a sample file. Select your sample file using the Browse... button then click on the Upload command.

Edit screen

Once the message format sample has been uploaded, or when it is used or copied from a saved format, edit screen appears as follows.

EDIFACT Edit screen

Figure 1.34. EDIFACT Edit screen


See Message Edit Functions for further information on message definition, contextual menu and additional commands available on this screen.

1.5.3. X12 Message Format

Tip

See: Managing Channels - Manage a Channel

X12 Wizard screen allows you to define your X12 message format according to your own file format.

ASC X12 (also known as ANSI ASC X12) is the official designation of the U.S. national standards body for the development and maintenance of Electronic Data Interchange (EDI) standards. ASC X12 has sponsored more than 315 X12-based EDI standards for health care, insurance, government, transportation, finance, and many other industries.

Babelway supports all EDI transaction sets. See the full list of X12 supported documents in the X12 Documents List appendix.

To define a message in X12 format, select an existing template or make a copy of the generic X12 template in the catalogue and following screen will be displayed.

Babelway supports all following X12 documents:

Order Series (ORD), Materials Handling Series (MAT), Tax Services Series (TAX), Warehousing Series (WAR), Financial Series (FIN), Government Series (GOV), Manufacturing Series (MAN), Delivery Series (DEL), Engineering Management and Contract Series (ENG), Insurance/Health Series (INS), Miscellaneous ANSI X12 Transactions Series (MIS), Mortgage Series (MOR), Product Services Series (PSS), Quality and Safety Series (QSS), Student Information Series (STU), Transportation (Air and Motor Series (TAM) - Ocean Series (TOS), Rail Series (TRS),Automotive Series (TAS)

File sample

Following is a sample X12 file.

ISA*00*          *00*          *ZZ*SENDERISA      *ZZ*RECEIVERISA    *960807*1548*U*00401*000000020*0*T*>~
GS*IN*SENDERDEPT*007326879*19960807*1548*000001*X*004010~
ST*810*000000001~
BIG*20090927*00027**A00027-01~
N1*ST*CHOCOLATE IMPORT*9*1234567890~
N3*1000 N. NORTH HIGHWAY~
N4*NEW YORK*NY*10310~
N1*BT*RETAILER INC.*9*1098765432~
N3*P.O. BOX 0000~
N4*LAKE*VA*20120~
N1*RE*FOODSELLER*9*12345QQQQ~
N3*P.O. BOX 222222~
N4*FAIRFAX*VA*94978~
ITD*01*3*1**15**16~
FOB*PP~
IT1**16*CA*12.34**UA*006540022222~
PID*F****BELGIUM CHOCOLATE~
IT1**13*CA*12.34**UA*006540033333~
PID*F****SWISS CHOCOLATE~
TDS*35786~
CAD*****FREEFORM~
ISS*29*CA~
CTT*2~
SE*22*000000001~
GE*1*000001~
IEA*1*000000020~

Wizard screen

When you create a new message format, you must first configure it using the following wizard.

X12 Wizard screen

Figure 1.35. X12 Wizard screen


A X12 message can only be set up using a sample file. Select your sample file using the Browse... button then click on the Upload command.

Edit screen

Once the message format sample has been uploaded, or when it is used or copied from a saved format, edit screen appears as follows.

X12 Edit screen

Figure 1.36. X12 Edit screen


See Message Edit Functions for further information on message definition, contextual menu and additional commands available on this screen.

1.5.4. XML Message Format

Tip

See: Managing Channels - Manage a Channel

XML Wizard screen allows you to define your XML message format according to your own file format.

To define a message in XML format, select an existing template or make a copy of the generic XML template in the catalogue and following screen will be displayed.

File sample

Following is a sample XML file.

<?xml version="1.0"?>
<Document>
<SenderID>5420008199981</SenderID>
<ReceiverID>5400102000086</ReceiverID>
<DocumentDate>20080531170538</DocumentDate>
<DocumentNumber>VK20084010</DocumentNumber>
<TestIndicator>P</TestIndicator>
<DocumentLanguage>NL</DocumentLanguage>
<Version>1.1/Food</Version>
<Invoice>
<MessageReferenceNumber>VK20084010</MessageReferenceNumber>
<InvoiceHeader>
<MessageType>INV</MessageType>
<MessageNumber>VK20084010</MessageNumber>
<MessageFunction>ORI</MessageFunction>
<InvoiceCurrency>EUR</InvoiceCurrency>
<Dates>
<InvoiceDate>20080531170538</InvoiceDate>
<AccountingValueDate>20080531170538</AccountingValueDate>
<DeliveryDate>20080530170738</DeliveryDate>
<OrderDate>20080530170538</OrderDate>
</Dates>
</InvoiceHeader>
<InvoiceDetail>
<InvoiceItem>
<ItemType>GDS</ItemType>
<LineItemNumber>1</LineItemNumber>
<EANArticleNumber>95400102057205</EANArticleNumber>
</InvoiceItem>
</InvoiceDetail>
</Invoice>
</Document>

Wizard screen

When you create a new message format, you must first configure it using the following wizard.

XML Wizard screen

Figure 1.37. XML Wizard screen


An XML messsage can be set up using an XSD or a sample XML file. When uploading an Xsd you will have the possibility to select the root element and to provide additionnal imported Xsd. If you upload a sample XML file, be sure to have the most exhaustive one, it will save you modification on the generated tree. After the upload, click the corresponding Save command.

Edit screen

Once the message format sample has been uploaded, or when it is used or copied from a saved format, edit screen appears as follows.

XML Edit screen

Figure 1.38. XML Edit screen


Note

The XSD message definition wizard has some limitations:

  • It does not handle infinite recursion.

  • It does not handle mixed content.

  • It does not handle values for maxOccurs and minOccurs larger than 9999. Large values for maxOccurs could be replaced by the value 'unbounded'.

See Message Edit Functions for further information on message definition, contextual menu and additional commands available on this screen.

1.5.5. Excel Message Format

Tip

See: Managing Channels - Manage a Channel

Excel Wizard screen allows you to define your Excel message format according to your own file format.

To define a message in Excel format, select an existing template or make a copy of the MS Excel template in the catalogue.

File sample

Following is a sample Excel file having headers at the first row of the Excel sheet.

Excel Sample file

Figure 1.39. Excel Sample file


Wizard screen

When you create a new message format, you must first configure it using the following wizard.

Excel Wizard screen 1

Figure 1.40. Excel Wizard screen 1


After uploading the file sample, you should click 'Save' button to let the system build the corresponding message definition for your file sample.

Excel Wizard screen 2

Figure 1.41. Excel Wizard screen 2


Hint: If your file sample contains headers at the first row, so you should check the box "Contains header ?" at the end of the wizard.

    Edit screen

    Once this message format has been saved, or when it is used or copied from a saved format, edit screen appears as follows.

    Excel Edit screen

    Figure 1.42. Excel Edit screen


    See Message Edit Functions for further information on message definition, contextual menu and additional commands available on this screen.

    1.5.6. Multirecord Message Format

    Tip

    See: Managing Channels - Manage a Channel

    Multirecord Wizard screen allows you to define your Multirecord message format (delimited or a fixed-length) according to your own file format.

    What is mr file?

    The mr file is a multirecord definition file which is used by the Self-Service MultiRecord wizard to generate the corresponding message definition and also to build the corresponding servingxml resource file.

    How to build mr file?

    (1) Specify if the message is a delimited or a fixed-length.

    For fixed-length messages, the mr file header will look like this:

    <multirecord name="mymultirecord" type="fixed-length" lineDelimited="true" recordDelimiter="\r\n" quoteSymbol-character="&quot;" quoteSymbol-escapeSequence="\&quot;" xmlns="http://xmlns.babelway.com/2007/multi-record">

    For the delimited messages the mr file header will look like this:

    <multirecord name="mymultirecord" type="delimited" fieldDelimiter="," recordDelimiter="\r\n" quoteSymbol-character="&quot;" quoteSymbol-escapeSequence="\&quot;" xmlns="http://xmlns.babelway.com/2007/multi-record">

    * recordDelimiter defines the delimiter between each record, it is usually the ending line character represented on windows by \r\n, on Unix/Linux by \n and on Macintosh by \r.

    * lineDelimited specify if the system use a record delimiter. If set to false, record will be based on the sum of the fields lenght for fixed length or the number of fields for delimited multirecords.

    * fieldDelimiter, only used whith a delimited message, defines the field delimiter.

    * quoteSymbol-character is the character used to quote a field (often &quot;)

    * quoteSymbol-escapeSequence is the sequence that will display the quote symbol character in a quoted field (often \&quot;)

    Hint:

    For multirecord as message in, do not specify recordDelimiter. The system will catch the \r or \n or \r\n. For multirecord as message out, DO specify recordDelimiter as being for instance "\r\n"; this will generate windows compliant file and let you change the delimiter from the advanced properties later on.

    (2) The second step is to write the message records definitions

    You should specify the name for the record and for each of its field. Each record should have at least one field with a static value which will be used to identify the record.

    <record name="Record1">
        <field name="recordType" value="R1" width="2"/>
        <field name="field1" width="5"/>
        <field name="field2" width="3"/>
    </record>

    * the width is only mandatory for fixed-length messages

    * value is used to specify that the field has a static value that will never change

    By default all first fields with a static value are used to identify a record. But, you can also manually defines which fields must be used to identify a record using the identifier paramter.

    <record name="Record1">
        <field name="recordType" value="R1" width="2" />
        <field name="fieldA" width="5"/>
        <field name="fieldB" width="3" value="BBB" identifier="true"/>
        <field name="fieldC" width="7" />
        <field name="fieldD" width="2" value="DD" identifier="true"/>
    </record>

    In this case, only the third and fifth fields (fieldB & fieldD), with identifier equals to true, will be used to identify the record. The default (without identifier=true) would only use recordType field as the identifier.

    Remark:

    For fixed-length messages, the fields used to identify a record should have the same position and length in each record. No overlap between identifiers is allowed between records.

    If a fixed-length message have variable length identifier per records, the only way to define it in the mr files is to first define the smallest common length identifier for all records and then for each records that have longer identifier, add as many as smaller field needed to unambiguously identify each record.

    For example if we have a message where AAAAA, 111 and 2222 are identifier like in the following:

    AAAAA contentcontent   anothercontent
    1112222  this and that

    The following definition is not valid since the fieldA is bigger than field1 and moreover, fieldA also overlaps with field2

    <record name="Record1">
        <field name="fieldA" width="5" value="AAAAA" identifier="true"/>
        <field name="fieldB" width="15" />
        <field name="fieldC" width="17" />
    </record>
    
    <record name="Record2">
        <field name="field1" width="3" value="111" identifier="true"/>
        <field name="field2" width="4" value="2222" identifier="true"/>
        <field name="field3" width="20" />
    </record>
    

    It should be replaced by:

    <record name="Record1">
        <field name="fieldA" width="3" value="AAA" identifier="true"/>
        <field name="fieldA" width="2" value="AA" identifier="true"/>
        <field name="fieldB" width="15" />
        <field name="fieldC" width="17" />
    </record>
    <record name="Record2">
         <field name="field1" width="3" value="111" identifier="true"/>
        <field name="field2" width="2" value="22" identifier="true"/>
        <field name="field2" width="2" value="22" identifier="true"/>
        <field name="field3" width="20" />
    </record>

    We had to split the fieldA in two in order to have one fieldA with the length 3 (the same as field1) with another fieldA with the remaining length 2.

    Then the field2 (length 4) was also bigger than the second fieldA (length 2) so we also need to split it in two field2 of length 2.

    All corresponding identifier have now the same length (3 and 2) and there is no overlap between them.

    It is also possible to add 4 extra parameters label, description, justify & padCharacters to each field

    <field name="myField" label="My Field" description="My field description" justify="right" padCharacter="x" width="10"/>

    * label and description are used to display the message tree

    * justify can be center, left or right

    * padCharacter is the character used to fill empty space in the field width

    (3) The last step is to define the message structure at the end of the mr file.

     <xml>
        <group name="Transaction" maxOccurs="unbounded">
              <group name="headers">
                 <record name="header" minOccurs="1" maxOccurs="unbounded"/>
              </group>
              <record name="record1" maxOccurs="unbounded"/>
              <group name="footers">
                 <record name="footer" />
              </group>
         </group>
      </xml>

    * Each element can define the minOccurs and the maxOccurs parameter with either a 0, a positive number or 'unbounded'.

    * Records defined in the records section can only appear once in the message structure.

    * Records can be grouped using the group element. The name of the group is mandatory.

    * Records in a group should be ordered in the same way they appeared at the message.

    Sample multirecord fixed-length message

    HH00123  AB
    HH00045 CDE
    R1one  100
    R1two  101
    R1four 103
    FF3

    Sample multirecord definition file

    <?xml version="1.0" encoding="UTF-8"?>
    <multirecord name="mymultirecord" type="fixed-length" recordDelimiter="\r\n" quoteSymbol-character="&quot;" quoteSymbol-escapeSequence="\&quot;" xmlns="http://xmlns.babelway.com/2007/multi-record">
    <records>
    <record name="header">
    <field name="recordType" value="HH" width="2"/>
    <field name="header1" width="5" justify="right" padCharacter="0" />
    <field name="header2" width="4" justify="right" padCharacter=" " />
    </record>
    <record name="record1">
       <field name="recordType" value="R1" width="2"/>
       <field name="field1" width="5" label="My field" description="My field Descritpion" />
       <field name="field2" width="3"/>
    </record>
    <record name="footer">
    <field name="recordType" value="FF" width="2" />
    <field name="footer1" width="1"/>
    </record>
    </records>
    <xml>
           <group name="Transaction" maxOccurs="unbounded">
              <group name="headers">
                 <record name="header" minOccurs="1" maxOccurs="unbounded"/>
              </group>
              <record name="record1" maxOccurs="unbounded"/>
              <group name="footers">
                 <record name="footer" />
              </group>
           </group>
        </xml>
    </multirecord>

    Wizard screen

    When you create a new message format, you must first configure it using the following wizard.

    Multirecord Wizard screen

    Figure 1.43. Multirecord Wizard screen


    A Multi Record messsage can only be set up using a sample file. Select your sample file using the Browse... button then click on the Upload command.

    Edit screen

    Once the message format sample has been uploaded, or when it is used or copied from a saved format, edit screen appears as follows.

    Multirecord Edit screen

    Figure 1.44. Multirecord Edit screen


    See Message Edit Functions for further information on message definition, contextual menu and additional commands available on this screen.

    1.5.7. XML Printer Message Format

    Tip

    See: Managing Channels - Manage a Channel

    						XML Printer Wizard screen allows you to use any document printed using the virtual printer driver
    						xmlprinter
    						as message in.
    					

    The xmlprinter is a printer driver generating a xml file containing all the visual information of the document. The text elements are part of that document. So it is possible to "parse the document" to extract an other xml document, more usable in EDI exchanges. xmlprinter provides a tool called the composer to create such parsers definition.

    Note that Babelway and xmlprinter are note affiliated. We do not provide any garantie on the xmlprinter but the tool has demonstrated to be very useful when no other extract method is easy to setup or when the output is a PDF enriched whith the data as attachment.

    Getting started with xmlprinter

    • download the printer driver VERSION xmlprinter35.3512.exe from http://www.xmlprinter.com/file/xmlprinter35-3512-exe and follow the instruction for download and licensing.
    • install the driver. The administration is web based and available in http://127.0.0.1:57823/settings. Set the "Output directory" according your preferences.
    • go to you application and print an example of the document you want to exchange. You have now in the "Output directory" the "printed xml" document.

    Add a parser step and send it to Babelway

    • Open the Xml Printer Composer and load the printed xml.
    • Create your structure by mapping visual elements. Use tutorial at http://www.xmlprinter.com/support/parser . This is not so easy but I got it working quite nicely. Tips: don't be afraid to edit the definition xml manually and relead it in the Composer.
    • Configure a "parse" processing step using your newly created definition
    • Add a second "execute" processing step linked to a batch to send the file in ftp of ftps. Here is an simple example:
        ;@echo off
        ;(for /f "usebackq delims=" %%A in ("%~f0") do call echo.%%A)>"%temp%\%~n0.ftp"
        ;ftp -i -s:"%temp%\%~n0.ftp"
        ;GOTO:EOF
    
        open ftp.babelway.net
        your_ftp_user
        your_ftp_password
        !:--- FTP commands below here ---
        cd /
        binary
        put %1
        disconnect
        bye
    

    Wizard screen

    When you create a new message format, you must first configure it using the following wizard.

    XML Printer Wizard screen

    Figure 1.45. XML Printer Wizard screen


    An XML Printer messsage is set up using the xml printer definition file (created with the composer) and a sample of the printed output in XML. For both files, select the files using the Browse... button next to the Xml Printer definition and Xml Printer sample output, then click on the Upload command.

    Edit screen

    Once the files have been uploaded, or when it is used or copied from a saved format, edit screen appears as follows.

    XML Edit screen

    Figure 1.46. XML Edit screen


    See Message Edit Functions for further information on message definition, contextual menu and additional commands available on this screen.

    See Unwrapping an Incoming Message for more details on the options available to receive message in zip format containing both a PDF and the XML output.

    1.5.8. Flat File Message Format

    Tip

    See: Managing Channels - Manage a Channel

    Flat File Wizard screen allows you to define your Flat File message format according to your own file format.

    To define a message in Flat File format, select an existing template or make a copy of the generic Flat File template in the catalogue and following screen will be displayed.

    Wizard screen

    When you create a new message format, you must first configure it using the following wizard.

    Flat File Wizard screen

    Figure 1.47. Flat File Wizard screen


    A Flat File messsage can only be set up using sample files, either an ServingXml resource file and a XSD file or an XML file. Select your sample file(s) using the Edit... buttons next to the Serving XML, XSD and/or XML file, according to your sample file(s) format, then click on the Upload command(s) then click on Save.

    Hint: If you will upload XML sample, you should first refine the sample by keeping only one occurrence of each XML element.

    File sample

    Following is a sample Flat file.

    EE54001340000093012918100700000000000147521
    DD0000018713906060109 6011                               3005330101
    DD0000028713906061106 6111                               3005250201

    This file has a number of properties.

    • The first row is a envelope .
    • The second row is details .

    ServingXml resources file

    Shown below is the simplest possible resources script that will read this data and output it as XML.

    <sx:resources xmlns:sx="http://www.servingxml.com/core">
    <sx:service id="csvtoxml">
    <sx:serializebuild.bat>
    <sx:xsltSerializer>
    <sx:outputProperty name="indent" value="yes"/>
    </sx:xsltSerializer>
    <sx:transform>
    <sx:content ref="Sample"/>
    </sx:transform>
    </sx:serialize>
    </sx:service>
    
    <sx:recordContent id="Sample">
    <sx:recordStream>
    <sx:flatFileReader>
    <!--<sx:urlSource url="data/Sample.txt"/>-->
    <sx:flatFile ref="SampleFlatFile"/>
    </sx:flatFileReader>
    </sx:recordStream>
    <sx:recordMapping ref="SampleToXmlMapping"/>
    </sx:recordContent>
    
    <sx:flatFile id="SampleFlatFile" quote="never">
    <sx:flatFileBody>
    <sx:flatRecordTypeChoice>
    <sx:positionalField name="record_type" width="2"/>
    <sx:when test="record_type='EE'">
    <sx:flatRecordType name="envelope">
    <sx:positionalField name="EEtag" width="2"/>
    <sx:positionalField name="Sender" width="13"/>
    <sx:positionalField name="Recip" width="13"/>
    <sx:positionalField name="Iref" width="14"/>
    <sx:positionalField name="Testind" width="1"/>
    <sx:positionalField name="Splitref" width="35"/>
    </sx:flatRecordType>
    </sx:when>
    <sx:when test="record_type='DD'">
    <sx:flatRecordType name="details">
    <sx:positionalField name="DDtag" width="2"/>
    <sx:positionalField name="Linenr" width="6"/>
    <sx:positionalField name="ArtEAN" width="14"/>
    <sx:positionalField name="ArtSA" width="35"/>
    <sx:positionalField name="ARTBP" width="35"/>
    </sx:flatRecordType>
    </sx:when>
    </sx:flatRecordTypeChoice>
    </sx:flatFileBody>
    </sx:flatFile>
    
    <sx:recordMapping id="SampleToXmlMapping">
    <csv:csv xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:csv="http://xmlns.babelgom.com/2007/message-format/csv" 
    xsi:schemaLocation="http://xmlns.babelgom.com/2007/message-format/csv csv.xsd">
    <sx:onRecord recordType="envelope">
    <csv:line>
    <sx:fieldElementMap field="EEtag" element="csv:field"/>
    <sx:fieldElementMap field="Sender" element="csv:field"/>
    <sx:fieldElementMap field="Recip" element="csv:field"/>
    <sx:fieldElementMap field="Iref" element="csv:field"/>
    <sx:fieldElementMap field="Testind" element="csv:field"/>
    <sx:fieldElementMap field="Splitref" element="csv:field"/>
    </csv:line>
    </sx:onRecord>
    <sx:innerGroup startTest="sx:current/header">
    <csv:order>
    <sx:onRecord recordType="details">
    <csv:line>
    <sx:fieldElementMap field="DDtag" element="csv:field"/>
    <sx:fieldElementMap field="Linenr" element="csv:field"/>
    <sx:fieldElementMap field="ArtEAN" element="csv:field"/>
    <sx:fieldElementMap field="ArtSA" element="csv:field"/>
    <sx:fieldElementMap field="ARTBP" element="csv:field"/>
    </csv:line>
    </sx:onRecord>
    </csv:order>
    </sx:innerGroup>
    </csv:csv>
    </sx:recordMapping>
    </sx:resources>
     

    This resources script produces the following output.

    <?xml version="1.0" encoding="UTF-8"?>
    <csv:csv xmlns:csv="http://xmlns.babelgom.com/2007/message-format/csv"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.babelgom.com/2007/message-format/csv csv.xsd">
       <csv:line>
          <csv:field>EE</csv:field>
          <csv:field>5400134000009</csv:field>
          <csv:field>3012918100700</csv:field>
          <csv:field>00000000014319</csv:field>
          <csv:field>1</csv:field>
          <csv:field/>
       </csv:line>
       <csv:order>
          <csv:line>
             <csv:field>DD</csv:field>
             <csv:field>000001</csv:field>
             <csv:field>8713906060109</csv:field>
             <csv:field>6011</csv:field>
             <csv:field>3005330101</csv:field>
          </csv:line>
          <csv:line>
             <csv:field>DD</csv:field>
             <csv:field>000002</csv:field>
             <csv:field>8713906061106</csv:field>
             <csv:field>6111</csv:field>
             <csv:field>3005250201</csv:field>
          </csv:line>
       </csv:order>
    </csv:csv>

    For more information about ServingXML, please visit http://servingxml.sourceforge.net/

    Edit screen

    Once the message format sample has been uploaded, or when it is used or copied from a saved format, edit screen appears as follows.

    Flat File Edit screen

    Figure 1.48. Flat File Edit screen


    See Message Edit Functions for further information on message definition, contextual menu and additional commands available on this screen.

    1.5.9. Generic Message Format

    Tip

    See: Managing Channels - Manage a Channel

    Generic Wizard screen allows you to define your generic message format according to your own file format.

    To define a message in Generic format, select an existing template or make a copy of the generic Generic template in the catalogue. Unlike other message formats, there is no wizard screen for generic format.

    Edit screen

    Once the generic message format has been selected, edit screen appears as follows.

    Customer Edit screen

    Figure 1.49. Customer Edit screen


    This format should be used with your own message parser or converter written in Java code when no adequate format converter is available. Select this converter using ConverterClass property available under Advanced Properties.

    Note

    This mode is reserved for advanced users. Please contact Babelway before using it as you need to have specific administration rights in order to be able to upload Java code to Babelway server.

    See Message Edit Functions for further information on message definition, contextual menu and additional commands available on this screen.

    1.5.10. Not Defined Message Format

    Tip

    See: Managing Channels - Manage a Channel

    Not Defined message format is used when in and out message format does not need to be defined because no processing will be performed on it and no change is required.

    To define a message in Not defined format, select an existing template or make a copy of the generic Not defined template in the catalogue. There is no setting parameter for this message format.

    Note

    If message in format is "Not defined", so should be out message otherwise output may return unexpected results or empty message.

    Usually, this setting is used in combination with No Transformation in a channel that simply transfers an unchanged and unprocessed message from one gateway to another different one.

    1.5.11. TRADACOM Message Format

    Tip

    See: Managing Channels - Manage a Channel

    TRADACOM Wizard screen allows you to define your TRADACOM message format according to your own file format.

    Tradacoms is an early standard for EDI (Electronic Data Interchange) primarily used in the UK retail sector. It was introduced in 1982 as an implementation of the UN/GTDI syntax, one of the precursors of EDIFACT, and was maintained and extended by the UK Article Numbering Association (now called GS1 UK).

    As Babelway supports all TRADACOM transaction sets of the TRADACOM standard, you can use any of them in your own gateway setup.

    To define a message in TRADACOM format, select an existing template or make a copy of the generic TRADACOM template in the catalogue and following screen will be displayed.

    Babelway supports all following TRADACOM documents:

    1.ACKHDR,ACKMNT,ACKTLR,AVLDET,AVLHDR,AVLTLR,CORDER,CORHDR,CORTLR,CRAHDR,CRAINF,CRATLR,CREDIT,CREHDR,CRETLR,CUSHDR,CUSINF,CUSTLR,DELHDR,DELIVR,DELTLR,DLCDET,DLCHDR,DLCTLR,DRAHDR,DRAINF,DRATLR,EXCHDR,EXCINF,EXCTLR,GENHDR,GENRAL,GENTLR,INVFIL,INVOIC,INVTLR,LPRDET,LPRHDR,LPRTLR,ORDERS,ORDHDR,ORDTLR,PAYHDR,PAYINF,PAYTLR,PICHDR,PICKER,PICTLR,PPRDET,PPRHDR,PPRTLR,PRIHDR,PRIINF,PRITLR,PROHDR,PROINF,PROINF,PROTLR,RSGRSG,SADDET,SADHDR,SADTLR,SNPHDR,SNPHDR,SNPSTS,SNPTLR,SRMHDR,SRMINF,SRMTLR,UCNDET,UCNHDR,UCNTLR,UCNTLR,UPLHDR,UPLIFT,UPLTLR,UTLBIL,UTLHDR,UTLTLR,UVATLR,VATTLR

    File sample

    Following is a sample TRADACOM invoice file.

    STX=ANAA:1+501xxxxxxxxxx:name+501xxxxxxxxxx:NAME SERVICES (U.K.)LTD.+040316:184411+00001++INVTES'
    MHD=1+INVFIL:9'
    TYP=0700+INVOICES'
    SDT=501xxxxxxxxxx:053752CF01STDD+Tenprl Fnsrjnl Sbbqfreivpr+221 UvyyunyyRoad:Yvfohea:Co. Antrim:N.Ireland:OG27 5WQ+412557175'
    CDT=501xxxxxxxxx+NAMESERVICES (U.K.) LTD.+Cnexynaqf Pbheg:OvezvatunzTerng Cnex:Ehorel:Birmingham:OG45 9CM'
    FIL=1+1+040316'
    FDT=040302+040302'
    MTR=7'
    MHD=2+INVOIC:9'
    CLO=0000000100007: ++PNEEVPX GOLF CLUB:ABEGU ROAD:PNEEVPX SRETHF::OG388YC'
    IRF=01000589M+040302+040302'
    ODD=1+::040302+:040302'
    ILD=1+1+:8408++:31266+0+2:2500:KG+54300+135800+Z+0+++SILVERSIDE 1-5 KG'
    STL=1+Z+0+0+1358+++++1358++0+0++1358'
    TLR=1+1358+++++1358++1358+0++1358'
    MTR=8'
    MHD=3+VATTLR:9'
    VRS=1+Z+0+1358+1358+0+1358+1358'
    MTR=3'
    MHD=4+INVTLR:9'
    TOT=1358+1358+0+1358+1358+1'
    MTR=3'
    MHD=5+RSGRSG:2'
    RSG=00001+501xxxxxxxxxx'
    MTR=3'
    END=5'

    Wizard screen

    When you create a new message format, you must first configure it using the following wizard.

    TRADACOM Wizard screen

    Figure 1.50. TRADACOM Wizard screen


    An TRADACOM messsage can only be set up using a sample file. Select your sample file using the Browse... button then click on the Upload command.

    Edit screen

    Once the message format sample has been uploaded, or when it is used or copied from a saved format, edit screen appears as follows.

    TRADACOM Edit screen

    Figure 1.51. TRADACOM Edit screen


    See Message Edit Functions for further information on message definition, contextual menu and additional commands available on this screen.

    1.6. Transformation

    Tip

    See: Managing Channels - Manage a Channel

    Transformation is interface process step during which data available in incoming message are mapped and, if necessary, transformed to generate outgoing message required data.
    Transformation tab

    Figure 1.52. Transformation tab


    Transformation can be done in different ways detailled in next chapters.

    • You can easily define your transformation using the visual Drag and Drop Transformation editor.

    • Alternatively, you can write your transformation directly in standard Xslt format using Xslt Transformation editor.

    • Additionally, in some specific case when no transformation is required, you can select a No Transformation template.

    1.6.1. Drag and Drop Transformation

    Tip

    See: Managing Channels - Channel Items

    Drag and Drop transformation visual editor enables to easily define transformation rules and implement transformation functions.

    When specifying transformation for the first time or when changing transformation type, click on Open catalogue command and choose a drag and drop transformation from catalogue. Please refer to The Catalogue chapter for more informations about catalogue use and commands.

    If you create a copy from a Babelway template you must name this copy before accessing the visual editor screen.

    Drag and drop transformation visual editor

    Figure 1.53. Drag and drop transformation visual editor


    This transformation visual editor is divided in three panes:

    • The left pane displays incoming message definition tree plus, in first position, the Metadata node and in last position the Transformation functions node. See the Metadata chapter for more information bout their use.

    • The right pane displays outgoing message definition tree plus, in first position, the User defined metadata node. See the Metadata chapter for more information bout their use.

    • The bottom pane lists set up transformation rules.

    Nodes mapping

    To map an incoming message node to an outgoing message node, you only need to click on incoming message node in left pane then to drag it to right pane and drop it on outgoing message node as illustrated by arrow (1) in following figure.

    As illustrated by arrow (2), the icon of nodes that are already linked displays a little chain mark.

    Note

    Please note that before being able to map two nodes, parent loop nodes must be already mapped. In illustrated example, mapping (2) must be done before mapping (1) is possible.

    Drag and drop mapping example

    Figure 1.54. Drag and drop mapping example


    All defined mapping are listed in Transformation rules table, one per table line, with following fields:

    • Type: node type.

    • Source Field: can be either a node from message in definition or a transformation function.

    • Target field: a node in message out definition.

    • Filter: you can add a filtering rule to be applied on loop elements. See Filter Function chapter for more informations.

    • If: you can add an evaluation rule to be applied on node value. See If Function chapter for more informations..

    • Format: you can add a formating rule to be applied on output value. See Format Function chapter for more informations..

    Multi nodes mapping

    Visual mapping is able to map two message definition tree structures. When mapping an element having children to another element having similar children structure, the system will offer you to automatically map children and loops based on their names or uid similarities. This is a very valuable when dealing with complex and often similar XML messages like in soap messages, IDOC or UBL...

    Note

    Please note that this function could is eavy and might freeze your browser for a little time, specially in Firefow browser. Be patient, the system is working for you...

    Multi mapping confirmation box

    Figure 1.55. Multi mapping confirmation box


    Transformation functions

    In addition to direct mapping, you can add one or more transformation rules. Right-click on Transformation functions in message in left pane. See Message Transformation Functions for a complete list of available functions and how to use them.

    In following example, a multiply operator is selected as transformation function.

    Transformation rule selection example

    Figure 1.56. Transformation rule selection example


    Once desired function is selected and named, it appears in transformation functions list in message in pane. This specific function, multiply, requires two nodes as arguments. Once again drag and drop both selected nodes on this function as illustrated in next figure with arrows (1) and (2).

    Mapped nodes are listed under transformation function and may be removed by right-clicking and selecting Remove command.

    Transformation rule mapping example

    Figure 1.57. Transformation rule mapping example


    Once the transformation function is defined it can be in turn, mapped to a message out node. See arrow (3) on previous illustration.

    Transformation functions may also be cascaded using the same drag and drop mapping. A transformation may be used as argument for another one as illustrated below with a second multiply operation that takes previous result as argument.

    Note

    Nevertheless, you should make sure that you do not create unconsistent mapping by mapping one item to another one and at the same time mapping them the other way.

    Transformation rule mapping example

    Figure 1.58. Transformation rule mapping example


    Once all your mapping and transformations are ready and additional filter, if and/or format entered, do not forget to save this transformation with Save button.

    Advance properties

    Optionally you can set some advanced properties like

    output.notransform

    = true ->do not apply transformation to the message. This is useful to create user metadata without modifying the message. It can be used in conjunction with input.binary

    input.binary

    = true -> the input is binary. This is useful, for instance to create a message out based on metadata only or in conjunction with output.notransform

    1.6.2. Xslt Transformation

    Tip

    See: Managing Channels - Channel Items

    Xslt transformation test editor enables to define transformation rules and implement transformation functions directly in Xslt language.

    When specifying transformation for the first time or when changing transformation type, click on Open catalogue command and choose an Xslt transformation from catalogue. Please refer to The Catalogue chapter for more informations about catalogue use and commands.

    If you create a copy from a Babelway template you must name this copy before accessing the text editor screen.

    Xslt mapping and transformation rules can be entered directly using integrated Xslt editor as illustrated hereunder.

    Xslt transformation editor

    Figure 1.59. Xslt transformation editor


    Once all your mapping and transformations are ready and additional filter, if and/or format entered, do not forget to save this transformation with Save button.

    1.6.3. No Transformation

    Tip

    See: Managing Channels - Channel Items

    The No transformation option is used when Babelway interface is used to transfer an unchanged message from one gateway to another.

    If you are only transfering messages that do not require transformation from one gateway to another one, for example from a mail server to an FTP serve, you should use the "No transformation" transformation.

    When specifying this transformation for the first time or when changing transformation type, click on Open catalogue command and choose an No transformation transformation from catalogue. Please refer to The Catalogue chapter for more informations about catalogue use and commands.

    Note

    If message in and out formats are not the same, using this no transformation setting may return unexpected results or empty out message.

    Usually, this setting is used in combination with in and out Not Defined Message Formats in a channel that simply transfers an unchanged and unprocessed message from one gateway to another different one.

    1.7. Message Out

    Tip

    See: Managing Channels - Manage a Channel

    In this screen, you define and manage the outgoing messages format for the selected channel.
    Message Out tab

    Figure 1.60. Message Out tab


    When specifying the format for the first time or when changing this format type, click on the Open catalogue command and choose an input message from the catalogue. Please refer to The Catalogue chapter for more informations about catalogue use and commands.

    If you create a copy from a Babelway template you must name this copy before accessing the configuration screen.

    Message In example

    Figure 1.61. Message In example


    The available message formats are the following:

    Click on the relevant format to have further details on the configuration and setup of this message format.

    Refer to the Signing an Outgoing Message chapter for more information about secure message signing and sending.

    1.7.1. CSV Message Format

    Tip

    See: Managing Channels - Manage a Channel

    CSV Wizard screen allows you to define your csv message format according to your own file format.

    A CSV or comma-separated values file is used for the digital storage of data organized in a table form. Each line in the CSV file corresponds to a row in the table, and within a line, fields are separated by commas (or semicolons, colons or tabs), each field belonging to one column of the source table.

    As this is a very common and simple file format, CSV files are often used to move tabular data between different computer programs, such as between a database and a spreadsheet program.

    To define a message in CSV format, select an existing template or make a copy of the generic CSV template in the catalogue and following screen will be displayed.

    File sample

    Following is a sample CSV file.

    NAV Date,ISIN,Fund Name,Share Typ,Fund Ccy,NAV in Fund Ccy,Bid Price in Fund Ccy,Offer Price in Fund Ccy,TNA,Outstanding,Publication Ccy,NAV in Publication Ccy,Bid Price in Publication Ccy,Offer Price in Publication Ccy,Equity Profit,WKN Code,Zwischengewinn,TIS,TID
    06/13/2008,LU0223208157,HSBC GIF EMERGING EUROPE EQUITY,AC,EUR,15.088,15.088,15.924,12190498.17,807980.236,GBP,11.96,11.96,12.623,37.650,A0ER9A,0.001,,

    Wizard screen

    When you create a new message format, you must first configure it using the following wizard.

    CSV Wizard screen

    Figure 1.62. CSV Wizard screen


    The following parameters must be set up:

    • You can define your csv message file format either using a sample file or manually.

      If you have a sample file, select it using the Browse... button then click on the Upload command. The first 2 lines of the sample file will be displayed in File Content text box.

    • You may modify or manually enter the columns names directly in File Content text box.

    • If you message files contain a header line before data lines, check Contains header? option box.

    • Select the Delimiter used to separate data in your files.

    • Select the Quote Character used to define text strings in your files.

    • Select the Encoding used to create your files (UTF-8, ISO-8859-1 or Cp1252).

    Edit screen

    Once this message format has been saved, or when it is used or copied from a saved format, edit screen appears as follows.

    CSV Edit screen

    Figure 1.63. CSV Edit screen


    See Message Edit Functions for further information on message definition, contextual menu and additional commands available on this screen.

    1.7.2. EDIFACT Message Format

    Tip

    See: Managing Channels - Manage a Channel

    EDIFACT Wizard screen allows you to define your EDIFACT message format according to your own file format.

    United Nations / Electronic Data Interchange for Administration, Commerce and Transport (UN/EDIFACT) is the international EDI standard developed under the United Nations impulse. This standard is maintained and further developed by a UN body. EDIFACT has now been adopted by the International Organization for Standardization (ISO) as the ISO standard ISO 9735.

    The EDIFACT standard provides a set of syntax rules to structure data, an interactive exchange protocol (I-EDI), and standard messages which allow multi-country and multi-industry exchange.

    As Babelway supports all EDI transaction sets of the EDIFACT standard, you can use any of them in your own gateway setup.

    To define a message in EDIFACT format, select an existing template or make a copy of the generic EDIFACT template in the catalogue and following screen will be displayed.

    Babelway supports all following EDIFACT documents:

    APERAK, AUTHOR, AVLREQ, AVLRSP, BALANC, BANSTA, BAPLIE, BERMAN, BMISRM, BOPBNK, BOPCUS, BOPDIR, BOPINF, BUSCRD, CALINF, CASINT, CASRES, CHACCO, CLASET, CNTCND, COACSU, COARRI, CODECO, CODENO, COEDOR, COHAOR, COLREQ, COMDIS, CONAPW, CONDPV, CONDRA, CONDRO, CONEST, CONITT, CONPVA, CONQVA, CONRPW, CONTEN, CONWQD, COPARN, COPAYM, COPINO, COPRAR, COREOR, COSTCO, COSTOR, CREADV, CREEXT, CREMUL, CUSCAR, CUSDEC, CUSEXP, CUSPED, CUSREP, CUSRES, DAPLOS, DEBADV, DEBMUL, DEBREC, DELFOR, DELJIT, DESADV, DESTIM, DGRECA, DIRDEB, DIRDEF, DMRDEF, DMSTAT, DOCADV, DOCAMA, DOCAMI, DOCAMR, DOCAPP, DOCARE, DOCINF, ENTREC, FINCAN, FINPAY, FINSTA, GENRAL, GESMES, HANMOV, ICASRP, ICSOLI, IFCSUM, IFTCCA, IFTDGN, IFTFCC, IFTICL, IFTMAN, IFTMBC, IFTMBF, IFTMBP, IFTMCA, IFTMCS, IFTMIN, IFTRIN, IFTSAI, IFTSTA, IFTSTQ, IHCEBI, IHCLME, IMPDEF, INFCON, INFENT, INSDES, INSPRE, INSREQ, INSRPT, INVOIC, INVRPT, IPPOAD, IPPOMO, ISENDS, ITRRPT, JAPRES, JINFDE, JOBAPP, JOBCON, JOBMOD, JOBOFF, JUPREQ, LEDGER, LREACT, LRECLM, MEDPID, MEDPRE, MEDREQ, MEDRPT, MEDRUC, MEQPOS, MOVINS, MSCONS, ORDCHG, ORDERS, ORDRSP, OSTENQ, OSTRPT, PARTIN, PASREQ, PASRSP, PAXLST, PAYDUC, PAYEXT, PAYMUL, PAYORD, PRICAT, PRIHIS, PROCST, PRODAT, PRODEX, PROINQ, PROSRV, PROTAP, PRPAID, QALITY, QUOTES, RDRMES, REBORD, RECADV, RECALC, RECECO, RECLAM, RECORD, REGENT, RELIST, REMADV, REPREM, REQDOC, REQOTE, RESETT, RESMSG, RESREQ, RESRSP, RETACC, RETANN, RETINS, RPCALL, SAFHAZ, SANCRT, SKDREQ, SKDUPD, SLSFCT, SLSRPT, SOCADE, SSIMOD, SSRECH, SSREGW, STATAC, STLRPT, SUPCOT, SUPMAN, SUPRES, TANSTA, TAXCON, TIQREQ, TIQRSP, TPFREP, TSDUPD, TUPREQ, TUPRSP, UTILMD, UTILTS, VATDEC, VESDEP, WASDIS, WKGRDC, WKGRRE

    File sample

    Following is a sample EDIFACT file.

    UNA:+.? '
    UNB+UNOC:3+000eanpimgest:14+000eanatelier:14+2009-05-26 10:41:34.524 +0200:2009-05-26 10:41:34.524 +0200+1518'
    UNH+1+DESADV:D:01B:UN:EAN007'
    BGM+351+0000090027+9'
    DTM+137:200905190938:203'
    DTM+17:200905150000:203'
    DTM+2:200905150000:203'
    DTM+171:20090519:102'
    NAD+BY+000eanatelier::9++LATELIER+Chausse de Lige 477+JAMBES++5100+BE'
    NAD+SU+000eanpimgest::9++PmiGest+Parc Scientifique Cralys+LES ISNES++5032+BE'
    TDT+1++30'
    CPS+1'
    PAC+2+:52+201::9'
    CPS+2+1'
    PAC+1+:52+201::9'
    MEA+PD+AAC+KGM:0'
    MEA+PD+T+KGM:0'
    PCI+33E'
    GIN+BJ+p00001'
    PCI+34E'
    GIN+SRV+05400111005652'

    Wizard screen

    When you create a new message format, you must first configure it using the following wizard.

    EDIFACT Wizard screen

    Figure 1.64. EDIFACT Wizard screen


    An EDIFACT messsage can only be set up using a sample file. Select your sample file using the Browse... button then click on the Upload command.

    Edit screen

    Once the message format sample has been uploaded, or when it is used or copied from a saved format, edit screen appears as follows.

    EDIFACT Edit screen

    Figure 1.65. EDIFACT Edit screen


    See Message Edit Functions for further information on message definition, contextual menu and additional commands available on this screen.

    When EdiWriter is generating the output edifact file, it uses an Edi template in order to define the proper layout of the edifact and follows the syntax of the template. This template could be added under advanced properties of message out by upload a file property with the name "EdiTemplate".

    1.7.3. X12 Message Format

    Tip

    See: Managing Channels - Manage a Channel

    X12 Wizard screen allows you to define your X12 message format according to your own file format.

    ASC X12 (also known as ANSI ASC X12) is the official designation of the U.S. national standards body for the development and maintenance of Electronic Data Interchange (EDI) standards. ASC X12 has sponsored more than 315 X12-based EDI standards for health care, insurance, government, transportation, finance, and many other industries.

    Babelway supports all EDI transaction sets. See the full list of X12 supported documents in the X12 Documents List appendix.

    To define a message in X12 format, select an existing template or make a copy of the generic X12 template in the catalogue and following screen will be displayed.

    Babelway supports all following X12 documents:

    Order Series (ORD), Materials Handling Series (MAT), Tax Services Series (TAX), Warehousing Series (WAR), Financial Series (FIN), Government Series (GOV), Manufacturing Series (MAN), Delivery Series (DEL), Engineering Management and Contract Series (ENG), Insurance/Health Series (INS), Miscellaneous ANSI X12 Transactions Series (MIS), Mortgage Series (MOR), Product Services Series (PSS), Quality and Safety Series (QSS), Student Information Series (STU), Transportation (Air and Motor Series (TAM) - Ocean Series (TOS), Rail Series (TRS),Automotive Series (TAS)

    File sample

    Following is a sample X12 file.

    ISA*00*          *00*          *ZZ*SENDERISA      *ZZ*RECEIVERISA    *960807*1548*U*00401*000000020*0*T*>~
    GS*IN*SENDERDEPT*007326879*19960807*1548*000001*X*004010~
    ST*810*000000001~
    BIG*20090927*00027**A00027-01~
    N1*ST*CHOCOLATE IMPORT*9*1234567890~
    N3*1000 N. NORTH HIGHWAY~
    N4*NEW YORK*NY*10310~
    N1*BT*RETAILER INC.*9*1098765432~
    N3*P.O. BOX 0000~
    N4*LAKE*VA*20120~
    N1*RE*FOODSELLER*9*12345QQQQ~
    N3*P.O. BOX 222222~
    N4*FAIRFAX*VA*94978~
    ITD*01*3*1**15**16~
    FOB*PP~
    IT1**16*CA*12.34**UA*006540022222~
    PID*F****BELGIUM CHOCOLATE~
    IT1**13*CA*12.34**UA*006540033333~
    PID*F****SWISS CHOCOLATE~
    TDS*35786~
    CAD*****FREEFORM~
    ISS*29*CA~
    CTT*2~
    SE*22*000000001~
    GE*1*000001~
    IEA*1*000000020~
    

    Wizard screen

    When you create a new message format, you must first configure it using the following wizard.

    X12 Wizard screen

    Figure 1.66. X12 Wizard screen


    A X12 message can only be set up using a sample file. Select your sample file using the Browse... button then click on the Upload command.

    Edit screen

    Once the message format sample has been uploaded, or when it is used or copied from a saved format, edit screen appears as follows.

    X12 Edit screen

    Figure 1.67. X12 Edit screen


    See Message Edit Functions for further information on message definition, contextual menu and additional commands available on this screen.

    1.7.4. XML Message Format

    Tip

    See: Managing Channels - Manage a Channel

    XML Wizard screen allows you to define your XML message format according to your own file format.

    To define a message in XML format, select an existing template or make a copy of the generic XML template in the catalogue and following screen will be displayed.

    File sample

    Following is a sample XML file.

    <?xml version="1.0"?>
    <Document>
    <SenderID>5420008199981</SenderID>
    <ReceiverID>5400102000086</ReceiverID>
    <DocumentDate>20080531170538</DocumentDate>
    <DocumentNumber>VK20084010</DocumentNumber>
    <TestIndicator>P</TestIndicator>
    <DocumentLanguage>NL</DocumentLanguage>
    <Version>1.1/Food</Version>
    <Invoice>
    <MessageReferenceNumber>VK20084010</MessageReferenceNumber>
    <InvoiceHeader>
    <MessageType>INV</MessageType>
    <MessageNumber>VK20084010</MessageNumber>
    <MessageFunction>ORI</MessageFunction>
    <InvoiceCurrency>EUR</InvoiceCurrency>
    <Dates>
    <InvoiceDate>20080531170538</InvoiceDate>
    <AccountingValueDate>20080531170538</AccountingValueDate>
    <DeliveryDate>20080530170738</DeliveryDate>
    <OrderDate>20080530170538</OrderDate>
    </Dates>
    </InvoiceHeader>
    <InvoiceDetail>
    <InvoiceItem>
    <ItemType>GDS</ItemType>
    <LineItemNumber>1</LineItemNumber>
    <EANArticleNumber>95400102057205</EANArticleNumber>
    </InvoiceItem>
    </InvoiceDetail>
    </Invoice>
    </Document>

    Wizard screen

    When you create a new message format, you must first configure it using the following wizard.

    XML Wizard screen

    Figure 1.68. XML Wizard screen


    An XML messsage can be set up using an XSD or a sample XML file. When uploading an Xsd you will have the possibility to select the root element and to provide additionnal imported Xsd. If you upload a sample XML file, be sure to have the most exhaustive one, it will save you modification on the generated tree. After the upload, click the corresponding Save command.

    Edit screen

    Once the message format sample has been uploaded, or when it is used or copied from a saved format, edit screen appears as follows.

    XML Edit screen

    Figure 1.69. XML Edit screen


    Note

    The XSD message definition wizard has some limitations:

    • It does not handle infinite recursion.

    • It does not handle mixed content.

    • It does not handle values for maxOccurs and minOccurs larger than 9999. Large values for maxOccurs could be replaced by the value 'unbounded'.

    See Message Edit Functions for further information on message definition, contextual menu and additional commands available on this screen.

    1.7.5. Excel Message Format

    Tip

    See: Managing Channels - Manage a Channel

    Excel Wizard screen allows you to define your Excel message format according to your own file format.

    To define a message in Excel format, select an existing template or make a copy of the MS Excel template in the catalogue.

    File sample

    Following is a sample Excel file having headers at the first row of the Excel sheet.

    Excel Sample file

    Figure 1.70. Excel Sample file


    Wizard screen

    When you create a new message format, you must first configure it using the following wizard.

    Excel Wizard screen 1

    Figure 1.71. Excel Wizard screen 1


    After uploading the file sample, you should click 'Save' button to let the system build the corresponding message definition for your file sample.

    Excel Wizard screen 2

    Figure 1.72. Excel Wizard screen 2


    Hint: If your file sample contains headers at the first row, so you should check the box "Contains header ?" at the end of the wizard.

      Edit screen

      Once this message format has been saved, or when it is used or copied from a saved format, edit screen appears as follows.

      Excel Edit screen

      Figure 1.73. Excel Edit screen


      See Message Edit Functions for further information on message definition, contextual menu and additional commands available on this screen.

      1.7.6. PDF Message Format

      Tip

      See: Managing Channels - Manage a Channel

      PDF Wizard screen allows you to define your PDF message format based on your XHTML template file.

      To define a message in PDF format, select an existing template or make a copy of the generic PDF template in the catalogue and following screen will be displayed.

      Wizard screen

      When you create a new message format, you must first configure it using the following wizard.

      PDF Wizard screen

      Figure 1.74. PDF Wizard screen


      An PDF messsage can only be set up using a template file in XHTML format. Select your template file using the Browse... button next to the XHTML file, then click on the Upload command.

      File sample

      Following is a sample PDF file.

      		
      <?xml version="1.0" encoding="UTF-8"?>
      <html xmlns="http://www.w3.org/1999/xhtml">
         <head>
            <title>PDF output</title>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
           
      <style>
       @page { size: A4; margin: 3cm 1.5cm 2cm 1.5cm; border: none; padding: 1em; }
       @page { @top-left{content: ""; }}
       @page { @top-right{content: "Page " counter(page) " on " counter(pages);}}
       @page { @bottom-left{content: element(footer);border-top: solid 0.01mm #000; }}
      
       #footer{display: block; position: running(footer); }
      </style>
      	 
         </head>
         <body style="font-size: 12pt; font-family: 'Nobile'"> 
      
            <center>
               <h1 >PDF output example</h1>
            </center>
            <br/>
            <div style="font-size: small">
               <span>Date :</span>
               <span>25-08-2009</span>
            </div>
            <br/>
            <center style="font-size: large">Example</center>
            <br/>
            <table style="width: 100%" >
               <tr>
                  <td rowspan="1" style="width: 200px; height: 20px;">
                     <span>Invoice number :</span>
                     <span>field1</span>
                  </td>
                  <td style="width: 300px; height: 20px;">
                     <span>Contact Name :</span>
                     <span>field2</span>
                     <span>field3</span>
                  </td>
               </tr>
            </table>
            <br/>
            <center>
               <span>Some static info</span>
            </center>
            <center style="page-break-before:always">
               <span>second page</span>
            </center> 
            <br/>
            You can upload images or css sheets as file properties and use a simple relative url in your xhtml.
            <br/>  
            <br/>    
            For specific print css options, see http://www.w3schools.com/css/css_reference.asp for all css options 
            <br/>  
            <br/>  	  
            <h2>Barcode Integration</h2>
              <br/> 
              <barcode style="display: inline-block; width: 300px; height: 200px;" type="EAN13">123456789012345675</barcode>
              <br/>
              <barcode style="display: inline-block; width: 300px; height: 200px;" type="EAN8">123456789012345675</barcode>
              <br/>
              <barcode style="display: inline-block; width: 300px; height: 200px;" type="UPCA">123456789012345675</barcode>
              <br/>
              <barcode style="display: inline-block; width: 300px; height: 200px;" type="UPCE">01234133</barcode>
              <br/>
              <barcode style="display: inline-block; width: 300px; height: 200px;" type="CODABAR">A123456789A</barcode>
              <br/>
              <barcode style="display: inline-block; width: 300px; height: 200px;" type="CODE39">123456789012345675</barcode>
              <br/>
              <barcode style="display: inline-block; width: 300px; height: 200px;" type="CODE39_EXTENDED">123456789012345675</barcode>
              <br/>
              <barcode style="display: inline-block; width: 300px; height: 200px;" type="CODE128">123456789012345675</barcode>
              <br/>
              <barcode style="display: inline-block; width: 300px; height: 200px;" type="CODE128_UCC">123456789012345675</barcode>
              <br/>
              <barcode style="display: inline-block; width: 300px; height: 200px;" type="CODE128_RAW">123456789012345675</barcode>
              <br/>
              <barcode style="display: inline-block; width: 300px; height: 200px;" type="EAN8">123456789012345675</barcode>
              <br/>
              <barcode style="display: inline-block; width: 300px; height: 200px;" type="POSTNET">123456789012345675</barcode>
              <br/>
      	  <div id="footer">
      		Footer line#1<br/>Footer line#2
      	  </div>
      
         </body>
      </html>		
      		
      		

      Edit screen

      Once the message format template has been uploaded, or when it is used or copied from a saved format, edit screen appears as follows.

      PDF Edit screen

      Figure 1.75. PDF Edit screen


      All elements of the resulting message definition will be hidden by default. You should show any element you need in the transformation step.

      To ease the search of the fields you need, the values uploaded from your example file are displayed in the field tooltip descriptions.

      Additionaly, you should edit and rename the element label for easier management during transformation step.

      See Message Definition to change show/hide parameter and edit the element label.

      See Signing an Outgoing Message for more details on the options available to control PDF signature and display options.

      PDF/x conformance

      specify weither or not you want to comply with PDF/A format. This is mainly used for long term archiving. Embedded content and font can simply be added as file properties of the message.

      Barcode integration

      Creation of barcode respecting the following standards: EAN13, EAN8, UPCA, UPCE, SUPP2, SUPP5, POSTNET, PLANET, CODE128, CODE128_UCC, CODE128_RAW, CODABAR, CODE39, CODE39_EXTENDED

      See xhtml example above for reference.

      1.7.7. Multirecord Message Format

      Tip

      See: Managing Channels - Manage a Channel

      Multirecord Wizard screen allows you to define your Multirecord message format (delimited or a fixed-length) according to your own file format.

      What is mr file?

      The mr file is a multirecord definition file which is used by the Self-Service MultiRecord wizard to generate the corresponding message definition and also to build the corresponding servingxml resource file.

      How to build mr file?

      (1) Specify if the message is a delimited or a fixed-length.

      For fixed-length messages, the mr file header will look like this:

      <multirecord name="mymultirecord" type="fixed-length" lineDelimited="true" recordDelimiter="\r\n" quoteSymbol-character="&quot;" quoteSymbol-escapeSequence="\&quot;" xmlns="http://xmlns.babelway.com/2007/multi-record">

      For the delimited messages the mr file header will look like this:

      <multirecord name="mymultirecord" type="delimited" fieldDelimiter="," recordDelimiter="\r\n" quoteSymbol-character="&quot;" quoteSymbol-escapeSequence="\&quot;" xmlns="http://xmlns.babelway.com/2007/multi-record">

      * recordDelimiter defines the delimiter between each record, it is usually the ending line character represented on windows by \r\n, on Unix/Linux by \n and on Macintosh by \r.

      * lineDelimited specify if the system use a record delimiter. If set to false, record will be based on the sum of the fields lenght for fixed length or the number of fields for delimited multirecords.

      * fieldDelimiter, only used whith a delimited message, defines the field delimiter.

      * quoteSymbol-character is the character used to quote a field (often &quot;)

      * quoteSymbol-escapeSequence is the sequence that will display the quote symbol character in a quoted field (often \&quot;)

      Hint:

      For multirecord as message in, do not specify recordDelimiter. The system will catch the \r or \n or \r\n. For multirecord as message out, DO specify recordDelimiter as being for instance "\r\n"; this will generate windows compliant file and let you change the delimiter from the advanced properties later on.

      (2) The second step is to write the message records definitions

      You should specify the name for the record and for each of its field. Each record should have at least one field with a static value which will be used to identify the record.

      <record name="Record1">
          <field name="recordType" value="R1" width="2"/>
          <field name="field1" width="5"/>
          <field name="field2" width="3"/>
      </record>

      * the width is only mandatory for fixed-length messages

      * value is used to specify that the field has a static value that will never change

      By default all first fields with a static value are used to identify a record. But, you can also manually defines which fields must be used to identify a record using the identifier paramter.

      <record name="Record1">
          <field name="recordType" value="R1" width="2" />
          <field name="fieldA" width="5"/>
          <field name="fieldB" width="3" value="BBB" identifier="true"/>
          <field name="fieldC" width="7" />
          <field name="fieldD" width="2" value="DD" identifier="true"/>
      </record>

      In this case, only the third and fifth fields (fieldB & fieldD), with identifier equals to true, will be used to identify the record. The default (without identifier=true) would only use recordType field as the identifier.

      Remark:

      For fixed-length messages, the fields used to identify a record should have the same position and length in each record. No overlap between identifiers is allowed between records.

      If a fixed-length message have variable length identifier per records, the only way to define it in the mr files is to first define the smallest common length identifier for all records and then for each records that have longer identifier, add as many as smaller field needed to unambiguously identify each record.

      For example if we have a message where AAAAA, 111 and 2222 are identifier like in the following:

      AAAAA contentcontent   anothercontent
      1112222  this and that

      The following definition is not valid since the fieldA is bigger than field1 and moreover, fieldA also overlaps with field2

      <record name="Record1">
          <field name="fieldA" width="5" value="AAAAA" identifier="true"/>
          <field name="fieldB" width="15" />
          <field name="fieldC" width="17" />
      </record>
      
      <record name="Record2">
          <field name="field1" width="3" value="111" identifier="true"/>
          <field name="field2" width="4" value="2222" identifier="true"/>
          <field name="field3" width="20" />
      </record>
      

      It should be replaced by:

      <record name="Record1">
          <field name="fieldA" width="3" value="AAA" identifier="true"/>
          <field name="fieldA" width="2" value="AA" identifier="true"/>
          <field name="fieldB" width="15" />
          <field name="fieldC" width="17" />
      </record>
      <record name="Record2">
           <field name="field1" width="3" value="111" identifier="true"/>
          <field name="field2" width="2" value="22" identifier="true"/>
          <field name="field2" width="2" value="22" identifier="true"/>
          <field name="field3" width="20" />
      </record>

      We had to split the fieldA in two in order to have one fieldA with the length 3 (the same as field1) with another fieldA with the remaining length 2.

      Then the field2 (length 4) was also bigger than the second fieldA (length 2) so we also need to split it in two field2 of length 2.

      All corresponding identifier have now the same length (3 and 2) and there is no overlap between them.

      It is also possible to add 4 extra parameters label, description, justify & padCharacters to each field

      <field name="myField" label="My Field" description="My field description" justify="right" padCharacter="x" width="10"/>

      * label and description are used to display the message tree

      * justify can be center, left or right

      * padCharacter is the character used to fill empty space in the field width

      (3) The last step is to define the message structure at the end of the mr file.

       <xml>
          <group name="Transaction" maxOccurs="unbounded">
                <group name="headers">
                   <record name="header" minOccurs="1" maxOccurs="unbounded"/>
                </group>
                <record name="record1" maxOccurs="unbounded"/>
                <group name="footers">
                   <record name="footer" />
                </group>
           </group>
        </xml>

      * Each element can define the minOccurs and the maxOccurs parameter with either a 0, a positive number or 'unbounded'.

      * Records defined in the records section can only appear once in the message structure.

      * Records can be grouped using the group element. The name of the group is mandatory.

      * Records in a group should be ordered in the same way they appeared at the message.

      Sample multirecord fixed-length message

      HH00123  AB
      HH00045 CDE
      R1one  100
      R1two  101
      R1four 103
      FF3

      Sample multirecord definition file

      <?xml version="1.0" encoding="UTF-8"?>
      <multirecord name="mymultirecord" type="fixed-length" recordDelimiter="\r\n" quoteSymbol-character="&quot;" quoteSymbol-escapeSequence="\&quot;" xmlns="http://xmlns.babelway.com/2007/multi-record">
      <records>
      <record name="header">
      <field name="recordType" value="HH" width="2"/>
      <field name="header1" width="5" justify="right" padCharacter="0" />
      <field name="header2" width="4" justify="right" padCharacter=" " />
      </record>
      <record name="record1">
         <field name="recordType" value="R1" width="2"/>
         <field name="field1" width="5" label="My field" description="My field Descritpion" />
         <field name="field2" width="3"/>
      </record>
      <record name="footer">
      <field name="recordType" value="FF" width="2" />
      <field name="footer1" width="1"/>
      </record>
      </records>
      <xml>
             <group name="Transaction" maxOccurs="unbounded">
                <group name="headers">
                   <record name="header" minOccurs="1" maxOccurs="unbounded"/>
                </group>
                <record name="record1" maxOccurs="unbounded"/>
                <group name="footers">
                   <record name="footer" />
                </group>
             </group>
          </xml>
      </multirecord>

      Wizard screen

      When you create a new message format, you must first configure it using the following wizard.

      Multirecord Wizard screen

      Figure 1.76. Multirecord Wizard screen


      A Multi Record messsage can only be set up using a sample file. Select your sample file using the Browse... button then click on the Upload command.

      Edit screen

      Once the message format sample has been uploaded, or when it is used or copied from a saved format, edit screen appears as follows.

      Multirecord Edit screen

      Figure 1.77. Multirecord Edit screen


      See Message Edit Functions for further information on message definition, contextual menu and additional commands available on this screen.

      1.7.8. Flat File Message Format

      Tip

      See: Managing Channels - Manage a Channel

      Flat File Wizard screen allows you to define your Flat File message format according to your own file format.

      To define a message in Flat File format, select an existing template or make a copy of the generic Flat File template in the catalogue and following screen will be displayed.

      Wizard screen

      When you create a new message format, you must first configure it using the following wizard.

      Flat File Wizard screen

      Figure 1.78. Flat File Wizard screen


      A Flat File messsage can only be set up using sample files, either an ServingXml resource file and a XSD file or an XML file. Select your sample file(s) using the Edit... buttons next to the Serving XML, XSD and/or XML file, according to your sample file(s) format, then click on the Upload command(s) then click on Save.

      Hint: If you will upload XML sample, you should first refine the sample by keeping only one occurrence of each XML element.

      File sample

      Following is a sample Flat file.

      EE54001340000093012918100700000000000147521
      DD0000018713906060109 6011                               3005330101
      DD0000028713906061106 6111                               3005250201

      This file has a number of properties.

      • The first row is a envelope .
      • The second row is details .

      ServingXml resources file

      Shown below is the simplest possible resources script that will read this data and output it as XML.

      <sx:resources xmlns:sx="http://www.servingxml.com/core">
      <sx:service id="csvtoxml">
      <sx:serializebuild.bat>
      <sx:xsltSerializer>
      <sx:outputProperty name="indent" value="yes"/>
      </sx:xsltSerializer>
      <sx:transform>
      <sx:content ref="Sample"/>
      </sx:transform>
      </sx:serialize>
      </sx:service>
      
      <sx:recordContent id="Sample">
      <sx:recordStream>
      <sx:flatFileReader>
      <!--<sx:urlSource url="data/Sample.txt"/>-->
      <sx:flatFile ref="SampleFlatFile"/>
      </sx:flatFileReader>
      </sx:recordStream>
      <sx:recordMapping ref="SampleToXmlMapping"/>
      </sx:recordContent>
      
      <sx:flatFile id="SampleFlatFile" quote="never">
      <sx:flatFileBody>
      <sx:flatRecordTypeChoice>
      <sx:positionalField name="record_type" width="2"/>
      <sx:when test="record_type='EE'">
      <sx:flatRecordType name="envelope">
      <sx:positionalField name="EEtag" width="2"/>
      <sx:positionalField name="Sender" width="13"/>
      <sx:positionalField name="Recip" width="13"/>
      <sx:positionalField name="Iref" width="14"/>
      <sx:positionalField name="Testind" width="1"/>
      <sx:positionalField name="Splitref" width="35"/>
      </sx:flatRecordType>
      </sx:when>
      <sx:when test="record_type='DD'">
      <sx:flatRecordType name="details">
      <sx:positionalField name="DDtag" width="2"/>
      <sx:positionalField name="Linenr" width="6"/>
      <sx:positionalField name="ArtEAN" width="14"/>
      <sx:positionalField name="ArtSA" width="35"/>
      <sx:positionalField name="ARTBP" width="35"/>
      </sx:flatRecordType>
      </sx:when>
      </sx:flatRecordTypeChoice>
      </sx:flatFileBody>
      </sx:flatFile>
      
      <sx:recordMapping id="SampleToXmlMapping">
      <csv:csv xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xmlns:csv="http://xmlns.babelgom.com/2007/message-format/csv" 
      xsi:schemaLocation="http://xmlns.babelgom.com/2007/message-format/csv csv.xsd">
      <sx:onRecord recordType="envelope">
      <csv:line>
      <sx:fieldElementMap field="EEtag" element="csv:field"/>
      <sx:fieldElementMap field="Sender" element="csv:field"/>
      <sx:fieldElementMap field="Recip" element="csv:field"/>
      <sx:fieldElementMap field="Iref" element="csv:field"/>
      <sx:fieldElementMap field="Testind" element="csv:field"/>
      <sx:fieldElementMap field="Splitref" element="csv:field"/>
      </csv:line>
      </sx:onRecord>
      <sx:innerGroup startTest="sx:current/header">
      <csv:order>
      <sx:onRecord recordType="details">
      <csv:line>
      <sx:fieldElementMap field="DDtag" element="csv:field"/>
      <sx:fieldElementMap field="Linenr" element="csv:field"/>
      <sx:fieldElementMap field="ArtEAN" element="csv:field"/>
      <sx:fieldElementMap field="ArtSA" element="csv:field"/>
      <sx:fieldElementMap field="ARTBP" element="csv:field"/>
      </csv:line>
      </sx:onRecord>
      </csv:order>
      </sx:innerGroup>
      </csv:csv>
      </sx:recordMapping>
      </sx:resources>
       

      This resources script produces the following output.

      <?xml version="1.0" encoding="UTF-8"?>
      <csv:csv xmlns:csv="http://xmlns.babelgom.com/2007/message-format/csv"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://xmlns.babelgom.com/2007/message-format/csv csv.xsd">
         <csv:line>
            <csv:field>EE</csv:field>
            <csv:field>5400134000009</csv:field>
            <csv:field>3012918100700</csv:field>
            <csv:field>00000000014319</csv:field>
            <csv:field>1</csv:field>
            <csv:field/>
         </csv:line>
         <csv:order>
            <csv:line>
               <csv:field>DD</csv:field>
               <csv:field>000001</csv:field>
               <csv:field>8713906060109</csv:field>
               <csv:field>6011</csv:field>
               <csv:field>3005330101</csv:field>
            </csv:line>
            <csv:line>
               <csv:field>DD</csv:field>
               <csv:field>000002</csv:field>
               <csv:field>8713906061106</csv:field>
               <csv:field>6111</csv:field>
               <csv:field>3005250201</csv:field>
            </csv:line>
         </csv:order>
      </csv:csv>

      For more information about ServingXML, please visit http://servingxml.sourceforge.net/

      Edit screen

      Once the message format sample has been uploaded, or when it is used or copied from a saved format, edit screen appears as follows.

      Flat File Edit screen

      Figure 1.79. Flat File Edit screen


      See Message Edit Functions for further information on message definition, contextual menu and additional commands available on this screen.

      1.7.9. Generic Message Format

      Tip

      See: Managing Channels - Manage a Channel

      Generic Wizard screen allows you to define your generic message format according to your own file format.

      To define a message in Generic format, select an existing template or make a copy of the generic Generic template in the catalogue. Unlike other message formats, there is no wizard screen for generic format.

      Edit screen

      Once the generic message format has been selected, edit screen appears as follows.

      Customer Edit screen

      Figure 1.80. Customer Edit screen


      This format should be used with your own message parser or converter written in Java code when no adequate format converter is available. Select this converter using ConverterClass property available under Advanced Properties.

      Note

      This mode is reserved for advanced users. Please contact Babelway before using it as you need to have specific administration rights in order to be able to upload Java code to Babelway server.

      See Message Edit Functions for further information on message definition, contextual menu and additional commands available on this screen.

      1.7.10. Not Defined Message Format

      Tip

      See: Managing Channels - Manage a Channel

      Not Defined message format is used when in and out message format does not need to be defined because no processing will be performed on it and no change is required.

      To define a message in Not defined format, select an existing template or make a copy of the generic Not defined template in the catalogue. There is no setting parameter for this message format.

      Note

      If message in format is "Not defined", so should be out message otherwise output may return unexpected results or empty message.

      Usually, this setting is used in combination with No Transformation in a channel that simply transfers an unchanged and unprocessed message from one gateway to another different one.

      1.7.11. TRADACOM Message Format

      Tip

      See: Managing Channels - Manage a Channel

      TRADACOM Wizard screen allows you to define your TRADACOM message format according to your own file format.

      Tradacoms is an early standard for EDI (Electronic Data Interchange) primarily used in the UK retail sector. It was introduced in 1982 as an implementation of the UN/GTDI syntax, one of the precursors of EDIFACT, and was maintained and extended by the UK Article Numbering Association (now called GS1 UK).

      As Babelway supports all TRADACOM transaction sets of the TRADACOM standard, you can use any of them in your own gateway setup.

      To define a message in TRADACOM format, select an existing template or make a copy of the generic TRADACOM template in the catalogue and following screen will be displayed.

      Babelway supports all following TRADACOM documents:

      1.ACKHDR,ACKMNT,ACKTLR,AVLDET,AVLHDR,AVLTLR,CORDER,CORHDR,CORTLR,CRAHDR,CRAINF,CRATLR,CREDIT,CREHDR,CRETLR,CUSHDR,CUSINF,CUSTLR,DELHDR,DELIVR,DELTLR,DLCDET,DLCHDR,DLCTLR,DRAHDR,DRAINF,DRATLR,EXCHDR,EXCINF,EXCTLR,GENHDR,GENRAL,GENTLR,INVFIL,INVOIC,INVTLR,LPRDET,LPRHDR,LPRTLR,ORDERS,ORDHDR,ORDTLR,PAYHDR,PAYINF,PAYTLR,PICHDR,PICKER,PICTLR,PPRDET,PPRHDR,PPRTLR,PRIHDR,PRIINF,PRITLR,PROHDR,PROINF,PROINF,PROTLR,RSGRSG,SADDET,SADHDR,SADTLR,SNPHDR,SNPHDR,SNPSTS,SNPTLR,SRMHDR,SRMINF,SRMTLR,UCNDET,UCNHDR,UCNTLR,UCNTLR,UPLHDR,UPLIFT,UPLTLR,UTLBIL,UTLHDR,UTLTLR,UVATLR,VATTLR

      File sample

      Following is a sample TRADACOM invoice file.

      STX=ANAA:1+501xxxxxxxxxx:name+501xxxxxxxxxx:NAME SERVICES (U.K.)LTD.+040316:184411+00001++INVTES'
      MHD=1+INVFIL:9'
      TYP=0700+INVOICES'
      SDT=501xxxxxxxxxx:053752CF01STDD+Tenprl Fnsrjnl Sbbqfreivpr+221 UvyyunyyRoad:Yvfohea:Co. Antrim:N.Ireland:OG27 5WQ+412557175'
      CDT=501xxxxxxxxx+NAMESERVICES (U.K.) LTD.+Cnexynaqf Pbheg:OvezvatunzTerng Cnex:Ehorel:Birmingham:OG45 9CM'
      FIL=1+1+040316'
      FDT=040302+040302'
      MTR=7'
      MHD=2+INVOIC:9'
      CLO=0000000100007: ++PNEEVPX GOLF CLUB:ABEGU ROAD:PNEEVPX SRETHF::OG388YC'
      IRF=01000589M+040302+040302'
      ODD=1+::040302+:040302'
      ILD=1+1+:8408++:31266+0+2:2500:KG+54300+135800+Z+0+++SILVERSIDE 1-5 KG'
      STL=1+Z+0+0+1358+++++1358++0+0++1358'
      TLR=1+1358+++++1358++1358+0++1358'
      MTR=8'
      MHD=3+VATTLR:9'
      VRS=1+Z+0+1358+1358+0+1358+1358'
      MTR=3'
      MHD=4+INVTLR:9'
      TOT=1358+1358+0+1358+1358+1'
      MTR=3'
      MHD=5+RSGRSG:2'
      RSG=00001+501xxxxxxxxxx'
      MTR=3'
      END=5'

      Wizard screen

      When you create a new message format, you must first configure it using the following wizard.

      TRADACOM Wizard screen

      Figure 1.81. TRADACOM Wizard screen


      An TRADACOM messsage can only be set up using a sample file. Select your sample file using the Browse... button then click on the Upload command.

      Edit screen

      Once the message format sample has been uploaded, or when it is used or copied from a saved format, edit screen appears as follows.

      TRADACOM Edit screen

      Figure 1.82. TRADACOM Edit screen


      See Message Edit Functions for further information on message definition, contextual menu and additional commands available on this screen.

      1.8. Gateway Out

      Tip

      See: Managing Channels - Manage a Channel

      In the Gateway Out screen, you select your output gateway type and configure its specific parameters.
      Gateway Out tab

      Figure 1.83. Gateway Out tab


      When you create a new channel, you must define an outgoing gateway type and configure it.

      First you should select a gateway out the catalogue available list. For this, click on Open catalogue command.

      The catalogue list of available outgoing gateways is displayed as illustrated below:

      Catalogue for gateway out selection

      Figure 1.84. Catalogue for gateway out selection


      Create and/or select a gateway from open catalogue. Please refer to The Catalogue chapter for more informations about catalogue use and commands.

      The following types of gateways are available:

      • Email Gateway Out: With an Email Gateway Out, Processed messages are attached to email messages and sent to a specific email address.

      • FTP Client Gateway: With a Ftp Client Output Gateway, outgoing messages are transfered to an external Ftp server.

      • SFTP Client Gateway: With a SFTP Client Output Gateway, outgoing messages are transfered to an external SFTP server.

      • FTP Server Gateway:With a Ftp Server Output Gateway, outgoing messages are transferred to a Babelway FTP server.

      • AS2 Gateway: A communicaion standard largely used in retail environment to secure communications over Internet.

      • Web Gateway: A website access to download messages.

      • Generic Gateway: .

      • Internal Gateway: The internal gateway in / out are used for internal transfer of messages between channels inside the same account envioronment.

      • Null Gateway: A gateway used for test and development purposes. The outgoing messages are not sent anywhere.

      • OFTP server Gateway:With a OFtp Server Output Gateway, outgoing messages are transferred to a Babelway OFTP server.

      • OFTP Client Gateway: With a OFTP Client Output Gateway, outgoing messages are transfered to an external OFTP server.

      • HTTP out Gateway: With a HTTP out Output Gateway, outgoing messages are transferred to a Babelway HTTP server.

      • Soap Gateway: With a Soap Server Output Gateway, outgoing messages are transferred to a Babelway Soap server.

      • Http Client Out Gateway:With an HttpClientOut Gateway, outgoing messages are send using a Http connection.

      • Soap Client Gateway Out:With an SoapClientOut Gateway, outgoing messages are send using a Soap connection.

      • X.400 Gateway Out:With a X.400 Gateway,Processed messages are attached and send to specific trading partner address using a X.400 network.

      • Aggregator Gateway Out:The aggregator allows to merge messages into one larger file. The resulting messages is forwarded to an other channel in the same environment.

      Show Advanced Properties

      The Show Advanced Properties command is the same for all gateway types..Clicking on it displays following informations:

      Gateway Out advanced properties

      Figure 1.85. Gateway Out advanced properties


      The following fields and information are available:

      • Id: A unique identifier automatically set by Babelway platform.

      • Name: A name that you can set and/or modify to easily retrieve and manage your gateway.

      • Description: A free text field that you can set and/or modify used in addition to gateway name to help you identify your gateway usage and/or function.

      • Used in channels: List of channels that are currently using this gateway.

      • Property Name: Not used at this time.

      • File Property Name: Not used at this time.

      Note

      Do not forgot to Save your changes before switching to another tab as they are not automatically saved.

      1.8.1. Email Gateway Out

      Tip

      See: Managing Channels - Manage a Channel

      With an Email Gateway Out, Processed messages are attached to email messages and sent to a specific email address.

      To create an email gateway out, select an existing template or make a copy of the generic Email template in the catalogue and following screen will be displayed.

      Email Gateway Out configuration

      Figure 1.86. Email Gateway Out configuration


      The following fields should be defined in order to configure your email gateway out:

      Sending Email Address

      Set the address to which outgoing messages will be sent as email attachment.

      To Recipients

      Email destination address. You can add a comma separated list of recipients.

      Cc Recipients

      Email destination CC address.You can add a comma separated list of recipients.

      Bcc Recipients

      Email destination Bcc address.You can add a comma separated list of recipients.

      Subject

      Email message subject.

      Send message as attachment?

      Should message send as attachment or not.

      Attachment Name

      Attachment file name.

      Track email using web beacon

      If checked, a web beacon (an image containing a unique link) will be in the footer of the email. When image loaded for the first time, it will "acknowledge" the message.

      Add a download link

      Add a download link in the message Body or not. When the link is first activated, it will "acknowledge" the message.

      Email Body

      Email message Body.

      Secure Email

      If checked, the email message would be signed using the transfer certificate. The sending email address should used as hub-25XXX@babelway.net where 25XXX is your account environment id.

      Note

      After defining the previous fields, you can complete setup of gateway manually by adding string properties under advanced properties.

      Email Gateway Out Advanced Properties configuration

      Figure 1.87. Email Gateway Out Advanced Properties configuration


      Enter the value in the Property name field and its value in the Value field as illustrated in the above figure. Click on the   Add command to validate this property or on the Remove command to erase it.

      The properties that should be added to complete setup of gateway are:

      bodyType

      [text/plain , text/html] default is text/plain

      downloadLinkMessage

      default: "download message".

      emailTrackingImageAlt

      default: "load this image to notify the reception of the message".

      emailTrackingMessage

      default: "Download this image to notify the reception of the message".

      1.8.2. Ftp Client Gateway Out

      Tip

      See: Managing Channels - Manage a Channel

      With a Ftp Client Output Gateway, outgoing messages are transfered to an external Ftp server.

      To create a ftp client gateway out, select an existing template or make a copy of the generic Ftp client template in the catalogue and following screen will be displayed.

      Ftp client gateway out configuration

      Figure 1.88. Ftp client gateway out configuration


      The following fields should be defined in order to configure access to your external ftp server:

      Server

      External ftp server adress where Babelway platform should send messages.

      Username

      Login or username to access files on this external ftp server.

      Password

      Password associated to previous username to access account.

      Directory

      Directory where outgoing files are to be stored on the server.

      Passive Mode

      Indicates that the ftp connection is in passive. Setting this to true means the ftp client will establish two connection to the ftpserver client.

      Filename

      Filename of the outgoing message.

      Private Key

      The private key associated to the previous username to access your account. This can be left empty if you choose to only use the password authentication mechanism.

      1.8.3. SFTP Client Gateway Out

      Tip

      See: Managing Channels - Manage a Channel

      With a SFTP Client Output Gateway, outgoing messages are transfered to an external SFTP server.

      To create a SFTP client gateway out, select an existing template or make a copy of the generic SFTP Client template in the catalogue and following screen will be displayed.

      SFTP client gateway out configuration

      Figure 1.89. SFTP client gateway out configuration


      The following fields should be defined in order to configure access to your external ftp server:

      Server

      External sftp server adress where Babelway platform should send messages.

      Username

      Login or username to access files on this external sftp server.

      Password

      Password associated to previous username to access account.

      Private Key

      The private key associated to the previous username to access your account. This can be left empty if you choose to only use the password authentication mechanism. The supported formats are RSA private key (OpenSSH format).

      Passphrase

      The passphrase associated to the key

      Filename

      Filename of the outgoing message.

      Directory

      Directory where outgoing files are to be stored on the server.

      1.8.4. Ftp Server Gateway Out

      Tip

      See: Managing Channels - Manage a Channel

      With a Ftp Server Output Gateway, outgoing messages are transferred to a Babelway FTP server.

      To create a ftp server gateway out, select an existing template or make a copy of the generic Ftp server template in the catalogue and following screen will be displayed.

      Ftp server gateway out configuration

      Figure 1.90. Ftp server gateway out configuration


      The following fields should be defined in order to configure your ftp server on Babelway platform:

      Hostname

      Babelway ftp server set as "ftp.babelway.net"

      Username

      Login or username to access your account on Babelway ftp server. This username must be unique as it will be linked to a specific directory on ftp server.

      Password

      Password associated to previous username to access your account.

      Filename

      Filename of the outgoing message.

      After channel deployment, your ftp server will be available to receive messages. You can access this ftp server using any ftp client software set up with the previous account parameters.

      Note

      • If you are using an ftp server both as incoming and outgoing gateways, you cannot use the same login for both gateway servers.

      1.8.5. AS2 Gateway

      Tip

      See: Managing Channels - Manage a Channel

      With an AS2 Gateway, outgoing messages are transmitted using an AS2 connection.

      AS2 (Applicability Statement 2) is a specification about how to transport data securely and reliably over the Internet. Security is achieved by using digital certificates and encryption.

      To create AS2 gateway, select an existing template or make a copy of the generic AS2 template in the catalogue and following screen will be displayed.

      AS2 gateway configuration

      Figure 1.91. AS2 gateway configuration


      The following fields should be defined in order to configure your AS2 access:

      From

      Babelway source server.

      To

      Server address that receives outgoing messages.

      Subject

      AS2 message subject

      Recipient Address

      The endpoint URL of the receiving message gateway ,requires protocol prefix in URL (http:// or https://).

      Request Receipt

      Should a receipt be sent when a request is received or not.

      Receipt Return URL

      URL address where to send receipt.

      Signed Receipt

      Should receipt be signed or not.

      Signing Algorithm

      Select algorithm used for signing receipt, if any.

      Asynchronous Receipt

      Should receipt be sent asynchronously or not.

      Message Compression Required

      Should send message be compressed or not?

      Message Signing Required

      Should send message be signed or not?

      Message Encryption Required

      Should send message be encrypted or not?

      Encryption Algorithm

      Select algorithm used for encrypting message, if any.

      Message Signature Enforced

      Should message signature be enforced or not?

      MIC Algorithm

      Select MIC algorithm, if any.

      Message Encryption Enforced

      Should message encryption be enforced or not?

      Maximum Retries

      Maximum number of retries if message sending failed?

      Retry Interval

      Interval of time before trying to send message again (in seconds)?

      Certification For Encryption

      Certificate used for message encryption?

      Certification For Verification

      Certificate used for message verification?

      AS2 documentation

      File containing your AS2 parameters. It should be completed as detailled hereafter before being sent to your AS2 partner for configuration of his system side.

      After channel deployment, your AS2 connection will be available to receive messages.

      Advanced Properties

      type

      "edi", for the content type "application/EDIFACT".

      "x12", for the content type "application/EDI-X12".

      "eco", for the content type "application/edi-consent".

      "xml", for the content type "application/XML".

      "bin", for the content type "application/ octet-stream".

      Report AS2 parameters to the other party

      Click on GenericAS2Specifications.doc command to download a Word file including all parameters values required to establish AS2 communication. In this file, you should change Identity field to match the To field value (see above) as automatically attributed by Babelway interface, this value follows " BABELWAY_AS2_xxxxx " form.

      Once this parameter has been changed to match your settings, you can send the file to the other party to give him all parameters he will require to establish a communication with your channel.

      GenericAS2Specifications Word file example

      Figure 1.92. GenericAS2Specifications Word file example


      Warning

      • À quoi servent les paramètres non (encore) documentés ?

      • Y a-t-il un polling ?

      • Le "Retry Interval" est-il bien exprimé en secondes (à ajouter dans l'interface?) ? Si oui, y a-t-il un maximum et/ou un minimum ?

      1.8.6. Http Client Out Gateway

      Tip

      See: Managing Channels - Manage a Channel

      With an HttpClientOut Gateway, outgoing messages are send using a Http connection.

      To create a HttpClientOut gateway, select an existing template or make a copy of the generic HttpClientOut template in the catalogue and following screen will be displayed.

      HttpClientOut gateway configuration

      Figure 1.93. HttpClientOut gateway configuration


      you can select several http internal in

      The following fields should be defined in order to configure your HttpClientOut access:

      Url

      External service address.

      Username

      Login or username to access the service .

      Password

      Password associated to previous username.

      SSLTrustLevel

      Select SSl algorithm,if any.

      Connected Gateway

      Select gateway that receive the response from the gateway.If no gateway is selected the http response will only be use to validate the success Expression then be discarted

      Filename

      Filename of the outgoing message.

      Response Filename

      Filename of the Response message.

      Note

      After defining the previous fields, you can complete setup of gateway manually by adding string properties under advanced properties.

      The properties that may be added to complete setup of gateway are:

      Http client out Gateway Out Advanced Properties configuration

      Figure 1.94. Http client out Gateway Out Advanced Properties configuration


      Success expression

      expression is a regex. If response doesn't match the message is flag in error.

      Preemptive authentication

      a flag for preemptive authentication.

      Login url

      httpCient in is not mandatory any more.

      Authentication method

      it supports form authentication now.you can select from "FORM,BASIC,ANY,DIGEST,CERT"

      numberOfRetries

      number of retry (default = 1)

      userAgent

      (default = "babelway-HttpClientOutGateway")

      timeout

      (default = 90s)

      http-header:CUSTOM_HEADER

      You can also add specific http header by adding the string properties with the following prefix "http-header:" followed by the name of the header. This accepts metadata.

      auth-form-field:CUSTOM_AUTHENTICATION_FORM_FIELD

      You can also add specific authentication form field by adding the string properties with the following prefix "auth-form-field:" followed by the name of the header. This accepts metadata.

      authFormContentType

      You can specify the content type of the submitted authentication form (default is application/x-www-form-urlencoded).

      After channel deployment, your connection will be available to send messages.

      1.8.7. Web Gateway

      Tip

      See: Managing Channels - Manage a Channel

      With a web gateway, incoming messages are manually uploaded on a specific Babelway webpage. They are processed as soon as they are uploaded.

      To create a web gateway, select an existing template or make a copy of the generic Web template in the catalogue and following screen will be displayed.

      Web Gateway configuration

      Figure 1.95. Web Gateway configuration


      There is no parameter to define in this template. The web gateway will be automaticaly created using the gateway name you entered.

      You can access your specific web server via your Account Management screen, in Access and Notifications part. Click on the link next to the Message Upload via Web Gateway field. The web link is listed with the same name as the web gateway you created.

      Web gateway access via my account management

      Figure 1.96. Web gateway access via my account management


      Once you open your web gateway, following screen is displayed. Click on Upload tab if it is not open by default.

      Web gateway Upload screen

      Figure 1.97. Web gateway Upload screen


      • The lower part of displayed table lists all uploaded files still stored on web gateway if any. These files may be selected then erased using Delete Selected command.

      • In the upper part of displayed table, you can select a file to upload using the Browse... button then clicking on Upload. Following message is displayed if upload is successful. The message is then processed immediately.

      Upload confirmation message

      Figure 1.98. Upload confirmation message


      Note

      Remember that this web gateway will only be created at next channel deployment. It will not be available from your account management until then.

      Warning

      • L'upload des fichiers ne peut-il se faire que manuellement ?

      1.8.8. Generic Gateway

      Tip

      See: Managing Channels - Manage a Channel

      The generic gateway is used to setup gateway out with features not available at other gateways like transfer of output message to more than one channel.

      To create an generic gateway, select an existing template or make a copy of the generic template in the catalogue and following screen will be displayed.

      Generic gateway configuration

      Figure 1.99. Generic gateway configuration


      Note

      After importing generic gateway from Babelway templates, you should complete setup of gateway manually by entering class name and adding string and file properties under advanced properties.

      Note

      If your class is a subclass of InternalGateway you can use connectedGatewayId is a comma separated list of the internal gateway id you want to use.

      1.8.9. Internal Gateway Out

      Tip

      See: Managing Channels - Manage a Channel

      The internal gateway in / out are used for internal transfer of messages between channels inside the same account environment.

      To create an internal gateway out, select an existing template or make a copy of the generic Babelway Internal template in the catalogue and following screen will be displayed.

      Internal Gateway configuration

      Figure 1.100. Internal Gateway configuration


      You can select several http internal in.

      You can select multiple gateway in. A copy of the message will be sent to each of them.

      There is only one parameter to define in this template.

      Conected Gateways

      Select the internal gateway In that will receive the message

      Filename

      Filename of the outgoing message.

      Response Filename

      Filename of the Response message.

      Note

      As opposed to most other gateways, this internal one is immediately available as gateway out for other channels configuration without requiring a channel deployment.

      Warning

      • Ce gateway sert-il à autre chose que des tests ?

      • " Such a gateway is useful for test purposes or to received preprocessed file coming from another existing gateway"

      1.8.10. Null Gateway

      Tip

      See: Managing Channels - Manage a Channel

      The null gateway is used for test and development purposes. The outgoing message will not be sent out of Babelway platform.

      To create an Null gateway, select an existing template or make a copy of the generic Null template in the catalogue and following screen will be displayed.

      Null Gateway configuration

      Figure 1.101. Null Gateway configuration


      This gateway is derived from a generic gateway out. The only parameter is the class definition which is already defined by default.

      Outgoing messages will not be forwarded but they are nevertheless created and readable through Tracking Messages interface. You may use this gateway for testing your messages transformation and creation before going to production or for preventing a channel to send messages before deployment.

      1.8.11. OFTP Server Gateway out

      Tip

      See: Managing Channels - Manage a Channel

      With an OFtp server Gateway out, Outgoing messages are transferred to an Babelway OFTP server.

      To create an OFtp server Gateway out, select an existing template or make a copy of the generic OFtp server template in the catalogue and following screen will be displayed.

      OFtp server gateway out configuration

      Figure 1.102. OFtp server gateway out configuration


      The following fields should be defined in order to configure your OFTP Server on Babelway platform:

      Partner SSID

      The OFTP ID provided by your partner.

      Partner SFID

      The SFID provided by your partner. If none has been provide, this is probably the same as his SSID.

      Partner Password

      The password of your partner. Provided by your partner.

      My SSID

      BABELWAY.

      My SFID

      BABELWAY_AS2_26136.

      My Password

      The value of the password is empty.

      Sign messages

      Sign outgoing messages using the key selected in "My private key". This allows your partner to verify that you are the one sending the message.

      Encrypt messages

      Encrypt outgoing messages using the certificate selected in” certificate for data”. This allows your partner to be the only one able to decrypt the messages sent.

      Receive signed messages

      This allows you to verify that your partner is the one sending the message.

      Request signed ack (EERP)

      Requests that incoming acknowledgments are signed. The signature will be verified using the Certificate for EERP. This allows you to be sure that only the partner could have signed the incoming messages.

      Signature key

      Select Signature key or go to Keystore edit.

      Encryption certificate

      Select Encryption certificate or go to Keystore edit.

      Encryption algorithm

      Select Encryption algorithm or go to Keystore edit.

      Certificate

      Select Certificate for data or go to Keystore edit.

      Certificate for EERP

      Select Certificate for EERP or go to Keystore edit.

      After channel deployment, your Oftp server will be available to send messages. You can access this ftp server using any Oftp client software set up with the previous account parameters.

      Note

      If you are using an oftp server both as incoming and outgoing gateways,you cannot use the same login for both gateway servers.

      1.8.12. OFTP client Gateway out

      Tip

      See: Managing Channels - Manage a Channel

      With an OFTP Client out Gateway, outgoing messages are transferred to an external OFTP server as soon as they are processed by the Babelway engine.

      To create an OFtp client Gateway out, select an existing template or make a copy of the generic OFtp client template in the catalogue and following screen will be displayed.

      OFtp client gateway out configuration

      Figure 1.103. OFtp client gateway out configuration


      The following fields should be defined in order to configure your OFTP client on Babelway platform:

      Server

      The URL of the server of your partner. It is provided by your partner.

      Port

      The port to connect onto. It is provided by your partner.

      Use TLS

      .....

      Partner SSID

      The OFTP ID provided by your partner.

      Partner SFID

      The SFID provided by your partner. If none has been provide, this is probably the same as his SSID.

      Partner Password

      The password of your partner. Provided by your partner.

      My SSID

      BABELWAY.

      My SFID

      BABELWAY_AS2_26136.

      My Password

      The value of the password is empty.

      use Compression

      Compresses the messages.

      Sign messages

      Sign outgoing messages using the key selected in "My private key". This allows your partner to verify that you are the one sending the message.

      Encrypt messages

      Encrypt outgoing messages using the certificate selected in "certificate for data". This allows your partner to be the only one able to decrypt the messages sent.

      Receive signed messages

      This allows you to verify that your partner is the one sending the message.

      Request signed ack (EERP)

      Requests that incoming acknowledgments are signed. The signature will be verified using the Certificate for EERP. This allows you to be sure that only the partner could have signed the incoming messages.

      Signature key

      Select Signature key or go to Keystore edit.

      Encryption certificate

      Select Encryption certificate or go to Keystore edit.

      Encryption algorithm

      Select Encryption algorithm or go to Keystore edit.

      Certificate

      Select Certificate for data or go to Keystore edit.

      Certificate for EERP

      Select Certificate for EERP or go to Keystore edit.

      After channel deployment, your Oftp server will be available to send messages. You can access this ftp server using any Oftp client software set up with the previous account parameters.

      Warning

      • À quoi servent les paramètres non (encore) documentés ?

      • Y a-t-il une valeur min (et max) pour l'intervalle de polling ?

      • Selon le forum, "FTP Gateway with a SSL certificat", il est possible de régler le protocole sur ftps dans les "advanced properties", or il n'y a pas de tel paramètre ni dans les propriétés avancées, ni des les paramètres normaux... Quand est-il ?

      1.8.13. Http Out Gateway

      Tip

      See: Managing Channels - Manage a Channel

      With a HTTP out Output Gateway, outgoing messages are transferred to a Babelway HTTP server.

      To create a HttpOut gateway, select an existing template or make a copy of the generic HttpOUT template in the catalogue and following screen will be displayed.

      Http OUT gateway configuration

      Figure 1.104. Http OUT gateway configuration


      The following fields should be defined in order to configure your HttpOut access:

      Username

      Login or username to access the service .

      Password

      Password associated to previous username.

      SOAPURL

      using the SOAP Post protocols.

      After channel deployment, your connection will be available to send messages.

      1.8.14. SOAP Gateway

      Tip

      See: Managing Channels - Manage a Channel

      With an SOAP Gateway, outgoing messages are send using a SOAP connection. Incoming files are process as soon as they are received.

      SOAP, originally defined as Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of Web services in computer networks. It relies on XML as message format, and on other application layer protocols (such as RPC and HTTP) for message negotiation and transmission.

      To create a SOAP gateway, select an existing template or make a copy of the generic SOAP template in the catalogue and following screen will be displayed.

      SOAP gateway configuration

      Figure 1.105. SOAP gateway configuration


      The following fields should be defined in order to configure your AS2 access:

      Wsdl

      ...

      Operation

      ...

      Alternate En Point

      ...

      SOAP Header

      ...

      Connected Gateway

      ...

      After channel deployment, your SOAP connection will be available to send messages.

      1.8.15. Soap Client Out Gateway

      Tip

      See: Managing Channels - Manage a Channel

      With an SoapClientOut Gateway, outgoing messages are send using a Soap connection.

      To create a SoapClientOut gateway, select an existing template or make a copy of the generic SoapClientOut template in the catalogue and following screen will be displayed.

      SoapClientOut gateway configuration

      Figure 1.106. SoapClientOut gateway configuration


      The following fields should be defined in order to configure your SoapClientOut access:

      Connected Gateways

      Select gateway that receive the response from the gateway.

      After channel deployment, your connection will be available to send messages.

      1.8.16. X.400 Gateway out

      Tip

      See: Managing Channels - Manage a Channel

      With a X.400 out Gateway, allows to sends the message on the X.400 network. To specify the address from your trading partner.

      To create a X.400 Gateway out, select an existing template or make a copy of the generic X.400 template in the catalogue and following screen will be displayed.

      X.400 gateway out configuration

      Figure 1.107. X.400 gateway out configuration


      X.400 Address

      The account private address. This is the address to communicate to your trading partner. The formatting may vary from one partner to the other. The most common formats are: C=WW; A=400NET; P=BABELWAY; S=HUB-25333 /C=WW/A=400NET/P=BABELWAY/S=HUB-25333.

      manual address

      You can choose to enter the the full address in the "manual address field" or each address component in the corresponding field.

      Warning

      • À quoi servent les paramètres non (encore) documentés ?

      • Y a-t-il une valeur min (et max) pour l'intervalle de polling ?

      • Selon le forum, "FTP Gateway with a SSL certificat", il est possible de régler le protocole sur ftps dans les "advanced properties", or il n'y a pas de tel paramètre ni dans les propriétés avancées, ni des les paramètres normaux... Quand est-il ?

      1.8.17. Aggregator Gateway Out

      Tip

      See: Managing Channels - Manage a Channel

      The aggregator allows to merge messages into one larger file. The aggregation could simply append the messages, use a xslt to merge xml document or merge Edifact or X12 documents. The resulting messages is forwarded to an other channels in the same environment.

      To create an internal gateway out, select an existing template or make a copy of the generic Aggregator template in the catalogue and following screen will be displayed.

      Aggregator Gateway configuration

      Figure 1.108. Aggregator Gateway configuration


      You can select several internal in.

      You can select multiple gateway in. A copy of the message will be sent to each of them.

      Connected Gateways

      List of internal gateway to send a copy of the result of the aggregation trigger

      Aggregation type

      Select 'append' for simple append. Use header, separator and footer to control the aggregation. Select 'xml' to create an aggregation of xml document. Optionaly an xslt can be applyed to te result. Select 'edifact' or 'x12' to merge edi document. The envelop of the first document will be used.

      Group by

      Use a metadata to spread the file in smaller group. One message fill be created for each group containing messages.

      Filename

      Filename, Default is the same as the message in.

      Response Filename

      Response Filename, Default is the same as the message in.

      Header

      For 'append' type: prefix to add at the begining of the file. For 'xslt' type: name for the root of the resulting message. Default='messages'

      Separator

      For 'append' type: message separator. For 'xslt' type: name for the element surrounding each message. Default='message'

      Footer

      Suffix to add at the begining of the file.

      Input charset

      Charset to use to decode file waiting to be aggragated.

      Output charset

      Charset to use to encode the file resulting of the aggragation.

      Xslt

      Xslt to perform on the resulting Xml. Default='Identity'

      Frequency

      Frequency

      Cron expression

      Cron expression. This take precedence on the frequency property.

      Minimum Idle time

      Specify the time the last message should have. This allows to ensure all messages from a batch were received by the aggregator.

      Note

      As opposed to most other gateways, this internal one is immediately available as gateway out for other channels configuration without requiring a channel deployment.

      Warning

      • "Such a gateway is useful for test purposes or to received preprocessed file coming from another existing gateway"

      1.9. Email Notifications

      Tip

      See: Managing Channels - Manage a Channel

      For each message processed through a channel, you may decide to send notification emails. These emails may be different and/or sent to different addresses according to processing success or failure.

      Note

      Though email notification is optional, it is highly recommended to configure it at least to send warning emails when message processing fails. In doing so, you will be able to react quickly to any problem and you will not leave unprocessed messages stucked in the system so avoiding troubles that could result otherwise.

      Email notification tab screen

      Figure 1.109. Email notification tab screen


      Email recipients management

      The list of available email recipients is displayed in the bottom table. To add a new recipient, enter his or her email address in Email field under Add Person at the screen top and select a Language for this recipient then click on Add button. The recipient is added in recipients list.

      For each recipient in the recipients list, you can chose if he or she will receive New Message Notification emails, that is an email each time a message enters the channel, or Error Alerts emails, that is an email each time a message generates an error during processing through the channel, or both, or neither.

      Notification messages definition

      Notification messages can be easily customized for easy system management and processing.

      • Sender: email address that will appear as notification email sender. You can keep default address and use it for automatic email filtering. Or you can change it and use any other address that may receive replies to notification emails according to your company internal management process for example.

      • Success Subject: subject of emails sent each time a message enters the channel and is successfully processed.

      • Success Body: body text of emails sent each time a message enters the channel and is successfully processed.

      • Failure Subject: subject of emails sent each time a message generates an error during processing through the channel.

      • Failure Body: body text of emails sent each time a message generates an error during processing through the channel.

      These subject and body fields are free text fields that you can fill as you want. In addition you can use Metadata to customize your messages adding dynamic information such as message name, account environment and channel identification, time and type of error...

      Note

      Do not forgot to Save your changes before switching to another tab as they are not automatically saved.

      Send a notification to a channel

      It is possible to send an email notification to another babelway channel. This enables to transform it further and send a specific message, like a APERAK to another destination.

      Note

      You can create an xml structure to ease the further manipulation. You can also leverage the metadata to include the information you need.

      Email notification tab screen

      Figure 1.110. Email notification tab screen


      1.10. Routing

      Tip

      See: Managing Channels - Manage a Channel

      Routing is used to direct messages from different channels coming from a same gateway in.
      Routing tab

      Figure 1.111. Routing tab


      If several channels use a same input gateway, messages coming in from that gateway should be routed to the correct channel to be properly processed.

      Routing is done at input of first step that is different for channels. So if 2 channels use the same gateway in but different message in formats, routing will take place at message in step input. If both channels use the same gateway in and the same message in format but different transformation rules, routing will take place at transformation input.

      The following example shows 3 channels that share the same gateway in:

      • Channels A has a different message in format than channel B and C. The routing rules will be defined in Message Definition In Routing Rules. Table Next Step first column indicates that next step after routing is message in step as they are two different formats defined as "csv_in_d" and "csv_b".

      Routing example 1

      Figure 1.112. Routing example 1


      The following example shows four channels that share the same message in and already had the same gateway in:

      • Channels D1, D2, D3 and D4 share the same message in and already had the same gateway in, you need to say which channel handles which message. The routing rules will be defined in Transformation Routing Rules. Table Next Step first column indicates that next step after routing is transformation step as they are three different transformations defined as "dad2","dad4 "and"dadd4".

      Routing example 2

      Figure 1.113. Routing example 2


      The following example shows three channels only differ by the outgoing gateway:

      • Channels F1, F2 and F3 only differ by the outgoing gateway, you need to say which channel handles which message. The routing rules will be defined in Gateway out Routing Rules. Table Next Step first column indicates that next step after routing is Gateway out step as they are two different Gateways out defined as "web_testf"and"m_out_f3 ".

      Routing example 3

      Figure 1.114. Routing example 3


      The following example shows three channels that share the same gateway in:

      • Channels 1 has a different message in format than channel 2 and 3. The routing rules will be defined in first table titled Message Definition In Routing Rules. Table Next Step first column indicates that next step after routing is message in step as they are two different formats defined as "csv in 1" and "csv in 2".

      • Channels 2 and 3 use same gateway in and message in format but different transformation rules. The routing rules will be defined in second table titled Transformation Routing Rules. Table Next Step first column indicates that next step after routing is transformation step as they are two different transformations defined as "DnD 1" and "DnD 2".

      • Depending on your account configuration, more than two channels can share a common gateway in and other steps.

      Routing example 4

      Figure 1.115. Routing example 4


      There are 3 ways to define routing rules:

      • Order No column: rules will be evaluated in that order. The incoming message will be directed to the first channel to which routing rules it complies to.

      • Rules base on metadata: uses context conditions such as incoming message file name to define routing as explained hereunder.

      • Rules base on message content: uses conditions based on incoming message content to define routing as explained hereunder.

      To add a routing rule, select corresponding channel(s) by clicking on Go command in rightmost column then click on Edit command.

      Note

      If you deactivate a channel involved in a routing and if, following this deactivation, one or more routing rules are not required anymore, they will be deleted. So activating back the channel requires defining routing rules again.

      Routing based on metadata

      In Edit Routing window, select a metadata in Metadata drop down list then enter a regular expression in Expression text area. Following example illustrates a rule that will be activated by all incoming files with a name starting with "invoice".

      Rule based on metadata

      Figure 1.116. Rule based on metadata


      Note

      • Please refer to Metadata chapter for a list and description of all available metadata.

      • Please refer to Regular Expression in External References chapter in appendices for description and reference about regular expressions.

      Routing based on message content

      In Edit Routing window, select "com_babelway_messaging_context_message" in Metadata drop down list then enter a regular expression in Expression text area. Following example illustrates a rule that will be activated by all incoming messages contain number 54000000012.

      Rule based on content

      Figure 1.117. Rule based on content


      Note

      • Please refer to Regular Expression in External References chapter in appendices for description and reference about regular expressions.

      1.11. Testing

      Tip

      See: Managing Channels - Manage a Channel

      Testing enables easy channel operation test and validation before channel deployment. A minimum of testing is mandatory in order to validate a channel.

      After a channel configuration, its operation should be tested. This is done by creating and running test cases, that is feeding the channel with test input files and checking corresponding output results after processing.

      During a test case running, message in, transformation and message out processes are executed and tested in real conditions. Only both in and out gateway cannot be validated that way as they require external operations not managed by Babelway interface.

      Testing tab list of existing test cases

      Figure 1.118. Testing tab list of existing test cases


      At opening, testing tab displays a list of test cases defined for the selected channel. An existing test cases can be edited by clicking on its name in first column. A new test case can be created by clicking on Create Test Case command. Both these operations open the Edit Test Case screen described hereunder.

      In the same table, clicking on Run command in middle column will manually run selected test case and display test results in Message Record screen described hereunder.

      The boxes that are checked in the third column select test cases will be deleted by clicking on Delete Selected command.

      Edit Test Case

      When you create a new test case or edit an existing one, following screen will be displayed:

      Edit test case screen

      Figure 1.119. Edit test case screen


      Following parameters can be set according to your setup:

      Id

      Unique identification number automatically set by system.

      Name

      Enter a name to define and retrieve your test case.

      Success

      Select one of following conditions for testing success:

      if there is no error and it has been processed by this channel

      Test is successful if no error occurred during processing, do the routing rules if routing is checked and look at the end if the Message Record is in state "DONE" and that the Message Record's channel is the one where the test case is configured.

      if there is no error, the output equals the ExpectedMessageOut and it has been processed by this channel

      Test is successful if no error occurred during processing, do the routing rules if routing is checked, check that the channel of the message record is the one of the test case and checks if the output file is the same as the file in the File Property "ExpectedMessageOut".

      if an error occurs

      Test is successful if an error occured during processing. This test is used to validate processing behavior in specific cases and check that an error is properly returned in these cases.

      if there is no error and it has not been processed by this channel

      Test is successful if the status of the Message Record is set to DONE but also checks if the channel of the Message Record is not the channel of the test case (meaning that the message did not generate any error and it has been routed away from the channel of the test case). This allows you to test that the routing happens as expected.

      ExpectedMessageOut

      Upload message that will be compared to processed message during test.

      MessageIn

      Upload message that will be used as input for test.

      ...

      ...

      Warning

      Ajouter la description des properties ???

      Message Record

      As a result of running a test, following message record screen is displayed. Click on More details command to see all information.

      Message record

      Figure 1.120. Message record


      From here you have access to all message files such as in and out messages in defined format as well as processed in and out XML messages.

      The Status field indicates if message processing was successful or not. Next to it, between brackets, the test result is added as Test Successful or Test failed.

      Note

      All existing tests will be run at channel deployment time. If all of them are not successful, deployment will be aborted.

      Chapter 2. Building a Channel

      2.1. Basic Functions

      Tip

      See: Managing Channels - Basic Channel Functions

      Basic channel functions are used to manage channels inside an account environment. You can create, delete, duplicate, activate your channels, etc.

      2.1.1. List of Channels

      Tip

      See: Managing Channels - Basic Channel Functions

      List of channels available inside the account environment and channels information summary.

      The list of channels displays a table with all channels available in current account environment. This table columns are:

      Name

      User defined channel name in General tab.

      Gateway In

      Input gateway type as defined in Gateway In tab.

      Message In

      Incoming message format as defined in Message In tab.

      Message Out

      Outgoing message format as defined in Message Out tab.

      Gateway Out

      Output gateway type as defined in Gateway Out tab.

      Status

      Channel current status in the deployed environment actually in production. This status is:

      • On, channel is active and working.

      • Off, channel is deactivated.

      Next Deployment

      Channel status that will be effective after next deployment. This status is:

      • No Change, channel status will not be modified.

      • Activate, channel is currently deactivated and will be activated.

      • Deactivate, channel is currently activated and will be deactivated.

      • Apply Changes, channel is currently activated and modifications will be applied at deployment.

      List of channels

      Figure 2.1. List of channels


      Commands

      Two or three commands are available in this screen:

      Create Channel

      This command is used to create a new channel. See Create a Channel chapter.

      Manage Lookup Mapping Tables

      This command opens Lookup Tables management screen.

      Deploy Channels

      This command is used to deploy channels. It is only available if one or more channels have been activated or deactivated or if an activated channel has been modified. See Activate and Deploy Channels chapter.

      2.1.2. Create a Channel

      Tip

      See: Managing Channels - Basic Channel Functions

      Add a new channel.

      To create a new channel, click on Create Channel command below the list of channels table.

      This new and empty channel will added in the list of channels. See Channels chapter to configure it according to your needs.

      Note

      • The newly created channel has a default name that is "channel" followed by its unique identifier. This default name cannot be used in the search channels dialog box. So it is always better to name any new channel you create.

      • You can duplicate an existing channel as explained in the Duplicate a Channel chapter to create a new channel as a copy of an existing one. This is useful when both channels share common configuration steps.

      2.1.3. Lookup Tables

      Tip

      See: Managing Channels - Basic Channel Functions

      Lookup tables are tables of values used in message transformations that require the replacement of incoming values by corresponding outgoing values

      The message transformation step can look up an incoming message value in this table and replace it with the matching value in the outgoing message. There are tools to create -either manually or automatically through import functions-, append, manage and share these lookup tables allowing you to centrally manage these tables and reuse them across channels and accounts.

      To create a new lookup table click on the

      The Manage Lookup Mapping Tables as illustrated below:

      Manage Lookup Mapping Tables Link

      Figure 2.2. Manage Lookup Mapping Tables Link


      In the List of Lookup Mapping Tables page you can search for existing objects or create new lookup table by click on Add table command as illustrated below:

      Add Lookup Mapping Tables

      Figure 2.3. Add Lookup Mapping Tables


      Clicking on Add table command will open the Add table screen ,you should type the table name and columns like illustrated below:

      Add Lookup table parameters

      Figure 2.4. Add Lookup table parameters


      You can add entry to lookup table by Automatic Population of Lookup Tables or either by manually as illustrated below:

      To add entry click on Add command and type your values in this screen

      Add Lookup table entry

      Figure 2.5. Add Lookup table entry


      Note

      2.1.4. Activate and Deploy a Channel

      Tip

      See: Managing Channels - Basic Channel Functions

      Once a channel is complete and ready, it must be activated and deployed to start incoming messages processing.

      Activate a channel

      When a channel is complete, including testing, you can activate it. An activated channel will be put in production next time you deploy channels. Once it is in production, the channel will receive incoming messages and process them according to its configuration.

      In a channel edit screen, click on Activate channel command to activate current channel. This command is only available if all required conditions are met (in and out gateways are configured, in and out messages and a transformation are specified and at least one test is ready).

      If the channel is already active, click on Deactivate channel command to deactivate it. This command is useful if you want to replace current active channel or if you do not use it anymore in production.

      Note

      If you remove one of the mandatory conditions in an active channel, such as a message definition for example, the channel will be automatically deactivated. It cannot be activated back until channel definition is complete again.

      Deploy channels

      Once one or more channels have been changed, activated and/or deactivated, the correponding hub must be deployed for these changes to take effect in production, that is for channels to start processing incoming messages according to new settings. A deployment means that all hub active channels will be put in production while deactivated channels will be removed from production. From that time on, active channels will process incoming messages according to their specific configuration.

      Channels are deployed using the Deploy Channels command available in the list of channels screen.

      In this screen, the two rightmost columns summarize the channels status and the effects a deployment will have on these channels as illustrated hereunder:

      The last 2 columns of List of Channels table displays the channel status:

      Channel activation status

      Figure 2.6. Channel activation status


      • The Status column displays channel current status, that is channel status in the deployed hub actually in production. This status is either On, channel is active and working, or Off, channel is deactivated.

      • The Next Deployment column display channel status that will be effective after next deployment. This status is either No Change, channel status will not be modified, or Activate, channel is currently deactivated and will be activated, or Deactivate, channel is currently activated and will be deactivatet, or Apply Changes, channel is currently activated and modifications will be applied at deployment.

      Note

      Keep in mind that any server, mail adress, etc. defined in incoming and outgoing gateways are only created after a succesful deployment. A new incoming email address for example will not be available and any mail sent to that address will generate an error before deployment.

      2.1.5. Duplicate a Channel

      Tip

      See: Managing Channels - Basic Channel Functions

      Duplicate an existing channel.

      You can select a channel then duplicate it. A new channel will be automatically created populated with a copy (also automatically generated) of all its components. This new channel is then an independent channel with independent components that is not linked to original channel in any way.

      To duplicate a channel, edit this channel and click on Duplicate channel command over the channel tabs.

      This new channel will added in the list of channels. See Channels chapter to change and configure it according to your needs.

      2.1.6. Delete a Channel

      Tip

      See: Managing Channels - Basic Channel Functions

      Delete an existing channel.

      To delete a channel, edit this channel and click on Delete Channel command over the channel tabs.

      A confirmation dialog box will pop up and request for a confirmation before deleting the channel.

      Note

      With this command, the selected channel is deleted but not its different items. Gateway configurations, message definitions and transformation are still available in your catalogues.

      2.1.7. Metadata

      Tip

      See: Managing Channels - Basic Channel Functions

      Metadata is information about other data such as file name, channel or environment ID, mail addresses... that can be used as data to customize system outputs.

      Metadata is useful to customize your own system output such as output file name and e-mail subject or body text.

      All system metadata lists hereunder can be used when necessary.

      Changing value assigned to a system metadata in drag and drop transformation

      In drag and drop transformation you can use and route metadata linked to incoming message such as Input File Name, Input User... On the other hand, you can also add your own metadata in the Message Definition Out pane and map any node to this metadata. To add such a metadata, right click on User defined metadata and choose Add in the contextual menu.

      This new metadata will then be available in following processing steps, for example it can be used in email notification body text as illustrated hereunder.

      Drag and drop transformation with metadata

      Figure 2.7. Drag and drop transformation with metadata


      Using metadata to customize messages and file names

      You can use system or user defined metadata in your output gateways and email notification configuration. The metadata values can be used to name output files sent through output gateways. or as part of a notification email subject and or body. The metadata used may even be different for success or failure messages as shown in following figures.

      System metatada are referenced using syntaxt {com_babelway_messaging_context_***}. A list of available system metadata with returned variables and examples is available in System Metadata appendix.

      System metadata used to customize notification emails

      Figure 2.8. System metadata used to customize notification emails


      System metadata used to customize file names

      Figure 2.9. System metadata used to customize file names


      User defined metatada are referenced using syntaxt {user-defined-property:your_metadata} where your_metadata is the name of your user defined metadata you want to reference as illustrated in the following example where the earlier user defined metadata is used as a name for the file sent as email attachment.

      User defined metadata used to customize attachment name

      Figure 2.10. User defined metadata used to customize attachment name


      Concatenate values from a loop in a metadata

      If you want to concatenate multiples values from a loop in a single metadata such as a message reference or a user defined metadata, you have 2 options:

      1. Use a full custom xpath:

      • Do not map any loop.

      • Create a Xpath custom expression such as:

      string-join (YOUR_XPATH, 'YOUR_SEPARATOR')

      Where YOUR_XPATH is the path to all the element you want to concat such as:

      /ediroot/interchange/group/transaction/loop/segment[@Id='NAD' and element[@Id='NAD01'] = 'BY']/element[@Id='NAD02']/subelement[@Sequence='1']

      or

      /csv/line/field1

      Or drag a repeated element (such as the line hereover) on the custom function. All field1 elements under the repeated element will be concatenated and separated by the given separator.

      $arg1/field1

      YOUR_SEPARATOR is the separator between two elements of the list such as ' - ' for example.

      2. Use the functions get-metadata and set-metadata

      • Map the loops to the output metadata

      • Create a Xpath custom expression with the following expression:

        metadata-util:put($MSG,'com_babelway_messaging_context_message_reference', bfn:concat('YOUR_PREFIX', 'YOUR_SEPARATOR', 'YOUR_SUFFIX', metadata-util:get($MSG,'com_babelway_messaging_context_message_reference'), $arg1))

        Where

        • YOUR_PREFIX is the prefix added at the beginning of the result, ex: ' here is the list of value: '

        • YOUR_SEPARATOR is the separator added between the different elements, ex: ' '

        • YOUR_SUFFIX is the suffix added at the end of the result ex: [i ' '[/i]

      • Drop the value of the element to the expression (= $arg1 )

      • Map the expression to the metadata

      2.2. Message Edit Functions

      Tip

      See: Managing Channels - Message Edit Functions

      Description of all functions available for message management such as nodes management, validation setup, xml editor, loops and choice management, etc.

      2.2.1. Message Definition

      Tip

      See: Managing Channels - Message Edit Functions

      All messages are described in a graphical form using a tree structure with multiple nodes and node types that can be further configured.

      Once a new message format has been saved or during edition of existing messages, the message tree is rendered in the Visual Editor in a hierarchical and graphical form as illustrated below.

      In Visual Editor, you can further configure and set up message format as well as add verification rules as explained in following chapters.

      Message edit screen

      Figure 2.11. Message edit screen


      Nodes

      The message tree representing a hierarchical view of the message is based on three node types:

      Node types

      Figure 2.12. Node types


      • (1) A value node is the representation of a business value in the message.

        • represents a fixed static value defined as an xml element.

        • represents a standard value depending on message file defined as an xml element.

        • represents a fixed static value defined as an xml attribute.

        • represents a standard value depending on message file defined as an xml attribute.

          Note

          A message item will be defined as an xml element or attribute depending on xml generation or translation tool that has been used. The main difference for Babelway platform is that an attribute is unique and cannot be repeated inside an element. So you cannot use loops with these attribute items.

      • (2) A structural node has no value, but is used to group nodes or specify a hierachy between nodes. It also has a representation in the message.

        • represents root level message node.

        • represents any other structural node.

      • (3) A virtual node has no representation in the message but brings subsequent information concerning this message, like value multiplicity or possible structure alternatives. There are two different value nodes: Loop and Choice/Option nodes.

        • represents a loop node.

        • represents a choice node.

        • represents an option node, used together with a choice node.

      Note

      Each value of structural node is either required or not.

      Contextuel menu

      When you right click on message nodes, a context menu such as the one illustrated below will open. This menu displays a set of commands available for selected node. All possible commands are listed hereunder and described in details in referenced chapters.

      Edit screen contextual menu

      Figure 2.13. Edit screen contextual menu


      Edit Element enables you to modify node name, to add a node description, to define a static value and to tag node as required. Refer to Message Definition for detailled informations.

      Duplicate makes a copy of selected node and all its children if any. You should modify duplicated nodes name according to your system to avoid any problem at message processing time.

      Hide and Show makes node (and its children if any) visible or not in the transformation tab. This function is used to simplify transformation step by not displaying nodes that do not require mapping. Note that if a hidden node is already mapped, it remains mapped in the transformation tab but cannot be modified.

      Delete removes selected node (and its children if any). A confirmation message box is displayed before deletion.

      The Add Validations... submenu allows you to select one or more criteria that must be met by a node in order for the message to be properly processed by the system. If any of these criteria is not met, message will not be processed and an error will be raised. Refer to Message Validation for detailled informations.

      Create Loop, Remove from Loop, Put in next/previous Loop enables you configure loops in your message. These loops are used to manage repetitive elements such as multiple items lines in a message. Refer to the Managing Loops chapter for detailled informations.

      Create Choice, Remove from Choice, Put in next/previous Choice enables you configure choices and options in your message. These choices are used to manage different mutually exclusive message configurations. Refer to the Managing Choice chapter for detailled informations.

      Additional commands

      • Save command saves the message format modifications. Until saving, changes will not be available in the transformation tab.

      • Reset removes message definition and comes back to message definition wizard.

      • Show Advanced Properties displays additional message properties including changeable name and description.

      Note

      Once you have completed this setup, do not forget to save it using the Save command.