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. A PIP is essentially the definition of an XML document to be exchanged with a partner and the rules of how the document is exchanged.
Defining the RNIF Endpoint
This table describes the fields you used to define the RNIF Endpoint.
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 Tab |
|
||||||||||||||||||||||||||||||
Outbound Tab |
|
||||||||||||||||||||||||||||||
Certificates |
|
||||||||||||||||||||||||||||||
Advanced |
|
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.
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. |
Requester 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 mailbox 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 mailbox 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 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. |
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.