RosettaNet Connector

Version 23.4.8839


RosettaNet Connector


The RosettaNet connector sends and receives messages following the RosettaNet Implementation Framework (RNIF) standard.

Overview

A RosettaNet connection is configured in two places. Configure the RosettaNet Profiles page with a local RosettaNet identifier, and private certificates. Then configure individual RosettaNet connectors with connection settings specific to a single trading partner. When an input file is processed by a RosettaNet connector, it is packaged and sent to the specified trading partner.

When CData Arc receives a file over RosettaNet, it attempts to route the file to a specific RosettaNet connector. The application uses the RosettaNet identifiers in the RosettaNet message to determine which RosettaNet connector should receive the file. When a file is routed to a RosettaNet connector, that file is placed in the connector’s Output tab, or is passed along to the next connector in the flow.

Profile Configuration

The RosettaNet Profile must be configured before connections can be established with individual RosettaNet connectors. Click Profiles on the top menu bar, then click the RosettaNet tab.

RosettaNet Profile Tab

Personal Id

Settings for identifying the local profile.

  • Business Identifier Your identifier. Messages sent by Arc include this value in outgoing messages to identify the sender. Incoming messages must be addressed to this identifier. Identifiers are case-sensitive.
  • Business Location Describes the location of the receiver for incoming messages. This value is not an address, but it can be a city name.

Personal Certificate

Settings related to the private decryption and signature certificate.

  • Private Certificate The certificate used to decrypt incoming messages and sign outgoing messages. Never share this certificate with external parties. Click the Create Certificate button to generate a self-signed certificate that is ready to use in a RosettaNet transaction: a corresponding public key is also generated with the same filename and a .cer extension.
  • Certificate Password The password required to access the Private Certificate.

Application URLs

Settings and displayed values related to accessing Arc from the public web.

  • Receiving URL The URL at which Arc listens for incoming RosettaNet messages. Share this URL with all your trading partners.

Miscellaneous

Miscellaneous settings are for specific use cases.

  • Other Settings Enables you to configure hidden connector settings in a semicolon-separated list (for example, setting1=value1;setting2=value2). Normal connector use cases and functionality should not require the use of these settings.

Connector Configuration

Once you configure the global RosettaNet profile settings, create and configure individual RosettaNet connectors for each trading partner on the Flows page.

Settings Tab

Configuration

Settings for identifying and connecting to a specific RosettaNet trading partner.

  • Connector Id The static, unique identifier for the connector.
  • Connector Type Displays the connector name and a description of what it does.
  • Connector Description An optional field to provide a free-form description of the connector and its role in the flow.
  • Business Identifier The identifier specific to the target trading partner. This value is included in the headers for outgoing messages, and is also used to route incoming messages to the appropriate RosettaNet connector.
  • Business Location The location of the outgoing message recipient.
  • Partner URL The trading partner’s public endpoint where outgoing messages should be sent.

Connection Info

Settings related to connection parameters for the specified trading partner.

  • RNIF Version The protocol version to use when generating RosettaNet messages.
  • Encryption Type Whether to encrypt the payload, the payload and the headers, or neither.
  • Data Signature Whether to sign outgoing messages.
  • Receive Message Security Whether to require that signatures and encryption are present for incoming messages. An error is thrown if a received message does not have a required security parameter.
  • Connection Timeout The length of time (in seconds) the connector waits for a connection response before throwing a timeout error.
  • Test Indicator Controls the GlobalUsageCode in the preamble header. Check this to set the code to Test. If left unchecked, the code is Production. Only required when RNIF Version is 1.1.

Acknowledgments

Settings related to RosettaNet acknowledgments.

  • Automatic Acknowledgments Whether acknowledgments should be automatically sent in response to incoming RosettaNet messages.
  • Automatic Exceptions Whether exceptions should be automatically sent in response to failed messages.
  • Require Acknowledgment Whether acknowledgments should be returned in response to outgoing RosettaNet messages.
  • Security Whether acknowledgments should include a signature block verifying the message integrity and identity of the recipient.
  • Delivery Whether acknowledgments should be returned as a direct response to the outgoing RosettaNet message (Synchronous) or returned later as part of a separate connection (Asynchronous). Synchronous receipts are recommended unless the size of the RosettaNet message is very large (50MB is a common threshold), in which case processing the message and delivering a synchronous receipt might strain the connection timeout duration.

