首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只适用于force.com托管的应用程序?

只适用于force.com托管的应用程序?
EN

Stack Overflow用户
提问于 2014-05-30 23:25:23
回答 1查看 75关注 0票数 0

只允许在托管在force.com?上的“本地”应用程序上使用。

或者Apex也可供外部应用程序访问“Open”,如REST和Bulk?

我认为我的部分困惑在于“Rest”在各种文档中是如何使用的。在软件世界的其他部分,REST通常意味着一种基于HTTP的协议,用于跨不同的域(以及某些格式等)交换数据。不过,我认为salesforce中的Rest有时可能会引用本地应用程序从force.com中检索salesforce数据的可选方法。对吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-31 07:01:12

我不太明白你的问题..。

顶点可用于“内部”:

  • 数据库触发器,
    • 采用MVC模式的Visualforce控制器,
    • 分析收到的电子邮件的逻辑,例如,用它们来证明或引导记录,
    • 可以安排在每晚重新计算一些重要内容的异步作业。
    • 您可以通过这些工具类进行代码重用。

一种“内部”方式是使用“执行匿名”机制,允许您针对环境触发一次性代码段。对于新类、数据修复等的原型化非常有用。例如,您可以在Eclipse或开发人员控制台(名称旁边的右上角)中这样做。

最后但并非最不重要的是“外部”用法。

顶级代码可以公开为webservice,并由PHP、.NET、Java甚至JavaScript应用程序调用。这是一个很好的选择:

  • 您希望重用相同的逻辑,例如在您自己的Visualforce页面上,以及在某些移动应用程序中,这些应用程序将传递两个字符串或一个简单的JSON对象。
  • 而不是在每一个新的应用程序中重新实现逻辑,然后维护它。
  • 想象一下在一次访问中插入帐户和联系人--如果联系人无法加载,您的移动设备将不得不执行一些事务控制并删除Acc。凌乱。并且会浪费更多的API调用(插入acc、insert con、ooops、delete acc)。使用一个作为webservice公开的方法,您可以在您的Apex代码中接受这两个参数,执行您的魔术,如果它失败--它都在一个事务中,因此SF将为您回滚它。

主要有两种方法:

  • SOAP 主要使用使用webservice关键字标记的全局方法。其他应用程序开始调用这些文件的最简单方法是从SF中提取并“消费”所谓的“企业WSDL”文件。它是一个巨大的XML文件,可以在您的.NET应用程序中进行解析,以生成有助于您编写熟悉的代码的代码。这些生成的类将为您构造XML消息,发送它,处理响应(如果SF发送了错误消息,则抛出您自己的异常)等等。

非常简单的例子

代码语言:javascript
复制
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 允许您做类似的事情,但是您需要使用正确的HTTP谓词("PUT“最好用于插入,”修补程序“用于更新”,“删除”等等)。

您可以在REST指南中阅读更多有关它们的内容:methods.htm|SkinName=webhelp

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23964767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档