2012-02-16 110 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天,仍然找到我的脚。

回答