SalesForce集成-在SF对象定义更改时通知外部系统 [英] SalesForce integration - notify external system on SF object definition change

查看:112
本文介绍了SalesForce集成-在SF对象定义更改时通知外部系统的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们拥有使用SF SOAP API与SalesForce集成的软件.在用户级别上向SF发送数据或从SF接收数据时,我们必须知道允许用户访问哪些SF对象和对象字段(基于SF可见性规则).因此,我们首先调用describeSObject(objName)并将其存储到我们的缓存中以加快集成速度.

We have a software that is integrated with SalesForce using SF SOAP API. As we are sending/receiving data to/from SF on user level, we must know which SF objects and object fields is user allowed to access (based on SF visibility rules). Therefore, we first invoke describeSObject(objName) and store it to our cache to speed up integration.

发生的事情是,当我们的客户更改可见性规则或在SF端重命名对象字段时,他们必须使我们的应用程序中的缓存无效.如果他们忘记这样做了(并且通常这样做),那么我们就不会知道我们的缓存无效.

What happens is, when our clients change visibility rules or rename object fields on SF side, they must invalidate cache in our application. If they forget to do that (and they usually do), we are not aware that our cache is invalid.

问题:当可见性规则更改或添加/删除/重命名对象字段时,是否有一种方法可以从SF调用我们的Web服务?如果可能的话,由于SF中的可见性规则非常复杂,我们如何区分受更改影响的用户(因此我们不会使所有人的缓存均无效)?

Question: is there a way to invoke our web service from SF when visibility rules changes, or object field is added/deleted/renamed? If that is possible, as visibility rules in SF are quite complex, how can we differ which users are affected by change (so we do not invalidate cache for everyone)?

推荐答案

我怀疑您目前不能.

作为替代,捕获由于元数据不匹配而发生的异常,并刷新该用户的本地缓存.然后使用更新的元数据重试原始请求.

As an alternative, catch the exceptions that occur due to the metadata mismatch and flush the local cache for that user. Then retry the original request with the updated metadata.

这篇关于SalesForce集成-在SF对象定义更改时通知外部系统的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