捕捉/查看来自Salesforce Apex Callout的http POST

本文关键字:Callout Apex http POST Salesforce 捕捉 | 更新日期: 2023-09-27 18:17:46

在这篇文章之后,我试图创建一个从Salesforce到webservice (. net)的Apex Callout -或者可以接收post的东西。

作为新的我不确定如何捕获从Salesforce发送的Http POST。也就是说,我在Salesforce中有一个Apex类它在Account insert:

时被触发
public class WebServiceCallout {
    @future (callout=true)
    public static void sendNotification(String name) {
        HttpRequest req = new HttpRequest();
        HttpResponse res = new HttpResponse();
        Http http = new Http();
        req.setEndpoint('http://localhost');
        req.setMethod('POST');
        req.setBody('name='+EncodingUtil.urlEncode(name, 'UTF-8'));
        req.setCompressed(true); // otherwise we hit a limit of 32000
        try {
            res = http.send(req);
        } catch(System.CalloutException e) {
            System.debug('Callout error: '+ e);
            System.debug(res.toString());
        }
    }
}

逻辑上,req.setEndpoint('http://localhost');应该替换为我的IP和一个可接受的端口。

如果我想抓住这个POST什么项目需要在Visual Studio (.Net)中构建?

捕捉/查看来自Salesforce Apex Callout的http POST

假设你有一个不会改变的公共IP地址,端口没有被防火墙阻塞等…

将IP地址添加到Salesforce中的远程站点设置。这将使callout成为您的端点。

对于如何处理入站HTTP请求,. net中有非常广泛的选项。您是要在IIS中托管它,还是只想在命令行中打开端口运行?

它可以像一个Web应用程序一样简单,检查HTTP请求并从正文中读取名称。