The RosettaNet Implementation Framework (RNIF) is the protocol for packaging, routing, and transferring RosettaNet XML documents. Each interaction between two companies is defined by a Partner Interface Process (PIP) specification, which defines the XML document to be exchanged with a partner and the rules for exchanging it.
RNIF Endpoint settings
An RNIF Endpoint lets CIC exchange these documents with a trading partner. The settings below are grouped on the Endpoint page as follows: General, Inbound, Outbound, Certificates, and Advanced.
General
Use these fields to identify your trading partner and your own organization, and to choose the RNIF version used for communications. The partner URL and both IDs are required. The location IDs are optional and are sent in the RNIF headers when provided.
| Field | Description |
|---|---|
| Partner URL |
Either a fully qualified name (recommended) or an IP address for the host. Required. |
| Partner ID |
Your partner's DUNS number or the agreed upon identifier. Required. |
| Partner Location ID | The optional target location to be sent in RNIF headers. |
| My ID |
Your DUNS number or the agreed upon identifier. Required. |
| My Location ID | Your optional location to be sent in the RNIF headers. |
| RNIF Version | The version of RosettaNet to use for communications. Select v2.0 or v1.1. |
Inbound
Use the Inbound tab to control how CIC handles documents your trading partner sends to you. You can require HTTPS for inbound transfers, choose the format in which CIC writes incoming documents, and define the PIPs that are allowed for inbound messages.
| Field | Description |
|---|---|
| Require HTTPS | Indicates whether your trading partner is required to use HTTP/s only for inbound file transfers. |
| Content Format |
Indicates the format in which incoming documents are written. The options are Original, Wrapped XML, Wrapped CDATA, and Wrapped BASE64. If you select an option other than Original, you can select the option to "Use Content For Two-Action Only". See Incoming Documents. |
| Partner Interface Processes (PIPs) | The list of PIPs defined for Inbound messages. See Working with PIPs. |
Outbound
Use the Outbound tab to define the PIPs used for messages you send to your trading partner. The PIP list is the only setting on this tab.
| Field | Description |
|---|---|
| Partner Interface Processes (PIPs) | The list of PIPs defined for Outbound messages. See Working with PIPs. |
Certificates
Use the Certificates tab to specify the certificates used to encrypt, decrypt, sign, and verify messages exchanged with your trading partner. If you enable encryption or signing on any PIP, you must specify the corresponding certificates here.
| Field | Description |
|---|---|
| Partner Encryption Certificate |
Used to encrypt outgoing messages sent to your trading partner. See Selecting a Certificate in Endpoint Security. |
| Partner Signing Certificate |
Used to verify a signature from an incoming message that is signed. This certificate is optional. See Selecting a Certificate in Endpoint Security. |
| My Encryption Certificate |
Used to decrypt an incoming message. This certificate is optional. See Selecting a Certificate in Endpoint Security. |
| My Signing Certificate |
Used to sign outgoing messages. See Selecting a Certificate in Endpoint Security. |
Advanced
Use the Advanced tab to fine-tune TLS behavior, restrict which IP addresses can connect to the Endpoint, and select a subdomain. Most Endpoints work with the default values, so change these settings only when your partner’s requirements or your security policies call for it.
| Field | Description | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Allow TLS Legacy Renegotiation | When selected, legacy renegotiation is allowed. If this property is not selected, the extension described in RFC5746 is used for renegotiation and the server must also support this extension. See RFC5746 for a description of the extension and the vulnerability it addresses. | ||||||||||||||
| TLS Minimum Protocol Version | Specifies the minimum protocol version allowed. SSL 3.0 is the default value for compatibility with servers that do not support the more recent TLS versions 1.0, 1.1, 1.2, and 1.3. | ||||||||||||||
| TLS Maximum Protocol Version | Specifies the maximum protocol version allowed. By default, this field is blank, designating that CIC will select the most recent version (currently TLS 1.3). | ||||||||||||||
| TLS Minimum Key Size (bits) | Specifies the minimum encryption key size allowed when selecting an SSL cipher. To prevent the use of low- or medium-strength ciphers, change from the default value of 0 to 112, 128, or 256 (depending on the requirement). Note that if this value is set too high, all ciphers are filtered out causing the No suitable cipher suites are enabled exception to occur. | ||||||||||||||
| TLS Ciphers | Indicates a specific cipher to be used with the server for key exchange, encryption, and hashing. If not set, the list of supported ciphers is presented to the server and the server picks one. | ||||||||||||||
| Check TLS Certificate Server Name | Verifies that the server name in the received TLS certificate matches the server name actually connected to. | ||||||||||||||
| Inbound IP Whitelisting |
Specifies the IP addresses allowed to connect to this Endpoint. IP addresses can be a single address or a range of addresses. Enter addresses or address ranges one per row or separate them using commas. Note: This capability is not available on Endpoints using Cleo's Limited Primary/Failover IP Network. See Limited Primary/Failover IP Network for more information. The following are examples of valid IP addresses:
|
||||||||||||||
| Subdomain | If you have more than one subdomain, select the one you want to use for this Endpoint. Note: This field appears only when you have more than one subdomain. |
||||||||||||||
| Events |
CIC allows you to send notification email to one or more recipients upon successful Send to or Receive from this Endpoint. Use the Upon successful Send to this Endpoint... and Upon successful Receive from this Endpoint... fields to specify the recipients. Recipients can be CIC users or external recipients. CIC users receive more detailed emails and benefit from a type-ahead dropdown when entering names, while external recipients get a simpler email and require full email addresses to be entered manually. For all recipients, the notification email includes a link where the recipient can opt out of notifications from this Endpoint or all Endpoints. If a recipient opts out of these notifications, their email address no longer appears in the list of recipients you specified. |
Interfacing with RNIF
Since each PIP is, in essence, a different document channel, a PIP code must be identified with each document to be sent and/or received. If you use only one PIP and it is a single-action PIP, then the PIP can be automatically identified; otherwise, a PIP code must be associated with a document either via the PUT command or by using the CIC proprietary RosettaNet document wrapper as outlined below.
Outgoing Documents
Example wrapper for an outgoing request (single-action or two-action PIP):
<w:pip xmlns:w="http://www.cleo.com/protocols/RosettaNet/wrapper/1.0" pipCode="3A1" pipVersion="*">
<w:serviceContent>
...
PIP XML service content request document goes here
...
</w:serviceContent>
</w:pip>
Example wrapper for an outgoing response (two-action PIPs only):
<w:pip xmlns:w="http://www.cleo.com/protocols/RosettaNet/wrapper/1.0" pipCode="3A1" pipVersion="*"
pipInstanceId="1234567" actionType="response">
<w:serviceContent>
...
PIP XML service content response document goes here
...
</w:serviceContent>
</w:pip>For an outbound message, the following attributes are used in root <pip> element:
| Element | Description | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| <pip> |
Required. Root element.
|
||||||||||
| <serviceContent> | Required. PIP XML service content (payload). |
The service content can be specified three ways: as an XML fragment, text as part of a CDATA section, or as Base64 encoded data.
Content as XML Fragment
If the content does not have a DOCTYPE declaration (either no validation or schema validation), it can be included as an inline XML fragment:
...
<w:serviceContent>
<Pip3A1QuoteRequest>
...
</Pip3A1QuoteRequest>
</w:serviceContent>
...Content as CDATA Section
If the content has DOCTYPE declaration, it must be wrapped in a CDATA section or encoded as Base64. The following is an example of CDATA wrapped content:
...
<w:serviceContent>
<![CDATA[
<!DOCTYPE Pip3A1QuoteRequest SYSTEM "3A1_MS_V02_00_QuoteRequest.dtd">
<Pip3A1QuoteRequest>
...
</Pip3A1QuoteRequest>
]]>
</w:serviceContent>
... Content as Base64 Encoded Data
The content data can be encoded as Base64 data. If encoded, the attribute encoding="base64" must be added to the <serviceContent> element.
...
<w:serviceContent encoding="base64">
[base64 content goes here]
</w:serviceContent>
... Incoming Documents
Incoming messages can be written in several formats. The raw content can be written as a stand-alone file or the content can be wrapped in XML as described in the previous section.
To control the format of the incoming message, use the Incoming Content Format menu on the Inbound tab and select Two-action only. If Two-action only is selected, then all one-action PIPs will be written in the Original format and the two-action PIPs will follow the Incoming Content Format selection. If Two-action only is not selected, then both one-action and two-action PIPs follow the Incoming Content Format selection. If Original is selected in the Incoming Content Format pull-down menu, then the content is written in separate stand-alone files. If the pull-down selection is Wrapped XML, then the content is wrapped as specified in the previous section, with the content written as an inline XML fragment. If the selection is Wrapped CDATA, the content is saved as text within a CDATA section within the wrapper. If the selection is Wrapped BASE64, then the content is encoded as Base64 data.
For a wrapped incoming message, the following attributes are added to the root <pip> element for your convenience:
| Element | Description | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| <pip> |
Required. Root element.
|
Working with PIPs
You can add new PIPs, edit existing PIPs, and delete PIPs directly from within CIC Cockpit. In addition, you can add new PIPs from scratch or from one of several templates provided with CIC.
Adding a new PIP
When you add a completely new PIP, CIC displays a blank form where you can enter information about the PIP. See PIP Editor for information about the various fields you can enter data in when creating a PIP.
When you save your work, CIC adds the PIP to the PIP List.
Adding a PIP from a template
To add a PIP based on a template, select the template from the drop down list. CIC creates a PIP accordingly and adds it to the PIP List.
Deleting a PIP
In the PIP list, select the check box for the PIP you want to delete and click the Delete button.
Editing a PIP
Click the name of a PIP in the list to open it in the PIP Editor. See The PIP Editor.
Make updates as needed and click OK to save your work.
The PIP Editor
The PIP Editor is displayed when you click the PIP entry in the PIP list. Any field can be updated for pre-defined or user-defined PIPs. PIP specifications can be obtained from RosettaNet at http://www.rosettanet.org/Standards/RosettaNetStandards/PIPDirectory/tabid/476/Default.aspx . The values for the fields in these tabs can be obtained from these specifications.
The PIP Editor page contains the following tabs: General, Content, Request, Request Ack, Response, and Response Ack.
General Tab
Use the General tab to specify general naming information for the PIP.
| Parameter | Description |
|---|---|
| PIP Code | The code that uniquely defines the PIP. |
| PIP Version | The version of the PIP specification. Incoming and outgoing messages are mapped to the PIP code and version to determine the rules for processing the message. |
| PIP Description | A user-friendly description of the PIP. This description is displayed in the PIP drop-down on the PIPs form. |
| Requester Role | The initiator role. This value is found in the specification for the PIP. |
| Requester Service | The initiator role's service. This value is found in the specification for the PIP. |
| Responder Role | The message receiver's role. This value is found in the specification for the PIP. |
| Responder Service | The receiver role's service. This value is found in the specification for the PIP. |
| Time to Perform | The total time to perform a two-action PIP. This field is not used for single-action PIPs. The expected value is found in the specification for the PIP. This field should be of the format HH:MM:SS. |
Content Tab
Use the Content tab to specify information related to sending and receiving general message parts.
| Parameter | Description |
|---|---|
| Maximum Resend Attempts | Specify the number of times to attempt resending the request or response when sending a request or response (as applicable to two-action PIPs) results in an error or fails to receive an expected acknowledgment. |
| Encryption | Specify whether no encryption is used (None), whether the service content and service content header are encrypted (Payload container), or just the service content (Payload only) is encrypted. For selections other than None, the encryption algorithm to be used is selected in the Encryption Method field. If an encryption option is selected for any of the PIPs, encryption certificates will need to be specified in the Endpoint's Certificates tab. |
| Sign | Select this check box to digitally sign messages. If Authorization Required is selected on any of the other tabs, you must select this option and sign the message. If you enable signing, the Signing Algorithm to be used can be selected and you must also specify signing certificates in the Endpoint's Certificates tab. See RNIF Mailbox: Certificates Tab. |
| Synchronous Acks | Select this check box to receive synchronous rather than asynchronous acknowledgments to requests and responses. |
| Notification of Failure | Select this check box to initiate notification of failure when a transaction expires or times out. |
Request Tab
Use the Request tab to define the rules for an incoming or outgoing message request.
| Parameter | Description |
|---|---|
| Activity Id | The business activity name for the request. This value is found in the specification for the PIP. |
| Service Action Identity | The action name for the request. This value is found in the specification for the PIP. |
| Authorization Required | Select this check box to compare the signing certificate for the incoming message against the signing certificate specified in the mailbox. |
| Has Response | Select this check box if the PIP is a two-action PIP and will send a response. Clear the check box for single-action PIPs. |
Request Ack Tab
Use the Request Ack tab to define the rules for a request acknowledgment.
| Parameter | Description |
|---|---|
| Time to Acknowledge | The amount of time to wait for a request acknowledgment. If the time expires without an acknowledgment or exception, the original request is resent according to the retries rules. |
| Authorization Required | Select this check box to compare the signing certificate for the incoming message against the signing certificate specified in the mailbox. |
Response Tab
The Response tab defines the rules for a response message. This tab is enabled when the Has Response check box is selected on the Request tab.
| Parameter | Description |
|---|---|
| Activity Id | The business activity name for the response. This value is found in the specification for the PIP. |
| Service Action Identity | The action name for the response. This value is found in the specification for the PIP. |
| Authorization Required | Select this check box to compare the signing certificate for the incoming message against the signing certificate specified in the mailbox. |
Response Ack Tab
Use the Response Ack tab to define the rules for response acknowledgment. This tab is enabled when the Has Response check box is selected on the Request tab.
| Parameter | Description |
|---|---|
| Time to Acknowledge | The amount of time to wait for a response acknowledgment. If the time expires without an acknowledgment or exception, the original response is resent according to the retries rules. |
| Include in Time to Perform | Select the check box if the time for the response acknowledgment is included in the Time to Perform specified on the General tab. |
| Authorization Required | Select this check box to compare the signing certificate for the incoming message against the signing certificate specified in the mailbox. |
RNIF Endpoint commands
PUT
Send one or more files to the host.
PUT -DEL "source" "destination" [pipCode]= .. [pipVersion]= .. [pipInstanceId]= .. [actionType]=request|response -DEL |
If the PUT is successful, delete the local file. |
"source" |
Local source path.
|
"destination" |
Remote destination path
|
| pipCode | The code for a PIP specification. Not needed if only one outgoing PIP. PIPs that can be used with a trading partner are activated and configured in the Inbound and Outbound PIPs list on the RNIF Endpoint page. See RNIF Endpoint for more information. |
| pipVersion | Matches to a particular version of a PIP. Not needed if only one version of the PIP code is active. If no version is specified or the version is set to *, the first occurrence of a configured PIP is used. |
| pipInstanceId | The PIP instance ID uniquely identifies each use of a PIP when documents are sent and received. Not needed for a request. This is really only needed for two-action PIPs in order to associate a response document with the original request document. If a PIP instance ID is not specified, CIC automatically generates one. |
| actionType | Specifies the type of message being sent. Valid values are request and response. The default value is request. Specify response for the response of a two-action PIP. |
pipCode, pipVersion, pipInstanceId, and actionType parameters are not needed if an outgoing file wrapper is being used instead. SET
Change a property value. The new value only affects the commands that follow the SET.
SET property=value| property = value |
Property and new value
|
Valid properties for the SET command are as follows:
| TerminateOnFail |
Valid for all Endpoints configured as source in a Data Flow.
Default value is True. |
WAIT
Pause execution.
WAIT seconds| seconds | Number of seconds to pause. |
Comments
0 comments
Please sign in to leave a comment.