Routing Inbound Transaction in webMethods.io-B2B Integration using Channel ID

Introduction

This article explains how webmethods.io B2B can be used for routing the inbound transaction based on Channel ID

Audience

It is assumed that readers of this article know

• How to setup B2B enterprise profile and partner on Webmethods.io B2B platform.
• How to create the flow service on webmethods.io integration.

Pre-Requisites

• Set up B2B enterprise profile, partner profile, Business Document.

Topics Covered

• Create Partner specific channel
• Channel assignment to the partner
• Create the custom document
• Create the webmethods.io integration flow service.
• Creating the processing Rule
• Invoke the webmethods.io integration under processing rule action.
• Update the user status based on ChannelID

Why do we need Channel ID for Identification?

• In many cases submitted payload doesn’t have unique value to identify the sender for example: If we have custom xml which doesn’t have any unique value in content to identify the sender or receiver, then in these scenarios channel ID can be used to identify the sender.
• Identify the B2B transaction sender without referring the payload

Points to remember

• When using Channel ID to identify the sender, then receiver will always be selected as Enterprise profile.

• Channel ID and channel name b2b attributes will be added to system, when the document is submitted.

• Above channel information (Channel ID and channel Name) will be available as metadata when the request is submitted to webmethods.io integration.

• Each Partner specific inbound channel can only be assigned to one partner.

• Below screenshot from B2B transaction monitoring page shows where we can verify the attributes added to the system
image

Use Case:

• In our case we will submit the custom invoice xml using Http protocol using Http channel exposed by B2B.
• Processing rule will invoke to process the request.
• Submitted transaction will be identified based on the channel ID.
• Under processing rule action webmethods.io integration is invoked
• This webmethods.io integration is responsible for updating the user status based on channel name.

Create Partner Specific Channel

• Login to webmethods.io B2B dashboard
• Navigate to channel tab on left hand side.
• Create inbound channel.
• Set the partner specific channel to “YES”

Note:

  1. Partner specific channel option is not available for SFTP protocol
  2. Partner specific channel cannot be modified later.

image

image

Channel Assignment to partner

• Navigate to the partner profile
• Go the inbound channel tab within the partner profile.
• Select the newly created channel.

image

Create custom document

• Navigate to webmethods.io B2B business document tab.
• Click on Add document and select the XML type
• Provide the name of document, in our case it is “InvoiceData”.
• Import the document and click save.
• Activate the document.

Create flow service in webmethods.io Integration

• Navigate to webmethods.io integration
• Under flow service section create the new flow service, In our case it is Rcv_Invoice_UpdateStatus.
• Under input tab set the b2b metadata document.

image

• Set the below operation under the flow service
image

• In our case we have put the logic to check the channel name and if it matches the update status in B2B using Change user status operation in B2B Application.
• In our case we are updating the status as “Custom Completed Status”.
image

• Enable the flow service so that it can be invoked over Http

image

Create the processing rule

• Navigate to the processing rule.
• Click on create new processing rule
• Under criteria select the sender as partner profile and receiver as Enterprise profile
• Select the document type as custom document we created in above steps.
• Under action tab select the webmethods.io integration.
• Select the project and then select the flowService from drop down menu.

image

End to End Testing

• Submit the transaction using postman client.
image

• Verify the transaction webmethods.io B2B on monitoring Page

image

image

Monitoring on webmethods.io Integration

• Below screenshot shows the details logged at webmethods.io integration monitor page

image

Note: Attach the webmethods.io integration flowService used in above Demo. Rcv_Invoice_UpdateStatus.zip (8.8 KB)