我已經在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天,仍然找到我的腳。