Trading Partner Certificates

Settings related to the public key certificates provided by the trading partner.

  • Encryption Certificate The public key certificate used for RosettaNet encryption when sending messages. This certificate must be paired with the trading partner’s private decryption certificate, and the trading partner should provide this public key certificate when sharing RosettaNet configuration details.
  • Verification Certificate The public key certificate used to verify RosettaNet signatures when receiving messages. This field is usually unnecessary; most RosettaNet parties use the same private certificate for both signing and decrypting. If this field is not specified, the application uses the Encryption Certificate to verify signatures.
  • TLS Server Certificate The public key certificate used to verify the identity of an TLS/SSL server. This is only necessary if the partner’s RosettaNet system requires HTTPS instead of HTTP. If the trading partner does not provide a TLS server certificate, you can leave this setting blank to allow the underlying OS/JVM to perform certificate validation, or it can be set to Any Certificate to unconditionally trust the target server’s identity.

Automation Tab

Automation Settings

Settings related to the automatic processing of files by the connector.

  • Send Whether files arriving at the connector are automatically sent as RosettaNet messages.
  • Retry Interval The number of minutes before a failed send is retried. A retry is triggered when the server does not respond to a send attempt, or responds negatively to communicate that the file was not received.
  • Max Attempts The maximum number of times the connector processes the input file. Success is based on a successful server acknowledgement and validation of the receipt (when requested synchronously). If you set this to 0, the connect retries the file indefinitely.
  • Resend Interval The number of minutes before unacknowledged messages are resent. A resend is triggered when the server receives the file, but an asynchronous acknowledgment is not provided within the expected timeframe.
  • Max Attempts (async) The maximum number of times the connector processes the input file when asynchronous acknowledgments are requested. Success is based on the return of an asynchronous receipt within the Resend Interval after a successful server acknowledgement. If a successful server acknowledgement is not returned, Max Attempts is applied instead. If this is set to 0, the connector resends the file indefinitely.

Performance

Settings related to the allocation of resources to the connector.

  • Max Workers The maximum number of worker threads consumed from the threadpool to process files on this connector. If set, this overrides the default setting on the Settings > Automation page.
  • Max Files The maximum number of files sent by each thread assigned to the connector. If set, this overrides the default setting on the Settings > Automation page.

Alerts Tab

Settings related to configuring alerts and Service Level Agreements (SLAs).

Connector Email Settings

Before you can execute SLAs, you need to set up email alerts for notifications. Clicking Configure Alerts opens a new browser window to the Settings page where you can set up system-wide alerts. See Alerts for more information.

Service Level Agreement (SLA) Settings

SLAs enable you to configure the volume you expect connectors in your flow to send or receive, and to set the time frame in which you expect that volume to be met. CData Arc sends emails to warn the user when an SLA is not met, and marks the SLA as At Risk, which means that if the SLA is not met soon, it will be marked as Violated. This gives the user an opportunity to step in and determine the reasons the SLA is not being met, and to take appropriate actions. If the SLA is still not met at the end of the at-risk time period, the SLA is marked as violated, and the user is notified again.

To define an SLA, click Add Expected Volume Criteria.

  • If your connector has separate send and receive actions, use the radio buttons to specify which direction the SLA pertains to.
  • Set Expect at least to the minimum number of transactions (the volume) you expect to be processed, then use the Every fields to specify the time frame.
  • By default, the SLA is in effect every day. To change that, uncheck Everyday then check the boxes for the days of the week you want.
  • Use And set status to ‘At Risk’ to indicate when the SLA should be marked as at risk.
  • By default, notifications are not sent until an SLA is in violation. To change that, check Send an ‘At Risk’ notification.

The following example shows an SLA configured for a connector that expects to receive 1000 files every day Monday-Friday. An at-risk notification is sent 1 hour before the end of the time period if the 1000 files have not been received.

Advanced Tab

Alternate Local Profile

Settings that override the configuration on the Profiles page for this specific RosettaNet connector. Setting an alternate local profile lets you use different local certificates and identifiers for certain trading partners.

  • Local Business Location Your location. Overrides Business Location on the Profiles page.
  • Local Business Identifier Your identifier. Overrides Business Identifier on the Profiles page.
  • Private Certificate The certificate used to decrypt incoming messages and sign outgoing messages. Overrides Private Certificate on the Profiles page.
  • Certificate Password The password required to access the local private certificate.

