When a trading partner uses the same email ID for multiple protocols, one protocol gets preference all the time.

When a trading partner uses the same email ID for multiple protocols, one protocol gets preference all the time.

book

Article ID: KB0093878

calendar_today

Updated On:

Products Versions
TIBCO BusinessConnect -
Not Applicable -

Description

Description:
When trying to receive emails from a trading partner with at least two protocols associated to the same sender email address (such as EZComm and EDIFACT). The trading partner will send, using the same email address, EDIFACT messages and EZComm (XML) messages. BC will process all inbound messages as one incomding protocol (either EDIFACT or EZComm).

 

Symptoms:
In a situation where one partner will send, using the same email address, EDIFACT messages and EZComm (XML) messages, the inbound messages are always processed using one protocol and not the other.


Cause:
This is by design. BusinessConnect cannot identify the exact protocol from an inbound email request. There is no information in the incoming email MIME header to indicate what type of message is in the MIME body (EDIFACT data or EZComm). The email data may be encrypted or compressed. BC cannot figure out what is the protocol of the content until the message is unpackaged.

Issue/Introduction

When a trading partner uses the same email ID for multiple protocols, one protocol gets preference all the time.

Resolution

This issue can be worked around by treating all inbound messages as EZComm and then using a BusinessWorks project to route the message for either a EZComm or EDIFACT process. The EDIFACT processing will be done using BusinessConnect's Gateway Server, specifically its inbound HTTP receiver. The following steps can be used to develop the workaround on the protocol preference issue.

-Add EZComm to Partner and to Host participant. 
-Configure Host participants "Valid Email Address List" with the email address(es) of the trading host (as now for EDIFACT) for EDIFACT and EZComm. 
-Configure Partner participant "Valid Email Address List" only - and only - for EZComm. Remove "Valid Email Address List" entry from EDIFACT protocol. 

-Create BC Gateway service for HTTP. 


-Using BusinessWorks, create a process definition with a "Receive Request/Notification" process starter set for EZComm. Within this process definition, dispatch with the following criteria on body/stringData: 
      -If stringData contains within the first 20 characters the string "xml" then branch to standard EZComm XML processing. 
      -If stringData contains within the first 20 characters the string "UNB" then call a "Send HTTP  Request" activity. In this activity, configure the host and port of the inbound HTTP receiver on the Gateway Server as method set "POST". The RequestURI is simple "EDIFACT". "PostData" is a 1:1 mapping of body/stringData. NO "QueryString"! 
       -If none of the above mentioned criteria exists, generate an error.

With this setting ALL messages will be received by EZComm protocol and than dispatched. The BW process definitions for EDIFACT remain as now. For outbound communication the EDIFACT processes remain as they are now, write a process for sending to EZComm for XML messages.

Additional Information

BusinessConnect documentation, BusinessWorks documentation