捕捉/查看来自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)中构建?
假设你有一个不会改变的公共IP地址,端口没有被防火墙阻塞等…
将IP地址添加到Salesforce中的远程站点设置。这将使callout成为您的端点。
对于如何处理入站HTTP请求,. net中有非常广泛的选项。您是要在IIS中托管它,还是只想在命令行中打开端口运行?
它可以像一个Web应用程序一样简单,检查HTTP请求并从正文中读取名称。