调用 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数据接受完成");
}