调用 webserivce的方法
//异步请求 NSURLConnection *theConnection = [[[NSURLConnection alloc] initWithRequest:urlRequest delegate:self] autorelease]; if (theConnection) { // Create the NSMutableData that will hold // the received data // receivedData is declared as a method instance elsewhere self.receivedData=[[NSMutableData data] retain]; } else { }
其中 receivedData 是定义在 .h 文件中的 NSMutalbeData 类型
要实现4个方法 ,分别在 调用时候,发生错误,获得数据,调用完成的时候触发
//如果调用有错误,则出现此信息 -(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error { DLog(@"ERROR with theConenction:%@",error ); } //开始调用请求 - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { // store data DLog(@"didReceiveResponse"); [self.receivedData setLength:0 ]; //通常在这里先清空接受数据的缓存 } //调用成功(大数据量的时候可能会多次调用),获得soap信息 -(void) connection:(NSURLConnection *) connection didReceiveData:(NSData *)responseData { DLog(@"(在大数据量的时候,可能是一部分)获取的返回responseData 是:%@",[[[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding] autorelease]); [self.receivedData appendData:responseData]; } - (void) connectionDidFinishLoading:(NSURLConnection *) connection { DLog(@"%d",[self.receivedData length]); NSString * wsReturnValueString = [[NSString alloc] initWithData:self.receivedData encoding:NSUTF8StringEncoding]; DLog(@"webserivce 调用结束,收取到的 全部报文是:%@",wsReturnValueString ); DLog(@"WebService数据接受完成"); }