Salesforce webservice失败

时间:2012-08-06 13:53:15

标签: rest salesforce apex-code

我正在salesforce中创建一个与iOS客户端通信的webservice。客户端已经过身份验证并收到了令牌。该应用程序将调用Web服务作为接收数据。以系统管理员身份登录后,应用程序可以顺利运行。但是,当以标准用户身份登录时,应用程序将失败,并显示以下错误:

2012-08-06 08:44:13.827 myApp[74075:fb03] Request Failed with Error: Error Domain=com.alamofire.networking.error Code=-1011 "Expected status code in (200-299), got 403" UserInfo=0x8246410 {NSErrorFailingURLKey=https://xxxx-full.cs3.my.salesforce.com/services/apexrest/mobileServices/v1/SystemDataRecords, NSLocalizedDescription=Expected status code in (200-299), got 403}, {
   NSErrorFailingURLKey = "https://xxxx--full.cs3.my.salesforce.com/services/apexrest/mobileServices/v1/SystemDataRecords";
   NSLocalizedDescription = "Expected status code in (200-299), got 403";
}

显然这让我觉得它与共享模型有关。但是,如果标准用户在salesforce.com上直接登录时尝试提取相同数据,则没有问题。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

排除共享问题的一种方法是尝试将您的类定义更改为不共享(或者只是省略共享,因为默认情况下不共享)。

global without sharing class MyWebService
{
   ...
}

如果没有看到任何代码,我会猜测这只是一个共享模型问题。但是,例如,如果您的Apex代码根据活动用户的个人资料分支不同,那么这也可能是一个问题。

答案 1 :(得分:0)

虽然这是老帖子,但对我来说问题是“Profile无法访问Apex类”一旦我这样做了,我得到了 StatusCode = 200消息。希望它可以帮助某人。