WSMakeStubs(開発ツール内)を使用して、SOAPWebサービスにアクセスするためのスタブコードを生成しました。オブジェクトに対して行った呼び出しは、現在ブロックされています。非同期呼び出しを使用しようとしても何も起こらず、実行ループの理解に関係していると確信しています。オブジェクトを初期化し、次のような実行ループでスケジュールしようとします。
BeginPartnerSession *call = [[BeginPartnerSession alloc] init];
[call setParameters:kPartnerID in_Password:kPartnerPassword];
[call setCallBack:self selector:@selector(sessionIDRequestDidFinish:)];
[call scheduleOnRunLoop:[NSRunLoop currentRunLoop] mode:NSDefaultRunLoopMode];
[call release];
実行ループでのスケジューリングのスタブ呼び出しは次のようになります。
- (void) scheduleOnRunLoop:(NSRunLoop*) runloop mode:(NSString*) mode
{
WSMethodInvocationScheduleWithRunLoop([self getRef], [runloop getCFRunLoop], (CFStringRef) mode);
}
[self getRef]を呼び出すと、コールバックを設定した呼び出しオブジェクトが返されます。次に、コールバックはターゲットとセレクターを呼び出すことになっていますが、実行ループを使用してスケジュールを呼び出した後、そのブレークポイントに到達することはありません。実行ループのスケジューリングを正しく機能させるには、何を変更する必要がありますか?
同期呼び出しは正常に機能するため、サーバーの問題ではないと確信しています。