IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.


#TechXchangePresenter
 View Only

Configuring RNIF Trading Partner Agreements in webMethods.io B2B 

Fri August 29, 2025 07:43 AM

Introduction

This article explains how trading partner agreements can be configured and used in webmethods.io B2B using the RNIF protocol

Audience

It is assumed that readers of this article know how to set up B2B setup using RNIF protocol. In case you skipped the previous article follow the link below webMethods.io B2B processing message using RNIF 2.0 

Pre-Requisites 

Set up B2B enterprise profile, partner profile, Business Document and Processing rule for RNIF and flow service to submit B2B document.

Topics Covered

  • Introduction to TPA
  • Use case
  • Assets development
  • End to End working flow

What is Trading partner agreement (TPA)?

Trading Partner Agreement (TPA) definitions are a set of parameters that help you tailor how documents are exchanged between two trading partners.

Each TPA contains specific information about how documents must be exchanged between two trading partners.

  1. The partner that represents the sender of the documents.
  2. The partner that represents the receiver of the documents.
  3. An agreement ID that identifies the type of TPA (for example, TPAs for EDI business documents use the agreement ID EDITPA).

What’s the use of TPA?

  • webMethods.io B2B does not use TPAs when determining the processing rules to use for a document.
  • Parameters that we specify in the TPA are available for our own use. For example, we can access the TPA information from integrations called by a processing rule.
  • Accessing this information allows you to build a document exchange application that uses the TPA to tailor the exchange of documents between partners.

Use case

  • In our use case Buyer is “XYZ” and Seller is “XYZ”.
  • In this case we will deal with Purchase order request (RNIF PO) and its acknowledgement and response.
  • In the diagram below it can be seen buyers send the Purchase order request to Seller.
  • Seller sends the acknowledgement back to Buyer and after that response to the purchase order is sent to Buyer.
  • When Buyer receives the response (Purchase order confirmation), an acknowledgment is sent from Buyer to Seller.
  • PIP info and process info (like sender role, receiver role, etc.) are fetched using TPA definition.

A screenshot of a computer screen

AI-generated content may be incorrect.

Requirement on webmethods.io B2B

This use case is similar to webMethods.io B2B processing message using RNIF 2.0. We will utilise the existing setup we did in the above-mentioned article, create TPA at both tenants and make the necessary changes in channels configuration and flow services

Create TPA definition at Buyer side And Seller Side

  • Click on Agreements > TPA definitions > Add Definition.
  • Provide name as ‘RNIF3A4PO’.
  • Select ‘ABC’ as Sender.
  • Select ‘XYZ’ as Receiver.
  • Select the appropriate RNIF document under Template Structure.
  • We can either provide TPA details (ProcessInfo, PipInfo, etc) manually or use attached file to upload the same using the ‘Upload TPA data’ button. (File name: RNIFPO_TPA_Data.json)

Graphical user interface, application

Description automatically generated

  • Click on Create and change the TPA status from Proposed to Agreed.

Repeat the same steps and create TPA at seller side as well. 

Modify XYZ_To_XYZ_RNIF_Outchannel at Buyer Side

  • Click on XYZ_To_XYZ_RNIF_Outchannel channel and deactivate it.
  • Click on configuration and under Message enable Defer to TPA.
  • Click on Update and Activate the channel.

Modify Rcv_RNIF3A4_Response_InChannel at Buyer Side

  • Click on Rcv_RNIF3A4_Response_InChannel channel and deactivate it.
  • Click on configuration and under Message enable Defer to TPA. Also, enable Defer to TPA under PIP Information
  • Click on Update and Activate the channel.

Graphical user interface, text, application

Description automatically generated

Modify XYZ_To_XYZ__3A4_PO_RNIFIN and RNIF_3A4_ResponseChannel_out at Seller Side

Follow the same steps to enable Defer to TPA in the above-mentioned channels.

Modify Submit3A4RNIF FlowService in webmethods.io Integration

Since PIP information will be fetched from TPA we don’t need to pass that information which submitting the request to B2B. To achieve the same, we would delete the mapping for the document which was used to send PIP information to B2B.

End to End Testing

Submit the request from source tenant.

Monitoring in B2B

Source Tenant

RosettaNet Object:

------=_Part_9_1597229536.1668751483613

Date: Fri, 18 Nov 2022 06:04:43 +0000 (GMT)

MIME-Version: 1.0

Content-Type: multipart/related;

boundary="----=_Part_8_1529683090.1668751483565";

type="application/xml"

Content-ID: <JTSBNEXQNOUGCPKQBJNY-1668751483565-PXXJFLKGSC>

Content-Description: This is the RosettaNet Business Message

------=_Part_8_1529683090.1668751483565

Date: Fri, 18 Nov 2022 06:04:43 +0000 (GMT)

Content-Type: Application/XML

Content-Transfer-Encoding: quoted-printable

Content-Location: RN-Preamble

Content-ID: <PreambleHeader.0.1259514869206232.1668751483565@sag-b2b-v1012-f8cd5795c-xjmdm>

<?xml version=3D"1.0" encoding=3D"UTF-8"?>

<!DOCTYPE Preamble SYSTEM "Preamble_MS_V02_00.dtd">

<Preamble>

<standardName>

<GlobalAdministeringAuthorityCode>RosettaNet</GlobalAdministeringAuthorityC=

ode>

</standardName>

<standardVersion>

<VersionIdentifier>V02.00</VersionIdentifier>

</standardVersion>

</Preamble>

------=_Part_164_122116326.1658905850670

Date: Wed, 27 Jul 2022 07:10:50 +0000 (UTC)

