0

私は Delphi で DataSnap サーバーを作成しました。現在、Objective-C で iPhone クライアント アプリを作成してそのデータを使用しています。文字列を返す単純なメソッドを呼び出すだけで簡単に始めています-コードを参照してください:

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 プロパティを設定しないと、サーバーへの接続が試行され、アクティビティを確認できますが、接続は「401: Unauthorized」で失敗します。これは、DataSnap サーバーがユーザー資格情報を必要とするためです。

ユーザー資格情報の有無にかかわらず、Objective-C を使用して DataSnap サーバーに正常に接続した人はいますか?

Xcode を使用してまだ 2 日間しか経っていないので、明らかなことを見落としていたら申し訳ありません。

4

1 に答える 1

0

Just to update this - Embarcadero have confirmed this as a bug in the iOS DataSnap framework and have fixed it. The bug was in DSRESTConnection.m and there is a new fixed version in their sourceforge repository here :

http://radstudiodemos.svn.sourceforge.net/viewvc/radstudiodemos/branches/RadStudio_XE2/Delphi/DataSnap/connectors/

Jonathan

于 2012-02-25T08:48:17.660 に答える