【问题标题】:Catch a SOAP message send by SAP in a Apex Class在 Apex 类中捕获 SAP 发送的 SOAP 消息
【发布时间】:2018-02-06 13:19:22
【问题描述】:

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

我们当前的 SAP - Salesforce 情况有点不同。 SAP 中的每次更改都会从 SAP 发送一条 SOAP 消息。这必须在 Apex 类中捕获。 所以,我需要某种可以捕获 SOAP 消息的侦听器。

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

亲切的问候,

【问题讨论】:

    标签: soap wsdl salesforce sap apex


    【解决方案1】:

    我不使用 SAP,但我的 ERP 系统具有相同的设置。我创建了一个肥皂侦听器,我在本地托管到我的 ERP 系统中,该系统捕获消息。这里的任务只是获取消息,然后将其发布到RabbitMQ 消息队列(这是为了尽快完成来自 ERP 系统的调用)。然后我有一个 RabbitMQ 消费者,它使用SalesforceSharp 库依次处理每条消息。

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

    祝你好运!

    【讨论】:

      【解决方案2】:

      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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多