Challenge
You want to set up a communication across two Adapter Engines (AEs), because you have each AE in a different network zone. For Dual-Stack Systems you can choose different adapter engines for the sender and receiver channels, but an ICO (Integrated Configuration) is always running on one AE.
Solution
You have to set up two ICO´s, one for each AE.
- For the AE-AE connectivity you use the SOAP adapter in XI 3.0 mode to ensure reliable messaging and keep all the meta data of the SOAP message (e.g. DynamicConfiguration as FileName, Sender IP-Address, etc.).
- For the second ICO do not forget to set the Virtual Receiver in the ICO header data (you can remove the receiver when sending the message from the first ICO via Header Mapping, but we recommend keeping it for transparency reasons).
- Use Channel Templates to facilitate the handling (C2D = central to decentral)
- SOAP_RCV_C2D / SOAP_SND_C2D / SOAP_RCV_D2C / SOAP_SND_D2C
There are two approaches possible that make sense from an interface point of view:
- Out->In=>In->In
- The first ICO is performing the mapping (Out->In) and
- the second ICO is using a Dummy Sender Interface as an Inbound Message
- Out->Out=>Out->In
- The first ICO is only doing the routing keeping the Outbound Interface as the Receiver Message and
- the second ICO is performing the mapping (Out->In)
- The recommendation is to perform the mapping on the Central Adapter Engine, especially if you are using Lookups, then you definitely need both approaches
Example
Scenario 1:
This is a Out->In->In->In case from Central to Decentral Adapter Engine. The mapping takes place in the first ICO.
The interfaces must exactly match (outgoing message of ICO 1 and incoming message of ICO 2). Same applies for Sender and Receiver. The SOAP Sender channel of ICO 2 simply compares the SOAP header data and matches them.
ICO´s:
Scenario 2:
This is a Out->Out->Out->In case from Central to Decentral Adapter Engine. The mapping takes place in the second ICO.
ICO´s:
The setup works in the same way for Decentral => Central Communication (e.g. for incoming EDI messages).
Monitoring
In the Message Monitor of the Adapter Engines you will see:
Central Adapter Engine
- Sender: SAP_ERP_P PurchaseOrder_Out (urn:test.com.pi)
- Receiver: Whitepaper:EDI EDI_Order_In (urn:test.com.edi)
Decentral Adapter Engine
- Sender: SAP_ERP_P EDI_Order_In (urn:test.com.edi)
- Receiver: Whitepaper:EDI EDI_Order_In (urn:test.com.edi)