The RosettaNet connector sends and receives messages following the RosettaNet Implementation Framework (RNIF) standard.
Key Capabilities
- RNIF 1.1 and 2.0 support for B2B document exchange
- Automatic message routing with per-partner configuration and flexible encryption/signing options
- Certificate-based security with synchronous/asynchronous acknowledgment handling
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 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 Transactions 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 navbar, then click the RosettaNet tab.
RosettaNet Profile Tab
Personal Id
Settings for identifying the local profile.
| Setting | Description |
|---|
| Business Identifier | Your identifier. Messages sent by 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.
| Setting | Description |
|---|
| 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 from the public web.
| Setting | Description |
|---|
| Receiving URL | The URL at which listens for incoming RosettaNet messages. Share this URL with all your trading partners. |
Miscellaneous
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.
| Setting | Description |
|---|
| 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.
| Setting | Description |
|---|
| 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.
| Setting | Description |
|---|
| 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.
| Setting | Description |
|---|
| 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 a 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. |
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.
| Setting | Description |
|---|
| 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.
| Setting | Description |
|---|
| 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.
| Setting | Description |
|---|
| 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 connection is an HTTPS connection (instead of HTTP). |
| User | The user credential for HTTP client authentication. |
| Password | The password credential for HTTP client authentication. |
Advanced Settings
Settings not included in the previous categories.
| Setting | Description |
|---|
| Processing Delay | The amount of time (in seconds) by which the processing of files placed in the Transactions tab 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. SSL v2 and SSL v3 are considered vulnerable and should only be used if your partner does not support higher versions. Keep in mind that TLS v1.3 is not universally adopted, and might be refused if the destination server does not support it. |
| Secure Transport | Check this to require security when forwarding messages. |
| Local File Scheme | A scheme for assigning filenames to messages that are output by the connector. You can use macros in your filenames dynamically to include information such as identifiers and timestamps. For more information, see Macros. |
Proxy Settings
Message
Logging
Miscellaneous
Automation Tab
Automation Settings
Settings related to the automatic processing of files by the connector.
| Setting | Description |
|---|
| Send Automation | 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 connector 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. |
Alerts Tab
SLAs Tab
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.
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 must 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 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. 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 Transactions 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 Transactions 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 Transactions 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 acknowledgment, 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 Transactions 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 Transactions tab. If the connector is connected to other connectors in the flow, files are automatically moved from the Transactions tab of the RosettaNet connector to the Transactions 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:
| PIP | Description |
|---|
| 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 |
Macros
Examples