- (void)viewDidLoad
{
[super viewDidLoad];
NSString *id=@"1";
NSString *GetExRequest = [NSString stringWithFormat:@"<SOAP- ENV:Envelope n"
"xmlns:xsd="http://www.w3.org/2001/XMLSchema" n"
"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" n"
"xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"n"
"SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" n"
"xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> n"
"<SOAP-ENV:Header> n"
"<UserName xmlns="CH1">a1</UserName>n"
"<Password xmlns="CH2">a2</Password>n"
"</SOAP-ENV:Header> n"
"<SOAP-ENV:Body> n"
"<NewsGet xmlns="http://tempuri.org/">n"
"<id>%@</id> n"
"</NewsGet> n"
"</SOAP-ENV:Body> n"
"</SOAP-ENV:Envelope>n", id];
NSURL *url = [NSURL URLWithString:@"https:/www.a.com/Service1.svc"];
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
NSString *msgLength = [NSString stringWithFormat:@"%d",GetExRequest length]];
[theRequest addValue: @"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[theRequest addValue: @"http://tempuri.org/IService1/NewsGet" forHTTPHeaderField:@"Soapaction"];
[theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"];
[theRequest setHTTPMethod:@"POST"];
[theRequest setHTTPBody: [GetExRequest dataUsingEncoding:NSUTF8StringEncoding]];
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
if(theConnection)
{
webData = [[NSMutableData data] init];
}
else
{
NSLog(@"theConnection is NULL");
}
itemArray =[[NSMutableArray alloc] init];
}
-(void)connection:(NSURLConnection *)connection didReceiveData: (NSData *)data
{
[webData appendData:data];
}
你好,我在objective-c上的webservice连接有问题。在3G连接上,我们的连接速度太慢或者不工作。但在WiFi上,我的应用运行得很好。3G连接速度很快,但我不明白为什么会出现这种减速。我应该为3G做一些额外的事情吗?
当我把断点这一节,在3G上的时间,它进入didReceiveData函数。但在wifi上,它总是进入
根据我在许多项目中的经验,您的服务器响应最近可能就是为什么您在3G
连接的设备上得到延迟回复的原因。
所以我的工作是改变默认超时为明确设置超时为我的请求。
检查这个
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:40.0];
使用您的超时以获得正确的响应。