Data integration with Salesforce and SAP PI/PO using Outbound Messaging.
One of the challenges for any Salesforce and SAP PI/PO integration project is getting data from Salesforce back to SAP in reliable and secured way. Salesforce provides different ways like Streaming API, Queries using SOAP API or APEX callouts. This blog covers one specific option: Outbound Messaging.
Using Outbound messaging, you can define fields within Salesforce for which a notification will be send to SAP PI/PO when values of these fields are changed. Outbound messaging is part of a workflow rule defined in Salesforce for a specific object.
One important feature of Outboundmessaging is that it guarantees delivery of messages that are not older than 24 hrs. This means that if for some reasons the PI/PO system is temporal inaccessible, Salesforce will retry to deliver the data at later time. However, keep in mind that the data may be out of order when arriving to the PI/PO system.
Example of Outbound Messaging:
We will use the Opportunity object as an example on how to setup Outbound messaging on Salesforce side and how to use the Advantco SFDC adapter to listen for messages from Salesforce.
1. Salesforce – Create a new workflow rule
2. Salesforce – Define a new Outbound message
Create a new Workflow rule for the Opportunity object.
Create an outbound message and assign it to the workflow rule.
Workflow with Outbound message action activated.
3. Salesforce – Download WSDL
4. SAP PI/PO – Import WSDL and generate the PI/PO OBM Web service deployment file.
A web service deployment file is created based the Salesforce Outbound message WSDL file.
5. SAP PI/PO – Deploy and Configure OBM Web service
Deploy and configure the Web service object to listen for incoming notifications from Salesforce.
6. SAP PI/PO – Import WSDL into ESR to generate message structure
Import the Outbound message WSDL from Salesforce into the ESR to define the source message structure.
7. SAP PI/PO – Create sender SFDC channel and create OBM mapping
Create new sender SFDC channel of type Salesforce OBM.
Mapping object Opportunity to the sender OBM channel.
8. SAP PI/PO – Complete Configuration Scenario
9. Salesforce – Update Outbound message endpoint
Copy the endpoint of the Web service OpportunityNotificationPort.
Goto the Outbound Message screen and update the endpoint with the correct endpoint from the PI system.
10. Salesforce – Test Opportunity update
Create a new Opportunity object to trigger an outbound message.
11. SAP PI/PO – Check incoming message from Salesforce.
Channel monitor: new message coming into the OBM sender channel
Payload of the Outbound message as received by PI.
Outbound Messaging is a very powerful feature to get almost real-time information from Salesforce to SAP. The Advantco SFDC adapter supports this method of data replication with minimal configuration efforts and without the need to implement specific JAVA codes.