TLS Client Authentication

Settings related to client authentication when two-way TLS authentication is required.

  • Use Profile Whether to use the Private Certificate configured on the Profiles page as the TLS certificate for client authentication.
  • Private Certificate The private certificate presented during TLS client authentication. Only applicable if you are not using the private certificate on the Profiles page.
  • Certificate Password The password required to access the TLS client certificate.

HTTP Authentication

Settings related to HTTP client authentication.

  • HTTP Authentication Whether to use client HTTP authentication.
  • HTTP Authentication Type Whether to provide HTTP authentication credentials in an encrypted format (Digest) or in plain text (Basic). Only use Basic authentication if the the connection is an HTTPS connection (instead of HTTP).
  • User The user credential for HTTP client authentication.
  • Password The password credential for HTTP client authentication.

Proxy Settings

These are a collection of settings that identify and authenticate to the proxy through which the RosettaNet connection should be routed. By default, this section uses the global settings on the Settings Page. Clear the checkbox to supply settings specific to your connector.

  • Proxy Type The protocol used by a proxy-based firewall.
  • Proxy Host The name or IP address of a proxy-based firewall.
  • Proxy Port The TCP port for a proxy-based firewall.
  • Proxy User The user name to use to authenticate with a proxy-based firewall.
  • Proxy Password A password used to authenticate to a proxy-based firewall.
  • Authentication Scheme Leave the default None or choose from one of the following authentication schemes: Basic, Digest, Proprietary, or NTLM.

Advanced Settings

Settings not included in the previous categories.

  • Processing Delay The amount of time (in seconds) by which the processing of files placed in the Input folder is delayed. This is a legacy setting. Best practice is to use a File connector to manage local file systems instead of this setting.
  • RNIF Debug Mode Whether communication errors related to the validation of PIPs or the authentication of the sender should be returned by RosettaNet receivers. This setting must be enabled on both sides of the transfer for the exceptions to be returned.
  • Signature Algorithm The algorithm to use when signing outgoing messages.
  • TLS Enabled Protocols The list of TLS/SSL protocols supported when establishing outgoing connections. Best practice is to only use TLS protocols. Some obsolete operating systems do not support TLS 1.2.
  • Secure Transport Check this to require security when forwarding messages.

Message

Message settings determine how the connector searches for messages and manages them after processing. You can save messages to your Sent folder or you can group them based on a Sent folder scheme, as described below.

  • Save to Sent Folder A toggle that instructs the connector to keep a copy of sent messages in the Sent folder.
  • Sent Folder Scheme Instructs the connector to group files in the Sent folder according to the selected interval. For example, the Weekly option instructs the connector to create a new subfolder each week and store all sent files for the week in that folder. The blank setting instructs the connector to save all files directly in the Sent folder. For connectors that process many transactions, using subfolders can help keep files organized and improve performance.

Logging

Settings that govern the creation and storage of logs.

  • Log Level The verbosity of logs generated by the connector. When you request support, set this to Debug.
  • Log Subfolder Scheme Instructs the connector to group files in the Logs folder according to the selected interval. For example, the Weekly option instructs the connector to create a new subfolder each week and store all logs for the week in that folder. The blank setting tells the connector to save all logs directly in the Logs folder. For connectors that process many transactions, using subfolders helps keep logs organized and improves performance.
  • Log Messages Check this to have the log entry for a processed file include a copy of the file itself. If you disable this, you might not be able to download a copy of the file from the Input or Output tabs.

Miscellaneous

Miscellaneous settings are for specific use cases.

  • Other Settings Enables you to configure hidden connector settings in a semicolon-separated list (for example, setting1=value1;setting2=value2). Normal connector use cases and functionality should not require the use of these settings.

Establishing a Connection

Trading partners must provide some of the connection details that are required when you configure a new RosettaNet connector. At a minimum, these details should include:

  • Business Identifier
  • Partner URL
  • Partner Certificates

Business Identifier

Your trading partner is identified by their business identifier in a RosettaNet transaction. When sending outgoing requests, the business identifier is used in the header of the request to indicate the recipient.