Content-Type: Application/XML

Content-Transfer-Encoding: quoted-printable

Content-Location: RN-Delivery-Header

Content-ID: DeliveryHeader.0.7868256363823055.1658905850669@sag-b2b-v1011-59bcc6c7b4-tfxvp

Delivery Header:

<?xml version=3D"1.0" encoding=3D"UTF-8"?>

<!DOCTYPE DeliveryHeader SYSTEM "DeliveryHeader_MS_V02_00.dtd">

<DeliveryHeader>

<isSecureTransportRequired>

<AffirmationIndicator>No</AffirmationIndicator>

</isSecureTransportRequired>

<messageDateTime>

<DateTimeStamp>20221118T060443.565Z</DateTimeStamp>

</messageDateTime>

<messageReceiverIdentification>

<PartnerIdentification>

<domain>

<FreeFormText>DUNS</FreeFormText>

</domain>

<GlobalBusinessIdentifier>987659999</GlobalBusinessIdentifier>

</PartnerIdentification>

</messageReceiverIdentification>

<messageSenderIdentification>

<PartnerIdentification>

<domain>

<FreeFormText>DUNS</FreeFormText>

</domain>

<GlobalBusinessIdentifier>123451111</GlobalBusinessIdentifier>

</PartnerIdentification>

</messageSenderIdentification>

<messageTrackingID>

<InstanceIdentifier>0a18586c0000956e000000071668751483570</InstanceIdentifi=

er>

</messageTrackingID>

</DeliveryHeader>

Service Header:

------=_Part_8_1529683090.1668751483565

Date: Fri, 18 Nov 2022 06:04:43 +0000 (GMT)

Content-Type: Application/XML

Content-Transfer-Encoding: quoted-printable

Content-Location: RN-Service-Header

Content-ID: <ServiceHeader.0.1259514869206232.1668751483565@sag-b2b-v1012-f8cd5795c-xjmdm>

Content-Description: RosettaNet-Service-Header

<?xml version=3D"1.0" encoding=3D"UTF-8"?>

<!DOCTYPE ServiceHeader SYSTEM "ServiceHeader_MS_V02_00.dtd">

<ServiceHeader>

<ProcessControl>

<ActivityControl>

<BusinessActivityIdentifier>Create Purchase Order</BusinessActivityIdentifi=

er>

<MessageControl>

<fromRole>

<GlobalPartnerRoleClassificationCode>Buyer</GlobalPartnerRoleClassification=

Code>

</fromRole>

<fromService>

<GlobalBusinessServiceCode>Buyer Service</GlobalBusinessServiceCode>

</fromService>

<Manifest>

<numberOfAttachments>

<CountableAmount>0</CountableAmount>

</numberOfAttachments>

<ServiceContentControl>

<ActionIdentity>

<GlobalBusinessActionCode>Purchase Order Request Action</GlobalBusinessActi=

onCode>

</ActionIdentity>

</ServiceContentControl>

</Manifest>

<toRole>

<GlobalPartnerRoleClassificationCode>Seller</GlobalPartnerRoleClassificatio=

nCode>

</toRole>

<toService>

<GlobalBusinessServiceCode>Seller Service</GlobalBusinessServiceCode>

</toService>

</MessageControl>

</ActivityControl>

<GlobalUsageCode>Production</GlobalUsageCode>

<pipCode>

<GlobalProcessIndicatorCode>3A4</GlobalProcessIndicatorCode>

</pipCode>

<pipInstanceId>

<InstanceIdentifier>0a18586c0000956e000000061668751483564</InstanceIdentifi=

er>

</pipInstanceId>

<pipVersion>

<VersionIdentifier>1.1</VersionIdentifier>

</pipVersion>

<KnownInitiatingPartner>

<PartnerIdentification>

<domain>

<FreeFormText>DUNS</FreeFormText>

</domain>

<GlobalBusinessIdentifier>123451111</GlobalBusinessIdentifier>

</PartnerIdentification>

</KnownInitiatingPartner>

</ProcessControl>

</ServiceHeader>

Service Content:

------=_Part_8_1529683090.1668751483565

Date: Fri, 18 Nov 2022 06:04:43 +0000 (GMT)

Content-Type: Application/XML

Content-Transfer-Encoding: quoted-printable

Content-Location: RN-Service-Content

Content-ID: <ServiceContent.0.1259514869206232.1668751483565@sag-b2b-v1012-f8cd5795c-xjmdm>

Content-Description: RosettaNet-Service-Content

Then actual payload is sent

Target Tenant:

 

Note:

  • Attached the flow service for source tenant and target tenant
  • Attaching the payload
  • TPA data

Details:

RNIFPO_TPA_Data: TPA data for both buyer and seller side.

Submit3A4RNIF: flow service at source tenant. To submit the purchase order request

SendRNIF3A4ResponseConfirmation: flow service at target tenant. To send the PO confirmation response

3A4PayloadRequestSample: PO Sample request submitted from source flow service (Submit3A4RNIF)

Statistics
0 Favorited
11 Views
4 Files
0 Shares
1 Downloads
Attachment(s)
txt file
RNIFPO_TPA_Data.json.txt   675 B   1 version
Uploaded - Fri August 29, 2025
zip file
SendRNIF34AResponseConfirmation.zip   11 KB   1 version
Uploaded - Fri August 29, 2025
zip file
Submit3A4RNIF.zip   10 KB   1 version
Uploaded - Fri August 29, 2025
xml file
3A4PayloadRequestSample.xml   13 KB   1 version
Uploaded - Fri August 29, 2025