Reference manual for the integration software CargoWise Connector 7.2 (CWC), including CargoWise Connector Setup (CWCS) and CargoWise Connector Manager (CWCM)
System requirements
- Microsoft Windows Server 2019 version 1903 or newer.
- Microsoft SQL Server/Express 2017 or newer.
- .NET Framework 4.8
- Setup
In order to setup your installation of CWC with CWCS you must have installed CWC from the Software Centre. Please see “CargoWise Connector 7 - Getting started”. It consists of several panels. Not all are enabled all the time. For example, the Upgrade panel is not enabled on a new installation.
Configure
Settings managed by CWCS need the CWC service to be restarted before they take effect.
Visualization
| Setting | Description | Value | Example |
| Alias | The text label displayed in CWCM when connecting to this installation. The default alias is “CargoWise Connector” | Business Centre 1 | |
| Color | The color of the left side of CWCM. The default color is blue |
Default Gray Green Orange Purple Red Yellow |
Orange |
| Page size | How many rows from the log tables are gong be shown at a time in CWCM while paging | 100 |
Interface
Settings for the API used by CargoWise Connector Manager (CWCM)
| Setting | Description | Value | Example |
| Authentication |
CWC provides basic HTTP authentication. Create (at least) one administrator user through CWCM before enabling this setting |
||
| Authorization |
CWC provides access control in two different ways: 1/ What kind of operations a user can execute and 2/ By restricting access to certain parts of the content tree |
||
| Enable binding | To activate HTTP | ||
| Port | The port for HTTP | 24780 | |
| Host | To what address the socket should be bound to | any | |
| Enable binding (with SSL) | To activate HTTPS | ||
| Port | The port for HTTPS | 24781 | |
| Host | To what address the socket should be bound to | any | |
| Certificate | Server certificate file | ||
| Private key | Private key for server certificate file |
Processing
Settings for the API used by any RunTime Worker Process (RTWP)
| Setting | Description | Value | Example |
| Enable binding | To activate TCP | ||
| Port | The port for TCP | 24680 | |
| Host | To what address the socket should be bound to | any | |
| Enable binding (with SSL) |
To activate TCPS TCPS is prioritized if enabled and then TCP is then obsolete |
||
| Port | The port for TCPS | 24681 | |
| Host | To what address the socket should be bound to | any | |
| Certificate | Server certificate file | ||
| Private key | Private key for server certificate file | ||
| Enable crash dump | Enables proprietary crash dumps (if an RTPW would crash) in favor of potential native operating system crash dumps |
Database
Settings for the Log database.
Note that these settings only apply to transactions and logging done by CWC itself. Any SQL operations done by an Execute item (see below) use their own database settings.
| Setting | Description | Value | Example |
| Enabled | When using CWC with HTTP Conversions only and no authorization is used, there’s no need to use a database | ||
| Connection string | The ODBC connection string used by CWC to for the log database used | DSN=MyTransactions | |
| Command timeout | If not set, the drivers default timeout is used | ||
| Max concurrent operations | Certain DBMS installations might have some limitations in their license. This options limits CWC’s concurrent operations to the log database. | ||
| Max number of attempts | Maximum number of attempts to execute an operation to handle temporary glitches. If an attempt fails, the connection is dropped and another connection, possible new, is used for upcoming attempts. |
Folders
Here we can configure the directories that CWC uses for different requirements.
| Setting | Description | Value | Example |
| Archive | Where backup files are moved to and bulk files are stored during archiving (see below) | ||
| Content | Where the items users can configure via CWCM (and other files) are placed | ||
| Deposit | Where all files (such as temporary downloaded files (.dat) and sequence number files (.num)) created by CWC during processing | ||
| Dumping | Where all potential RTWP crash dumps (if enabled) ends up | ||
| Licence | Where CWC looks for the license files | ||
| Logging | Where trace files are stored. | ||
| Message | Where all the message backup files stored (until archived) | ||
| Recycle | The root folder for removed items | ||
| Session | Where the server session log files are stored | ||
| Storage | Where all holder content is unpacked, stored and used during server session. |
Events
| Setting | Description | Value | Example |
| Enable | Logging of events to database. If Match is selected, all user events will be logged even without match. |
None Match All |
|
| Flush intervals seconds idle | Seconds to wait to flush (send) events after the last event arrived. | ||
| Flush interval seconds total | Seconds to wait to flush (send) events since the first event arrived. | ||
| Flush records threshold | Maximum events to keep before flush (send) occurs. |
Archiving
| Setting | Description | Value | Example |
| Enabled | If just HTTP Conversions are used, there is no reason to have the archive mechanism enabled. | ||
| Archive older than | Transactions and Events are removed from the log database (and backup files are moved) if they’re older than this threshold. | ||
| States to dispose | Log transactions and related backup files with selected states will get culled (and not archived) |
Completed Discarded Error Aborted Cleared |
HTTP Listener
| Setting | Description | Value | Example |
| Enabled | If HTTP Conversions are used, the listener mechanism needs to be enabled |
Install
This panel allows for creation of various artifacts (and not installation of binaries) needed by CWC as a second part of the overall installation process.
Create database
For most use cases of CWC, a database is required (but not all). When the configuration for the database is chosen, press the Create button to create the database.
Connection string
The ODBC connection string used during the creation phase of the log database. Unless the override option is enabled, this uses the same connection string as specified in the Configure panel.
Create SQL login for default service account
If this option is enabled, the create database command will create a SQL login for the default service account (see Create service) and grant that login access to the log database.
Setup database
Creates the log database tables as a separate step (from creating database) for flexibility. Press the Create to create the database contents.
Connection string
The ODBC connection string used during the creation phase of the log database tables. Unless the override option is enabled, this uses the same connection string as specified in the Configure panel.
Create service
Creates a Windows service entry for CWC (but it is possible to run CWC in other ways). The service is configured to run as the local system account.
Create default items
For most use cases with CWC it is easier to install a few predefined items (they can be updated and/or removed later in CWCM).
Upgrade
This upgrades content, settings and possible database design to the latest version. Just as with Install, it will either use the database connection specified on the Configure panel, or an overridden one.
Diagnostics
This page in CWCS contains information useful for troubleshooting.
Server log
The system uses a file based session log to write technical information and some errors and CWCS shows the content of the most current log file.
Items
Every configurable business unit is called an item. There are four primary kinds of items that provides immediate business value; adapters, routings, executes and scheduled tasks. The others handle facilities such as load balancing, scheduling, monitoring, archiving, etc.
Messages and message passing are all file based internally, including backup and archiving.
Business steps and flows
Each item that provides an immediate business value is called a step and several steps in a sequence is called a flow.
All executed steps are logged as transactions.
Each step may have multiple targets.
Adapters
Pattern expansion
Theres a mechanism called expand pattern that can be addressed in some adapter settings.
| Value | Description |
| %% | Escape % |
| %n | Sequence number |
| %d | Date CCYYMMDD |
| %u | Date YYMMDD |
| %t | Time hhmmss |
| %h | Hour hh |
| %d | Minute mm |
| %s | Second ss |
| %y | Year CCYY |
| %Y | Year YY |
| %M | Month MM |
| %D | Day DD |
| %g | A GUID |
| %i | Transaction Id |
| %r | RemoteId |
Macro expansion
For (typically) out adapters, each protocol setting could contain the <MACRO> keyword that will be expanded with possible incoming macro data. The macro data may be set with an Execute process or mapping on a step and to be updated throughout the whole flow as the argv[9] variable. If macro data can be split into several separate values with the syntax of <MACRO([index], “[separator expression]”> with index from 1 and separator expression as a regex.
This can be tested in the Review action in CWCM.
Consider macro data value of “v1;v2;v3"”
| Setting | Result |
| AAA <MACRO> AAA | AAA v1;v2;v3 AAA |
| BBB <MACRO(2,";")> BBB | BBB v2 BBB |
Common settings
Adapters are how data comes into and leave CWC and all support these common settings.
| Setting | Description | Value | Example |
| Schedule | Schedule for schedule driven adapters (in contrast to event driven) | ||
| Targets | Items targeted with the message for further processing in the flow | ||
| Override | Settings for overriding adapter specific settings | ||
| Event policy | The Event Policy used for possible events occurring during processing of messages | ||
| Backup policy | The Backup Policy used for backing files created whilst processing messages | ||
| Run exclusive | Whether this adapter should do its processing in an exclusive operating system process | ||
| Retries | Number of retries for each message if a problem occurs | ||
| Interval | The duration between the retries |
Input
Input adapters receives or retrieves messages and forwards them to its targets in the business flow. The adapter could be event based (triggered by the message itself) or scheduled based (triggered by a Schedule).
Folder
Scans one single local or remote folder for files.
| Setting | Description | Value | Example |
| Folder path | Absolute path to local folder or relative path to remote share |
c:\import\ \import\ |
|
| File mask | File mask | *.xml | |
| Remote | Remote resource name | \\server\files | |
| Domain | Domain name of the remote resource | ||
| Username | Username for authentication at remote location | ||
| Password | Password for authentication at remote location | ||
| Keep remote file | Do not delete file after retrieval |
FTP Client
Monitors a single folder on an FTP server for files.
| Setting | Description | Value | Example |
| Host | Server host address | ||
| Port | Server port | 21 | |
| Username | Username | ||
| Password | Password | ||
| Account | Account data sent with ACCT command | ||
| Path | Path to search for files | /export/orders | |
| File mask | File mask | *.json | |
| Mode | FTP mode |
EPSV PASV EPRT PORT |
|
| Certificate | SSL client certificate | ||
| Private key | Private key for client certificate | ||
| Private key password | Passphrase to private key | ||
| Verify certificate host | Verify the certificate's name against host | ||
| Verify peer certificate | Verify the client SSL certificate | ||
| Use SSL |
Use explicit FTPS. Implicit FTPS is not supported. Max TLS 1.2 |
||
| Keep remote file | Do not delete file after download | ||
| ANSI file listing | Treat server paths as ANSI-encoded | ||
| Ignore list error | Do not create an error event if the file listing fails | ||
| Disconnect after each command | Disconnect from server after each command | ||
| Proxy type | Type of proxy |
No Proxy ProxySocks4 ProxySocks5 ProxySocks4A ProxySocks5 Hostname SSL HTTP 1.0 HTTP |
|
| Proxy host | Proxy host address | ||
| Proxy port | Proxy host port | ||
| Proxy username | Proxy username | ||
| Proxy password | Proxy password |
SFTP Client
Monitors a single folder on an SFTP server for files.
| Setting | Description | Value | Example |
| Host | Server host address | ||
| Port | Server port | 21 | |
| Username | Username | ||
| Password | Password | ||
| Path | Path to search for files | /export/orders | |
| File mask | File mask | *.json | |
| Known hosts | Reference to a txt holder containing a known hosts list | ||
| Private key | Private key file for SSH auth | ||
| Private key password | Passphrase to private key | ||
| Keep remote file | Do not delete file after download | ||
| ANSI file listing | Treat server paths as ANSI-encoded | ||
| Ignore list error | Do not create an error event if the file listing fails | ||
| Disconnect after each command | Disconnect from server after each command | ||
| Proxy type | Type of proxy |
No Proxy ProxySocks4 ProxySocks5 ProxySocks4A ProxySocks5 Hostname SSL HTTP 1.0 HTTP |
|
| Proxy host | Proxy host address | ||
| Proxy port | Proxy host port | ||
| Proxy username | Proxy username | ||
| Proxy password | Proxy password |
Pull messages from an POP3 email server
| Setting | Description | Value | Example |
| Host | Server host address | ||
| Port | Server port | 110 | |
| SSL | SSL mode |
None Implicit Explicit |
|
| Username | Username | ||
| Password | Password | ||
| Sender filters | Receive only email(s) whose address matches one of a given list. Leave blank to receive all emails. | ||
| Subject filter | Receive only email(s) whose subject contains the given substring. Leave blank to ignore subject matching. | info | |
| Message placement | What part of the email to use as message content |
Body Attachment Body+Attachment |
|
| Binary attachment | If the attachment is binary use this option. | ||
| Security Token Type | OAuth2 Security Token Type |
None OAuth2 Client Credentials – Client Secret OAuth2 Client Credentials – Client Assertion |
|
| Authorization URL | OAuth2 Authorization URL | ||
| Client Id | OAuth2 Client Id | ||
| Scope | OAuth2 Scope | ||
| Client secret |
OAuth2 Client secret Available when using OAuth2 Client Credentials – Client Secret |
||
| Certificate |
OAuth2 Client certificate Available when using OAuth2 Client Credentials – Client Assertion |
||
| Private key |
OAuth2 Client certificate private key Available when using OAuth2 Client Credentials – Client Assertion |
HTTP Client
Retrieve messages from an HTTP or HTTPS server.
| Setting | Description | Value | Example |
| Scheme | Use SSL or not |
http:// https:// |
|
| Host | HTTP server host | edi.customer.com | |
| Port | HTTP server port | 443 | |
| Path | Path | /export | |
| HTTP Method | HTTP method |
GET PUT POST PATCH DELETE |
|
| Headers | List of headers to add to the request | See section about expanding patterns | Accept: application/json |
| Message | Static content to add to the request | ||
| Message placement | Where content of the Message setting is placed in the request |
Body Multipart Query |
|
| Response identification header | Content from this response header will be logged as transaction RemoteId | OrderNumber | |
| Response code whitelist |
Transaction is successful if the http response code matches any entry in the whitelist. The entries are matched with regex |
2[0-9]{2} 200|401 |
|
| Certificate authority bundle | Certificate Authority (CA) bundle | ||
| Certificate |
SSL client certificate
Could be a PEM or a DER holder |
||
| Private key | Private key file for SSL client cert Could be a PEM or a DER holder |
||
| Private key password | Passphrase to private key | ||
| Verify certificate host | Verify the certificate's name against host | ||
| Verify peer certificate | Verify the client SSL certificate | ||
| Username | Username using basic authentication | ||
| Password | Password using basic authentication | ||
| Proxy type | Proxy type | ||
| Proxy host | Proxy host | ||
| Proxy port | Proxy port | ||
| Proxy username | Proxy username | ||
| Proxy password | Proxy password | ||
| Response timeout | Maximum time the transfer is allowed to complete | ||
| Security Token Type | Security Token Type |
None OAuth2 Client Credentials – Client Secret OAuth2 Client Credentials – Client Assertion |
|
| Security Token Type | OAuth2 Security Token Type |
None OAuth2 Client Credentials – Client Secret OAuth2 Client Credentials – Client Assertion |
|
| Authorization URL | OAuth2 Authorization URL | ||
| Client Id | OAuth2 Client Id | ||
| Scope | OAuth2 Scope | ||
| Client secret |
OAuth2 Client secret Available when using OAuth2 Client Credentials – Client Secret |
||
| Certificate |
OAuth2 Client certificate Available when using OAuth2 Client Credentials – Client Assertion |
||
| Private key |
OAuth2 Client certificate private key Available when using OAuth2 Client Credentials – Client Assertion |
HTTP Server
Create an HTTP server and create messages from HTTP calls.
| Setting | Description | Value | Example |
| Scheme | Use SSL or not |
http:// https:// |
|
| Host | Interface to listen on |
localhost 127.0.0.1 192.168.1.100 |
|
| Port | Port to listen on | ||
| Path | Request path to listen on | /import | |
| HTTP methods | Accept these HTTP methods |
GET PUT POST PATCH DELETE |
|
| Header filters | Accept requests only when request headers match this filter | See section about expanding patterns | |
| Request identification header | Content from this request header will be logged as transaction RemoteId | ||
| Message relation | Response strategy |
Datagram Reply Request |
|
| Response headers | List of headers to add to the response | See section about expanding patterns | |
| Certificate | Server certificate | ||
| Private key | Private key for server certificate | ||
| Username | Only accept requests with these basic authentication credentials | ||
| Password | Only accept requests with these basic authentication credentials |
IBM MQ
Pull messages from a queue.
| Setting | Description | Value | Example |
| Manager | Manager | ||
| Channel | Channel (for remote server) | ||
| Host | Host (for remote server) | ||
| Queue | Queue name | ||
| Message filter | Message filter | ||
| Correlation filter | Correlation filter |
MS MQ
Pull messages from a queue.
| Setting | Description | Value | Example |
| Queue path | Queue path | ||
| Queue format | Queue format |
Custom
Use an EDI-C script built with CargoWise Mapper from a provided template to create / retrieve messages.
| Setting | Description | Value | Example |
| Cep holder | Cep holder | ||
| Arguments | Arguments to the EDI-C script |
Output
Output adapters handle messages that have been forwarded by another item in the business flow. The adapter could be event based (triggered by the message itself) or scheduled based (triggered by a Schedule).
Folder
Places messages in a local or remote folder
| Setting | Description | Value | Example |
| Folder path | Absolute path to local folder or relative path to remote share | See section about expanding patterns |
c:\export\%g.edi \export\%d\%g.edi |
| Create missing directory | Try to create the target folder if it does not exist | ||
| Append | Append the message to existing file | ||
| Remote | Remote resource name | \\server\files | |
| Domain | Domain name of the remote resource | ||
| Username | Username for authentication at remote location | ||
| Password | Password for authentication at remote location |
Push message to an email server
| Setting | Description | Value | Example |
| Host | Server host address | ||
| Port | Server port | ||
| SSL | SSL mode |
None Implicit Explicit |
|
| Username | Username | ||
| Password | Password | ||
| Sender | Which address the email(s) are sending from. | ||
| Recipients | List of address the email is sent to. | ||
| Subject | The subject of the email. | ||
| Message placement | Where message is placed |
Body Multi-Attachment |
|
| Encoding | Transfer encoding |
quoted-printable 7bit 8bit base64 binary |
|
| File name pattern | File name of attachment | See section about expanding patterns | |
| MIME | MIME headers to add to the email | ||
| Security Token Type | Security Token Type |
None OAuth2 Client Credentials – Client Secret OAuth2 Client Credentials – Client Assertion |
|
| Authorization URL | Authorization URL | ||
| Client Id | Client Id | ||
| Scope | Scope | ||
| Client secret |
Client secret Available when using OAuth2 Client Credentials – Client Secret |
||
| Certificate |
Client certificate Available when using OAuth2 Client Credentials – Client Assertion |
||
| Private key |
Client certificate private key Available when using OAuth2 Client Credentials – Client Assertion |
FTP Client
Push messages to an FTP server
| Setting | Description | Value | Example |
| Host | Server host address | ||
| Port | Server host port | ||
| Username | Username | ||
| Password | Password | ||
| Account | Account data sent with ACCT command | ||
| Upload path | Path to uploaded message both folder and filename | See section about expanding patterns | /incoming/%g.edi |
| Use SSL |
Use explicit FTPS. Implicit FTPS is not supported. Max TLS 1.2 |
||
| Create missing directory | If upload folder does not exist, try to create it | ||
| ANSI file listing | Treat server paths as ANSI-encoded | ||
| Append | Append to the remote file | ||
| Move to path | After successful upload move the uploaded file to this path (absolute or relative to the folder in Upload path) | See section about expanding patterns | |
| Mode | FTP Mode |
EPSV PASV EPRT PORT |
|
| Certificate | SSL client certificate | ||
| Private key | Private key for client certificate | ||
| Private key password | Passphrase to private key | ||
| Verify certificate host | Verify the certificate's name against host | ||
| Verify peer certificate | Verify the client SSL certificate | ||
| Disconnect after each command | Disconnect from server after each command | ||
| Proxy type | Proxy type |
No Proxy ProxySocks4 ProxySocks5 ProxySocks4A ProxySocks5 Hostname SSL HTTP 1.0 HTTP |
|
| Proxy host | Proxy host | ||
| Proxy port | Proxy port | ||
| Proxy username | Proxy username | ||
| Proxy password | Proxy password |
SFTP Client
Push messages to an SFTP server
| Setting | Description | Value | Example |
| Host | Server host address | ||
| Port | Server host port | ||
| Username | Username | ||
| Password | Password | ||
| Upload path | Path to uploaded message both folder and filename | See section about expanding patterns | /incoming/%g.edi |
| Create missing directory | If upload folder does not exist, try to create it | ||
| ANSI file listing | Treat server paths as ANSI-encoded | ||
| Append | Append to the remote file | ||
| Move to path | After successful upload move the uploaded file to this path (absolute or relative to the folder in Upload path) | See section about expanding patterns | |
| Known hosts | Reference to a txt holder containing a known hosts list | ||
| Private key | Private key file for SSH auth | ||
| Private key password | Passphrase to private key | ||
| Disconnect after each command | Disconnect from server after each command | ||
| Proxy type | Proxy type |
No Proxy ProxySocks4 ProxySocks5 ProxySocks4A ProxySocks5 Hostname SSL HTTP 1.0 HTTP |
|
| Proxy host | Proxy host | ||
| Proxy port | Proxy port | ||
| Proxy username | Proxy username | ||
| Proxy password | Proxy password |
HTTP Client
Push messages to an http server
| Setting | Description | Value | Example |
| Scheme | Use SSL or not |
http:// https:// |
|
| Host | HTTP server host | edi.customer.com | |
| Port | HTTP server port | 443 | |
| Path | Path | /import | |
| HTTP method | HTTP method |
GET PUT POST PATCH DELETE |
|
| Headers | List of headers to add to the request | See section about expanding patterns | |
| Message placement | Where in the request to place the content of the message |
Body Multipart Query |
|
| Response identification header | Content from this response header will be logged as transaction RemoteId | ||
| Response code whitelist |
Transaction is successful if the http response code matches any entry in the whitelist. The entries are regexp |
2[0-9]{2} 200|401 |
|
| Certificate authority bundle | Certificate Authority (CA) bundle | ||
| Certificate |
SSL client certificate Could be a PEM or a DER holder |
||
| Private key |
Private key file for SSL client cert Could be a PEM or a DER holder |
||
| Private key pasword | Passphrase to private key | ||
| Verify certificate host | Verify the certificate's name against host | ||
| Verify peer certificate | Verify the client SSL certificate | ||
| Username | Username using basic authentication | ||
| Password | Password using basic authentication | ||
| Proxy type | Proxy type | ||
| Proxy host | Proxy host | ||
| Proxy port | Proxy port | ||
| Proxy username | Proxy username | ||
| Proxy password | Proxy password | ||
| Response timeout | Maximum time the transfer is allowed to complete | ||
| Security Token Type | Security Token Type |
None OAuth2 Client Credentials – Client Secret OAuth2 Client Credentials – Client Assertion |
|
| Authorization URL | Authorization URL | ||
| Client Id | Client Id | ||
| Scope | Scope | ||
| Client secret |
Client secret Available when using OAuth2 Client Credentials – Client Secret |
||
| Certificate |
Client certificate Available when using OAuth2 Client Credentials – Client Assertion |
||
| Private key |
Client certificate private key Available when using OAuth2 Client Credentials – Client Assertion |
HTTP Server
Push message as a response to an HTTP Server Input Adapter using message relation request.
| Setting | Description | Value | Example |
| Response code | Static response code used in response to request | 200 | |
| Headers | List of headers to add to the response | See section about expanding patterns | Name: Value |
IBM MQ
Push messages to a queue.
| Setting | Description | Value | Example |
| Manager | Manager | ||
| Channel | Channel (for remote server) | ||
| Host | Host (for remote server) | ||
| Queue | Queue | ||
| Reply manager | Reply manager property on MQ message | ||
| Reply queue | Reply queue property on MQ message |
MS MQ
Push messages to a queue.
| Setting | Description | Value | Example |
| Queue path | Queue path | ||
| Create queue | Create queue | ||
| Queue label | Queue label | ||
| Queue format | Queue format | ||
| Max message size | Max message size | ||
| Transaction queue | Transaction queue |
Custom
Push message using an EDI-C script
| Setting | Description | Value | Example |
| Cep holder | Cep holder | ||
| Arguments | Arguments to the EDI-C script |
Processing
If the business flow requires some kind of transformation between their endpoints, a processing item can be inserted wherever suitable.
| Setting | Description | Value | Example |
| Schedule | The schedule for schedule-driven processing (in contrast to event driven) | Every 5 minutes. | |
| Event policy | The policy used for possible events occurring during processing messages | ||
| Backup policy | The policy used for backup files created during processing messages | ||
| Process group | The group this item belongs to | ||
| Instances |
The maximum of instances of this item that can be run in parallel Set to one (1) instance ensures serialized processing |
||
| Timeout | Timeout for processing a message before processing is terminated | ||
| Runtime version | The EDI-C runtime version Only 64-bit runtimes is supported |
default | |
| Trace | Enables trace creation while running any EDI-C program or mapping. |
Execute
An execute item provides (of historical reasons) two ways of manipulating a message in this step.
An execute step map consist of either:
A manually written EDI-C program to manipulate the message, extract data from the message or do any other suitable operations that is possible through EDI-C. You can make these from a Process template in CargoWise Mapper.
An EDI-C mapping program generated by a graphical map in CargoWise Mapper.
| Setting | Description | Value | Example |
| Process | EDI-C script | ||
| Mapping | EDI-C mapping | ||
| Targets | Items targeted with the message for further processing in the flow |
Routing
The system provides a mean to make a decision to where in the flow a message should continue.
The routing is done by a separate item that refers to execute items that make the decision to what execute steps will follow.
Technically (for historical reasons) the routing item and the execute items are executed as one single roundtrip, but are logically two or more steps.
| Setting | Description | Value | Example |
| Target | |||
| Min route hits | |||
| Max route hits |
Scheduled Task
A scheduled task is the only business item that doesn’t handle any message and is normally triggered by a schedule (but can technically be triggered by another step or manually) and is just a means to execute a given EDI-C script.
| Setting | Description | Value | Example |
| Cep holder |
Tuning
Some parts of the business flow can be somehow tuned in order to facilitate CPU in various ways.
Separate process
There’s a setting for adapters to force them to execute in a separate process that can improve throughput a bit, but also uses more processes.
Process groups
Items for routing, executes and tasks are always executed in a separate process one step at a time.
The system can have several process groups and each group can be configured with max number of pipelines (processes) it uses and such process can only process one step at a time.
To increase the number of pipelines in a process group, give items belonging to that group extra attention by the system and possibly faster throughput.
Process Group
| Setting | Description | Value | Example |
| Pipelines | The number of threads/processes this group at the most can utilize |
Instances
All adapters run in a separate single instance and there are no race conditions there.
Items running in a process group can within that group be configured with maximum number of instances for a step running instances in parallel that can be used for quite low level fine tuning within that group.
This feature can be used to make a certain step only run at maximum one (1) instance (serial) at a time that sometimes can be useful to maintain ordering of messages or such.
This applies to Executes, Routings and Scheduled Tasks.
Holders
These holders contain data that can be referenced for use with CWC. This allows them to be moved around the system while still maintaining relationships between items..
Data is copied from the data part in the holder during creation or updating and placed in the Storage-folder named with item id and file extension and can thus potentially also be used by mappings and processes.
New data can be copied into the holder, updating the system if needed, e.g. when a mapping has been changed, or a certificate needs updating.
Cep Holder
| Setting | Description | Value | Example |
| Cep File |
The data Base64 encoded into holder and decoded to storage |
Pem Holder
| Setting | Description | Value | Example |
| Pem File | The data Bytes copied into holder and copied to storage (already a Base64 format) |
Der Holder
| Setting | Description | Value | Example |
| Der File | The data Base64 encoded into holder and decoded to storage |
Txt Holder
| Setting | Description | Value | Example |
| Txt File |
The data/text UTF8 encoded into holder and copied to storage |
Triggering
Message
Some flows can be automatically triggered by an incoming message, such as folder input adapter, http server adapters, etc.
Schedule
The system contains an item type for trigger flows via schedules. The schedule defines when items that refer to it will be triggered.
While you can configure a schedule with intervals, and periods when it is active, it does not enable or disable associated items, just initiates them.
A single schedule can contain multiple entries.
| Setting | Description | Value | Example |
| Interval | The time duration between every triggering | ||
| Start date | Absolute (future) start | 2027-04-01 | |
| Stop date | Absolute (future) stop | 2032-12-24 | |
| Start time |
Start of activity for each day This setting may also work as an offset for the interval duration (e.g. hourly from 09:15) |
00:00:07 | |
| Stop time | End of activity for each day | 18:00:00 | |
| Include months | Which months this entry should be active | 1, 4, 7, 10 | |
| Include weeks of year | Which weeks (ISO-8601) this entry should be active | 42 | |
| Include days of month | Which days this entry should be active | 1, 2, 3, 4, 5, 6, 7 | |
| Include days of week | Which days this entry should be active | Monday |
Manual
Some items can be triggered manually (or “Run Now”). When that’s done, they will be triggered without an incoming message (i.e. a backup file). If there’s already at least one message in the queue, triggering a new one won’t have any effect.
Triggering output adapters (historically) works in a slightly different manner and is more or less making the adapter consume its queue.
Reporting
Events
The system and items can all publish events. These events can be caught by event policy items which can be configured to write the events to database or forward it to a target item (e.g. an email output adapter).
Each policy can be shared with many items, but each item can only be associated with one event policy.
Event Policy
| Setting | Description | Value | Example |
| Mask | The expression to invoke this policy comparing event types | :error | |
| Expression type |
Contains is substring to find Search is regex to find sub sequence of event type Match is regex check for whole event policy type |
Contains Search Match |
|
| Notes | Text possibly ending up in produced notification | ||
| Targets | Target items to forward the event notification caught by this policy |
Monitoring
Most of the monitoring items can also be configured to publish events that can be caught by an event policy.
System
Queue Metric
There’s an item to be used to monitor all, or certain, queues to see message count and throughput.
| Setting | Description | Value | Example |
| Folders | List of folders (and its subfolders) to monitor. If no folders are present the metric item monitors the folder (and subfolder) where it is placed. |
Orders/ Payments/ |
|
| Schedule | The Schedule used for updating the metrics. Without a schedule it will only become updated with manual triggering. |
||
| Event policy | The Event Policy used for creating events if the result is out of range. | ||
| Max | Max number of total messages on queues this item monitors. | 1000 |
Pipelines
Process Metric
This is used to monitor all, or certain, pipelines for a process group to see use count and throughput.
| Setting | Description | Value | Example |
| Folders | List of folders (and its subfolders) to monitor If no folders is present the metric item monitors the folder (and subfolder) where it is places |
Orders/ Payments/ |
|
| Schedule | The Schedule used for updating the metrics Without a schedule it will only become updated with manual triggering |
||
| Event policy | The Event Policy used for creating events if result is out of range | ||
| Max | Max number of total busy pipelines this item monitors | 100 |
Business
There are items to monitor the log tables in the database. These essentially do searches and count rows etc. with Search Event and Search Transaction.
The same mechanism can be used to search for server sessions and also content in server log files with Search Server Session.
Configuration
There are a few items just to reuse settings between other items.
Backup
The system constantly archives backup files.
Backup Policy
This item with can be reused by items to configure some of the behavior with backup files.
| Setting | Description | Value | Example |
| Backup folder | Path to folder that will override backup folder set in CWCS | D:\Special\Folder | |
| Keep file | Duration until deletion/culling of backup file | 30 |
Settings
It is possible to override and reuse certain settings for adapters and execute items (i.e. items that handles a message).
Settings
This can contain specific settings for adapters and executes and that can be reused to override the adapter – or execute specific settings and an item can refer to many of these override setting items.
| Setting | Description | Value | Example |
Overview
There are a few mechanisms to group items to reflect some kind of business need and to make an overview of the system easier, such as using the tree structure, add tags to items, add documentation or use a collection.
Collection
This item has a sole purpose to group items and give them a common description.
| Setting | Description | Value | Example |
| Items | Items belonging to this collection |
HTTP Conversions
These offer a means to execute EDI-C mapping scripts through an HTTP interface that is a standalone mechanism without logging and event handling. If Connector is only used to run HTTP Conversions, it does not need any logging database configured.
HTTP Listener
This item pretty much represents a http server.
| Setting | Description | Value | Example |
| Host | To what address the socket should be bound to | any | |
| Port | What port to listen to | 80 | |
| Use SSL | |||
| Certificate | |||
| Key |
HTTP Conversion
This item serves as a resource to the http server defined by the referenced Listener.
| Setting | Description | Value | Example |
| Listener | Which listener a conversion uses | ||
| HTTP Methods | GET, POST | ||
| Path | /orders/transform | ||
| Program | The holder with the EDI-C script | ||
| Authentication | |||
| Username | |||
| Password |
Manager
The CargoWise Connector Manager (CWCM) can be accessed via a web browser after the CargoWise Connector service has been started. The default URL is http://[server_ip_or_name]:24780/.
To access CWCM you need a modern web browser.
When browsing CWCM the browser URL will reflect your current view. That means you can share the URL with colleagues to link to a specific view, item and transaction. Or use it in a new tab.
CWCM should only be exposed to your local network.
Layout
- Main menu
2. Side bar – content of the side bar depends on the current page.
Main menu
The main menu lets you choose the active page.
On the bottom of the menu you can find the server alias and the server version. Ther server alias can be configured in the CargoWise Connector Setup application.
The main menu can be collapsed and expanded by clicking the collapse/expand button in the upper right corner of the menu.
Pages
Manage
The manage page lets you configure and monitor your business flows.
a) System tree
b) List item action menu
c) View selection menu
d) Address bar
e)Transaction details
System tree
The system tree shows the structure of your server. It can show relationship between items and perform actions on items, folders and files.
When an item is expanded related items are displayed. Items related in a flow are indicated with a direction.
The system tree can be configured to show only a sub set of item types via the Tree configuration button/menu.
To search for artifacts use the Find button, or press f on the keyboard, to bring up the find form. Search by name, type and/or tags.
Actions
| Action | Description | Affected artifacts |
| Start | Starts the selected items | 1..n |
| Stop | Stops the selected items | 1..n |
| Run now | Trigger the selected item | 1 |
| Rename | Rename the selected artifact | 1 |
| Move | Move the selected artifacts to a another path | 1..n |
| Clone | Clone the selected item | 1 |
| Replace with | Replace the selected item with another item in all business flows where it is currently used. | 1 |
| Download | Download the configuration for the selected item | 1 |
| Update | Update the selected item configuration with a configuration file from your local file system. | 1 |
| Insert message | Insert a message into the queue of the selected item | 1 |
| Move to recycle bin | Move the selected artifacts to the recycle bin. This is the default behavior when pressing the delete key. | 1..n |
| Delete | Completely remove the selected artifacts. | 1..n |
| Use as root | Use the selected folder as root in the system tree. | 1 |
| Set sequence number | Set the sequence number (%n pattern expansion) for the selected item | 1 |
| Load from disk | Loads the selected items into the server. | 1..n |
| Drop from server | Unloads the selected items from the server. | 1..n |
Available actions might depend on the selected artifacts.
List item action menu
When rows in a list are selected and actions are available the list item action menu become visible.
Address bar
The address bar shows the path to the current artifact.
View selection menu
Select view. Depending on the current artifact type some views might not be available.
View
The view displays various information about the current artifact. View type is selected in the View selection menu.
Transaction details
The transaction details pane shows information about a transaction.
The transaction flow shows parent, sibling and child transactions.
The detail tabs show information about the transaction selected in transaction flow.
Layout of the pane can be changed via the layout button.
Close the pane with the close button or by pressing esc.
Filtering and searches
Note that when using “Within last …” a year actually means approximately 365.25 days and a month is approximately 30.5 days.
Create
Besides items these can be created:
| Type | Description |
| Folder | A folder where items, files and subfolders can be placed |
| File | A file, e.g. ini/json/xml etc |
| NUM-file | A num-file with an initial value |
Views
Transactions
View transactions for the selected item or folder with subfolders. Click a transaction row to open the transaction details pane.
Transactions can be filtered using the filter function.
Transaction actions can be applied to transactions.
Actions
| Action | Description |
| Reprocess | Reprocess the selected transactions |
| Abort | Abort the selected transactions |
| Delete | Delete selected transactions and optionally the children |
| Copy to clipboard | Copy the selected transaction rows with all columns with tab separation to the clipboard. |
| Set state | Set state of transactions and add an optional comment. |
| Add comment | Add a comment to the selected transactions. |
| Clone | Clone the selected transaction and add an optional event. The cloned transaction will keep the parent but have no children. |
| Delete trace | Delete trace file for the selected transactions |
Events
View events for the selected item or folder with subfolders.
The events can be filtered using the filter function.
Actions
| Action | Description |
| Copy to clipboard | Copy the selected events with all columns with tab separation to the clipboard |
Edit
Edit configuration details for an item or content of a file. Edit view for a folder displays a detailed list of artefacts in the folder.
Queue messages
View messages in an item queue. The corresponding transaction can be opened by clicking the message row.
Actions
| Action | Description |
| Abort | Abort the transaction |
Runtime details
View runtime details for process group and adapters. When a pipeline or adapter is executing the corresponding transaction can be opened by clicking the process row.
Actions
| Action | Description |
| Abort message | Abort the processing transaction |
| Terminate processing | Terminate the processing transaction. The option Verify still processing current message makes sure that termination will only occur for the specified message. |
Queue metrics
Show queue metrics for items in folder and subfolders. Click on an item row to open Queue messages for that item.
Process metrics
Show process metrics for process groups in folder and subfolders.
Recycle bin
Show items placed in the recycle bin.
Actions
| Action | Description |
| Restore | Restore the selected items to their original path. Items will be restored in stopped state. |
| Delete | Delete the selected items. This cannot be undone. |
Activity monitor
By using a combination of search and metric items, tags and schedule the activity monitor can show notifications when configured criteria are met.
Admin
Server sessions
View server session log. Server sessions can be filtered using the filter function.
Server metrics
Various metrics.
Users and groups
Manage users and groups.
Access
Set access rules for folders. For access rules to be applied authentication and authorization must be enabled in the server.
Server information
License information. Usage of licensed resources.
Settings
User settings
Change settings for the current user.
| Setting | Description |
| Dark mode | Toggle dark mode |
Change password
Change password for the current user.
0 Comments