To establish a RosettaNet self-test, the identifier should be set to the same value as the Business Identifier on the Profiles page.

Note: This value is case-sensitive.

Partner URL

The Partner URL is the endpoint where the trading partner receives RosettaNet transmissions. Outgoing RosettaNet messages are sent to this target endpoint, which much be unique for each trading partner. You can test the Partner URL with a web browser to check for networking or connectivity issues.

To establish a RosettaNet self-test, the target URL should be identical or nearly identical to the Receiving URL on the Profiles page. You can replace the domain name from the Profiles page with the loopback address localhost to keep the RosettaNet transaction in the local network. An example local self-test URL is http://localhost:8001/pub/Receive.rsb.

If you do not replace the domain name with localhost, the RosettaNet message is routed outside of the local network. You can use this to check network configuration settings and to make sure that the message can reach Arc through any firewalls.

Partner Certificates

Each RosettaNet connector must be configured with certificate(s) for the target trading partner. The trading partner provides the certificates necessary to encrypt and verify RosettaNet messages exchanged with them. Arc accepts X.509 public key certificates (files with .cer, .der, or .pem extensions).

Typically the trading partner provides a single certificate, which should be configured in the Encryption Certificate field.

If the trading partner provides multiple certificates, they should clarify the purpose of each certificate. If the partner provides a full certificate chain (as acquired from a commercial certificate authority), only the leaf certificate (the last certificate in the chain) needs to be configured.

Send and Receive Files

Once the RosettaNet profile and partner-specific RosettaNet connectors have been configured, files can be securely sent and received.

Send Files

In a RosettaNet connector, the Input tab displays the files to be sent to the target trading partner. If Send Automation is enabled on the Automation tab, files that reach the Input tab of the connector are automatically packaged and sent. Access the log files for all transmissions by expanding the row associated with the transmitted file.

On the Input tab, choose More > Create Test Files to generate a simple series of test files to send to the trading partner.

Resend and Retry

A RosettaNet Resend is triggered when the trading partner is expected to return an asynchronous ackowledgment, but fails to do so within the Resend Interval duration (60 minutes by default). The application then attempts to resend the transmission. The application continues resending the message until an acknowledgment is received or the Max Attempts (async) is exhausted.

A Retry is triggered when the HTTP response from the trading partner indicates that the server has not received the transmission. This can indicate a networking or connectivity issue, which is often transient. The application retries the transmission every Retry Interval minutes until the transmission is received or the Max Attempts is exhausted.

Receive Files

In a RosettaNet connector, the Output tab displays the files that have been received by the application and routed to the connector (based on the RosettaNet identifiers present in the incoming RosettaNet message). Expand each file row to display a list of available logs for the transmission.

These files are available on the connector Output tab. If the connector is connected to other connectors in the flow, files are automatically moved from the Output tab of the RosettaNet connector to the Input tab of the next connector in the flow.

The RosettaNet protocol does not allow for actively pulling files from trading partners: the RosettaNet connector can only passively wait for a trading partner to send a file.

Configuring PIPs

Partner Interface Processes (PIPs) are the logical XML documents used by RosettaNet to transport information about various business processes. The following is a list of common PIPs:

3A1 Request Quote
3A2 Request Price and Availability
3A3 Request Shopping Cart Transfer
3A4 Request Purchase Order
3A5 Query Order Status
3A6 Distribute Order Status
3A7 Notify of Purchase Order Update
3A8 Request Purchase Order Change
3A9 Request Purchase Order Cancellation
3A10 Notify of Quote Acknowledgement
3A13 Notify of Purchase Order Information
3A14 Distribute Planned Order
3B1 Distribute Transportation Projection
3B2 Notify of Advance Shipment
3B3 Distribute Shipment Status
3B4 Query Shipment Status
3B5 Request Shipment Change
3B6 Notify of Shipments Tendered
3B11 Notify of Shipping Order
3B12 Request Shipping Order
3B13 Notify of Shipping Order Confirmation
3B14 Request Shipping Order Cancellation
3B18 Notify of Shipment Documentation
3C1 Return Product
3C2 Request Financing Approval
3C3 Notify of Invoice
3C4 Notify of Invoice Reject
3C5 Notify of Billing Statement
3C6 Notify of Remittance Advice
3C7 Notify of Self-Billing Invoice