2012-08-06 227 views
0

我正在Salesforce中創建一個與iOS客戶端進行通信的web服務。客戶端已經通過驗證並收到令牌。該應用程序將調用Web服務作爲接收數據。以系統管理員身份登錄後,該應用程序可以順利運行。然而,作爲一個標準用戶登錄時,應用程序失敗,出現以下錯誤:Salesforce 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

403是一個禁止狀態代碼,因此它正在被阻止。 – DaveHogan 2012-08-06 13:56:47

回答

0

排除共享問題的一種方法是嘗試將您的類定義更改爲不共享(或僅僅省略共享,因爲不共享是默認設置)。

global without sharing class MyWebService 
{ 
    ... 
} 

沒有看到任何你的代碼,我猜測它只是一個共享模型問題。但是,例如,如果您的Apex代碼基於活動用戶的配置文件分支不同,那麼這可能也是一個問題。

0

雖然這是舊帖子,對我來說問題是「配置文件無法訪問Apex類」一旦我這樣做了,我得到了 StatusCode = 200消息。希望它能幫助別人。