iOS调用线程中的soap函数

时间:2011-08-09 19:34:31

标签: ios web-services soap nsthread sudzc

我是一名新的iOS开发人员,在新线程中调用soap函数时遇到问题。

以下是更多详情:

我有一个调用soap web服务的函数:

WebService *webService = [[[WebService alloc]init]retain];
[webService getUser:self action:@selector(getUserHandler) userName: usnm  encPassword: pswd];

此功能只是从sudzc.com(Great Website!Thanx!)生成的。 只需调用此功能我就可以获得

<user><username>XXX</username><userStatus>XXX</userStatus><companyCode>XXX</companyCode><password>XXX</password></user>

从webservice回来。我的getUserHandler将完美运行。

但如果我想在这样的线程中调用webservice:

[NSThread detachNewThreadSelector:@selector(myMethod) toTarget:self withObject:nil];

-(void)myMethod
{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    NSLog(@"!, %@,%@",usnm,pswd);
    WebService *webService = [[[WebService alloc]init]retain];
    [webService getUser:self action:@selector(getUserHandler) userName: usnm  encPassword: pswd];
    [pool drain];
}

我似乎没有得到returnxml,似乎getUserHandler永远不会启动(我把一个NSLog放在getUserHandler中,但是这次不打印)。

我不知道为什么会这样,

欢迎任何提示!

感谢名单!

1 个答案:

答案 0 :(得分:0)

我强烈建议您按照本教程中所述的方式查看同步 - 异步模式:

Sync-Async Pair Pattern – Easy concurrency on iOS

还有一个问题集中在同一个问题上:

Multiple async webservice requests NSURLConnection iOS

HTH