我正在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上直接登录时尝试提取相同数据,则没有问题。
有什么想法吗?
答案 0 :(得分:0)
排除共享问题的一种方法是尝试将您的类定义更改为不共享(或者只是省略共享,因为默认情况下不共享)。
global without sharing class MyWebService
{
...
}
如果没有看到任何代码,我会猜测这只是一个共享模型问题。但是,例如,如果您的Apex代码根据活动用户的个人资料分支不同,那么这也可能是一个问题。
答案 1 :(得分:0)
虽然这是老帖子,但对我来说问题是“Profile无法访问Apex类”一旦我这样做了,我得到了 StatusCode = 200消息。希望它可以帮助某人。