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.