在Apex类

时间:2018-02-06 13:19:22

标签: soap wsdl salesforce sap apex

我需要有关当前SAP - Salesforce情况的指导。 我们已经实现了一些出站HTTP请求类。 但是,在这些类中,Salesforce确定何时运行该类,以及何时执行标注。

我们目前的SAP - Salesforce情况略有不同。 SAP中的每个更改都会从SAP发送SOAP消息。这必须在Apex Class中捕获。 所以,我需要某种能够捕获SOAP消息的监听器。

您是否有任何信息指明我正确的方向?或者甚至是一个可以用来理解最佳解决方案的例子?

亲切的问候,

2 个答案:

答案 0 :(得分:1)

我不使用SAP,但我的ERP系统设置相同。我创建了一个肥皂监听器,我在本地托管我的ERP系统,捕获消息。这里的任务是简单地接收消息,然后将其发布到RabbitMQ消息队列(这样就可以尽快完成ERP系统的标注)。然后我有一个RabbitMQ使用者,它使用SalesforceSharp库依次处理每个消息。

该解决方案可直接在没有RabbitMQ的Soap项目中运行 - 当然是作为POC。

祝你好运!

答案 1 :(得分:0)

Salesforce有一个SOAP API,您可以通过导航到 API 页面在安装程序中生成WSDL。详情请见:

https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_quickstart_steps_generate_wsdl.htm

有关SOAP API的更多详细信息,请参阅此处的文档:

https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_quickstart_intro.htm

如果SOAP API不是您正在寻找的,您可以创建一个公共REST API并以这种方式使用消息。我建议使用Connected App Token保护这样一个REST端点,并对Connected App强制实施受限域访问。在这里查看更多详细信息:

https://developer.salesforce.com/page/REST_API https://help.salesforce.com/articleView?id=connected_app_overview.htm&type=5