2012-02-16 109 views
0

我已經在Delphi中編寫了一個DataSnap服務器,現在正在Objective-C中編寫一個iPhone客戶端應用程序來使用它的數據。我開始由簡單的只調用一個簡單的方法返回一個字符串 - 見代碼:RAD XE2 DataSnap - 調用方法在iOS Objective-C中調用方法

NSString *sReverseStr; 
DSRESTConnection *connDSREST; 
TServerMethods *dsClient; 

connDSREST = [[DSRESTConnection alloc] initWithDelegate:self]; 
[connDSREST setHost:@"192.168.0.19"]; 
[connDSREST setPort:80]; 
[connDSREST setProtocol:@"http"]; 
[connDSREST setUserName:@"user"]; 
[connDSREST setPassword:@"pass"]; 

dsClient = [[TServerMethods alloc] initWithConnection:connDSREST]; 
sReverseStr = [dsClient ReverseString:@"Goodbye"]; 

的「ReverseString」方法應返回文本「eybdooG」,但它只是返回空白,我沒有看到DataSnap服務器端的任何連接活動 - 就好像該方法根本沒有被調用。有趣的是,如果我沒有設置DSRESTConnection的UserName和Password屬性,那麼它確實嘗試連接到服務器,並且我可以看到該活動,但由於我的DataSnap服務器需要用戶憑據,因此「401:Unauthorized」連接失敗。

是否有人使用Objective-C成功連接到DataSnap服務器,無論是否帶有用戶憑據?

道歉,如果我錯過了一些明顯的事情,只使用Xcode 2天,仍然找到我的腳。

回答