Apex仅允许在force.com上托管的“原生”应用程序中使用吗?
或者,Apex是否也可用于外部应用程序以点击REST API和批量API等“开放API”?
我认为我的困惑部分在于如何在各种文档中使用术语“Rest API”。在软件世界的其他部分,REST通常是指基于HTTP的协议,用于跨不同域(以及某些格式等)交换数据。但是,我认为销售人员中的Rest API可能有时会引用本机应用程序从force.com中检索salesforce数据的可选方法。这是对的吗?
答案 0 :(得分:4)
不确定我理解你的问题......
Apex可以在内部使用"在:
A"内部"将使用"执行匿名"允许您针对环境触发一次性代码片段的机制。用于新类,数据修复等的原型设计。您可以在Eclipse IDE或Developer Console(名称旁边的右上角)中执行此操作。
最后但并非最不重要 - "外部"的使用。
Apex代码可以作为webservice公开,并由PHP,.NET,Java甚至JavaScript应用程序调用。在以下情况下这是一个不错的选择:
有两种主要方法:
webservice
关键字的全局方法。其他应用程序开始调用这些应用程序的最简单方法是从SF中提取并消耗"所谓的企业WSDL"文件。它是一个巨大的XML文件,可以在.NET应用程序中解析,生成代码,帮助您编写您熟悉的代码。这些生成的类将为您构造XML消息,发送它,处理响应(如果SF发送了错误消息,则抛出您自己的异常)等等。global class MyWebService {
webService static Id makeContact(String lastName, Account a) {
Contact c = new Contact(lastName = 'Weissman', AccountId = a.Id);
insert c;
return c.id;
}
}
您可以在REST API指南中详细了解它们:http://www.salesforce.com/us/developer/docs/apexcode/index_Left.htm#CSHID=apex_rest_methods.htm|StartTopic=Content%2Fapex_rest_methods.htm|SkinName=webhelp